我试图简单地将表或表名传递给要在查询中使用的函数。问题是我不知道整个表使用什么数据类型。
我的代码看起来像这样
querytable MyTable, SomethingElse
Sub querytable(table As String, string As String)
query1 = "insert into " & table & "(TABLEFIELD) values (" & string & ")"
DoCmd.RunSQL query1
End Sub
这对我不起作用,非常感谢任何帮助。
答案 0 :(得分:3)
对于您在此处尝试执行的操作,您需要将表名称作为字符串传递。
您的代码并未遵循许多常见惯例,包括避免在代码中使用保留字。
尝试确保在使用之前声明所有变量。在所有模块的顶部使用Option Explicit。并且始终使用变量以外的数据类型声明变量。
您可以尝试看起来像这样的代码:
Call InsertInto sTableName, sData
'or
'Call InsertInto "ActualTableName", "SomeValue"
Public Sub InsertInto(ByVal sTable As String, ByVal sValue As String)
Dim sSQL as String
sSQL = "INSERT INTO " & sTable & "(CompanyName) VALUES (" & sValue & ")"
Debug.Print sSQL
CurrentDb.Execute sSQL, dbFailOnError
End Sub