wxchenlin 发表于 2006-1-1 00:24:00

VBA中二级列表数据库连接的问题

<P>大侠,感谢您打开我的问题!</P>
<P>首先申明,我已在帮助文件中翻关于过此类问题的帮助,但由于本人能力有限,只能请您帮忙!问题如下:</P>
<P>我现在做两个复合框ComboBox,分别是大类和小类,均从数据库中读出,大类为命名为combobox1,小类命名为combobox2 ,先选择大类,从中取值为combobox1.text,此值取出没问题,我可以在旁边Textbox中显示 combobox1.txt,关键问题是下面,我用如下语句:</P>
<P>&nbsp;&nbsp;&nbsp; Set rss = New Recordset<BR>dim&nbsp;a&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>a=combobox1.text<BR>Dim ssql As String<BR>&nbsp; ssql = "select * from smallclass where bigclassname='a'"<BR><FONT color=#00ffff>&nbsp;'ssql = "select * from smallclass where bigclassname='不锈钢' "</FONT>&nbsp;&nbsp;<FONT color=#1ae61a> '如果直接代不锈钢则运行没问题<BR></FONT>&nbsp;&nbsp;&nbsp; rss.Open ssql, conn, adOpenDynamic, adLockOptimistic<BR>&nbsp;&nbsp;&nbsp; Dim i As Integer<BR>&nbsp;&nbsp;&nbsp; rss.MoveFirst<BR>&nbsp;&nbsp;&nbsp; For i = 0 To rss.RecordCount - 1<BR>&nbsp;&nbsp;&nbsp; ComboBox1.AddItem rss.Fields("smallclassname")<BR>&nbsp;&nbsp;&nbsp; ListBox.AddItem rss.Fields("smallclassname")<BR>&nbsp;&nbsp;&nbsp; If Not rss.EOF Or rss.BOF Then<BR>&nbsp;&nbsp;&nbsp; rss.MoveNext<BR>&nbsp;&nbsp;&nbsp; End If<BR>&nbsp;&nbsp;&nbsp; Next i</P>
<P>以上程序运行出错,显示错误为:“BOF或EOF中有一个为真,或者当前的记录已被删除,所需的操作要求一个当前的记录!”我自我判断是由于定义的ssql 为string,而取值的combox1.text不为string,所以程序无法运行,请各位高手献计</P>

雪山飞狐_lzh 发表于 2006-1-1 21:18:00

ssql = "select * from smallclass where bigclassname='" &amp; a &amp; "'"<BR>

wxchenlin 发表于 2006-1-3 14:33:00

lzh741206发表于2006-1-1 21:18:00static/image/common/back.gifssql = \"select * from smallclass where bigclassname='\" &amp; a &amp; \"'\"

厉害,不亏是斑竹,一分钟时间底我的一个晚上!谢谢!<BR>
页: [1]
查看完整版本: VBA中二级列表数据库连接的问题