VB 链接Access数据库
关于字段名作为变量来接收传进来的参数
Question:
Sub Insert_data(Row_num As Integer, Value_Change As String, tpye_Chane As String, Team As Integer)
Dim cn0 As New ADODB.Connection
Dim rs0 As New ADODB.Recordset
db_path0 = App.Path
If rs0.State <> adStateClosed Then rs0.Close
cn0.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & db_path0 & "\SearchBase.mdb"
Select Case tpye_Chane
'Case "Insert"
' sql0 = "Insert INTO Address ([ID],[AMD],[BQ],[RNW],[OB],[HPS],[Links])values('" & ItemNo & "','" _
' & CaptionText & "','" & AddressLink & "')"
Case "Change"
sql0 = "Update HarbSupport set [BQ]='" & Value_Change & "' where [NO]=" & Row_num & ""
Form1.MSHFlexGrid1.Refresh
Case other
End Select
rs0.Open sql0, cn0, adOpenDynamic, adLockOptimistic
cn0.Close
End Sub
其中这句:
sql0 = "Update HarbSupport set [BQ]='" & Value_Change & "' where [NO]=" & Row_num & ""
我想将字段名称[BQ]作为一个变量来接收由 Team 这个变量传递进来的参数
我将 [BQ] 替换成可以接收参数的'" & Team & "'
sql0 = "Update HarbSupport set '" & Team & "'='" & Value_Change & "' where [NO]=" & Row_num & ""
这么写为什不对呢,我是个新人,希望大家多多关爱一下。非常感谢。
Answer:
sql0 = "Update HarbSupport set " & Team & " = '" & Value_Change & "' where [NO]=" & Row_num & ""
把Team两边的单引号去掉!~ 你这个变量是字段,不是值!~ 只有字符型的值才需要两遍的单引号!~