在FORM上建了1个Button控件和2个textbox控件。可是调试的结果是FROM字句语法错误。不知道为什么。
付上源代码:请高手指教。第一次写VB~
Dim a As String
Dim b As StringPrivate Sub Command1_Click()
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim cnn As String
cnn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Downloads\2\Web1.mdb;Persist Security Info=False"
cn.Open cnn
Set rs = cn.Execute("SELECT sign FROM user WHERE UserName = a")
b = rs(sign)
End SubPrivate Sub Text1_KeyPress(KeyAscii As Integer)
a = KeyAscii
End SubPrivate Sub Text2_Change()
Text2.Text = b
End Sub

解决方案 »

  1.   

    SELECT sign FROM user WHERE UserName = 'a'"
      

  2.   

    ("SELECT sign FROM user WHERE UserName = a")撇開其他問題,至少也應該是這樣("SELECT sign FROM user WHERE UserName = '" & a & "'")
      

  3.   

    SELECT sign FROM [user] WHERE UserName = 'a'
      

  4.   

    SELECT sign FROM [user] WHERE UserName = '"& a &"'
      

  5.   

    现在提示为 Item cannot be found…………
      

  6.   

    sikeen(阿士):说的有道理,如果你在user表中定义的字段Username是一个字
    符型的,应该用sikeen那样的形式,如果你用的是字段是数字的话则是如下的
    形式:("SELECT sign FROM user WHERE UserName = " & a )如果是日期
    或其它形式,则更复杂一些,如果是图像的话,则要做相应的处理.
    另外,你的变量a接收的是一个数字,即你敲的是A的话,实际上是A的ASCII,
    好象是97(我没记住),前不是字符 'A'
    我觉得上面的过程,你的本义是:'这2句可以删去
    'Dim a As String
    'Dim b As StringPrivate Sub Command1_Click()
    Dim cn As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    Dim cnn As String
    cnn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Downloads\2\Web1.mdb;Persist Security Info=False"
    cn.Open cnn
    Set rs = cn.Execute("SELECT sign FROM user WHERE UserName ='" & text1 & "'")
    text2 = rs!sign
    End Sub
      

  7.   

    那text2的textbox控件怎么显示内容的?
      

  8.   

    "select sing from [user] where username='" & a & "'"
      

  9.   

    数据量是否特别大(例如图象与声音文件)?在连接建立之后,TCP 协议将维护连接并确保数据的完整性。不过,这种连接需要更多的计算资源,因而是比较“昂贵”的。
      

  10.   

    text2 = rs!sign
    这句话就是给text2的text属性赋值
      

  11.   

    "select sign from [user] where username='" & a & "'"
    text2.text=rs!sign &""
      

  12.   

    '再改一下
    "select sign from [user] where username='" & a & "'"
    if rs.recrodcoutn>0 then
        text2.text=rs!sign &""
    else
        text2.text=""
    end if
      

  13.   

    我认为可能因为类型不符,造成该语句执行错误,尤其下面事件过程有问题,我只是试试。
    Private Sub Text1_KeyPress(KeyAscii As Integer)
    a = KeyAscii
    End Sub
      

  14.   

    改成这样
    Set rs = cn.Execute("SELECT sign FROM user WHERE UserName = '" & a & "'")a 是字符变量哦
      

  15.   

    Private Sub Command1_Click()
    Dim cn As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    dim SQL as string
    Dim cnn As String
    cnn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Downloads\2\Web1.mdb;Persist Security Info=False"
    cn.Open cnn
    SQL="SELECT sign FROM user WHERE UserName ='" + trim(text1) + "'"
    rs.Open SQL, CNT, adOpenKeyset, adLockPessimistic
    text2 = rs.fields("sign")
    End Sub
      

  16.   

    把user用[]挎起来要不还会有错误的[user]
      

  17.   

    Dim a As String
    Dim b As StringPrivate Sub Command1_Click()
    Dim cn As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    Dim cnn As String
    cnn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Downloads\2\Web1.mdb;Persist Security Info=False"
    cn.Open cnn
    Set rs = cn.Execute("SELECT sign FROM user WHERE UserName = 'a'")
    if rs.recordcount>0 then
        b = rs.fields(0)
    end if
    End SubPrivate Sub Text1_change()
    a = text1.text
    End SubPrivate Sub Text2_Change()
    Text2.Text = b
    End Sub
      

  18.   

    不能用USER这个字段命名,这是VB的专用的字