Office中国论坛/Access中国论坛

标题: 请问:如何在access中使用sql语言? [打印本页]

作者: wwzy    时间: 2003-7-13 19:10
标题: 请问:如何在access中使用sql语言?
q
作者: 竹笛    时间: 2003-7-14 06:08
http://www.accessoft.com/cuxun_01.asp
作者: tof    时间: 2003-7-31 07:44
连接不上
作者: 阿罗    时间: 2003-7-31 08:29
嘿,给你举个简单的例子。

你设计了一个窗口,然后上面有个组合框(combo),要求显示的是所有法国客户公司名称,按字母顺序排列。除了在窗口设计中做外,现在要你自己写sql,也很简单:

先把组合框放到窗体上面,假定这个组合框名称为cbo_test,然后在窗体的加载模块中,你加入这样的程序:

dim strSql as string
strSql = "SELECT id, company_name FROM customers WHERE country = 'FRANCE'"
cbo_test.rowsource = strSql
cbo_test.requery

上面假定表名称为customers,其中id为主键。

另外,窗体设计时,组合框的设计属性中,将列数设置为2,列宽设置为0;2.5或者干脆就是0;只是不要忘记那个;号。当然你也可以在程序中设置属性。至于这些设置的原因,你多试一些例子就知道了。

又例如你要增加一条记录,可以这样写
dim strSql as string
strSql = "INSERT INTO customers (company_name, country) VALUES ('A New Company', 'GEMANY')"
doCmd.RunSql strSql

基本上就是这样子了。当你深入进去以后,会发现很容易。要点还是在构造sql查询这里。

下面,再来看一段稍微复杂点的例子,在这个例子中,我有一个文本框txtBuyerNum,我想在里面输入客户货号,然后,每次我输入一个字符,就找出以这些字符开头的货号,并在列表框itemListBox里面列出来:(例如,我输入了3,放开键盘,所有3开头的货号都列了出来,然后我键盘再输入A,列出的结果是3A开头的货号。。。)

Private Sub txtBuyerNum_KeyUp(KeyCode As Integer, Shift As Integer)
    Dim strSQL As String
    strSQL = "SELECT productID, articleNum AS 货号, buyerNum AS 客户货号, factoryNum AS 工厂货号, description AS 简要描述 FROM product"
    strSQL = strSQL & " WHERE buyerNum LIKE '"
    strSQL = strSQL & txtBuyerNum.Text & "%'"
    strSQL = strSQL & " ORDER BY buyerNum"
    itemListBox.RowSource = strSQL
    itemListBox.Requery
End Sub

现在你知道为什么要dim strSQL as string了,否则,构造一个sql语句真的很长啊!
作者: jerrysun    时间: 2009-8-10 22:03
不能直接使用sql语句吗?




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3