私はAuditというSQLテーブルを持っています。この表には、UNとCNという2つのフィールドがあります。私のサーバー名はanaliveで、DBはDW_ALLです。私はエクセルでユーザー名とコンピュータ名をキャプチャしようとしています。私のワークブックやシートをアクセスしたりオープンしたりして、その監査情報をSQLテーブルに書き出します。excel VBAを使用してSQLテーブルに書き込む方法
Sub UpdateTable()
Dim cnn As ADODB.Connection
Dim uSQL As String
Dim strText As String
Dim strDate As Date
strText = ActiveSheet.Range("b4").Value
''strDate = Format(ActiveSheet.Range("c4").Value, "dd/mm/yyyy")''
Set cnn = New Connection
cnnstr = "Provider=SQLOLEDB; " & _
"Data Source=icl-analive; " & _
"Initial Catalog=DW_ALL;" & _
"User ID=ccataldo;" & _
"Trusted_Connection=Yes;"
cnn.Open cnnstr
''uSQL = "INSERT INTO tbl_ExcelUpdate (CellText,CellDate) VALUES ('" & strText & "', " & strDate & ")"''
''uSQL = "INSERT INTO Audit (UN,CN) VALUES (MsgBox Environ("username"), MsgBox Environ("username""''
uSQL = INSERT INTO Audit (UN,CN) VALUES ('MsgBox Environ("username") ', 'MsgBox Environ("username"'))
Debug.Print uSQL
cnn.Execute uSQL
cnn.Close
Set cnn = Nothing
Exit Sub
End Sub
あなたの投稿を再読します。私はあなたの問題を正しく理解したことがもはや分かりません。エラーコードを投稿して、担当する回線を教えてください。 –
エラーは何ですか?ワークブックを他の人と共有する場合、ユーザー/パスをハードコードする必要はありませんか?もしそうなら、マクロをロックアウトして、読めないようにすることを忘れないでください。 https://stackoverflow.com/questions/272503/how-do-i-remove-the-password-from-a-vba-project – JiggsJedi
また、最善の策はSQLアカウントを作成して使用することですあなたのために挿入を行うストアドプロシージャでの実行を除き、NO権限。 – JiggsJedi