|
嘿,给你举个简单的例子。
你设计了一个窗口,然后上面有个组合框(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语句真的很长啊! |
|