• 締切済み

Visual Basic SQL INSERT ADO

VisualBasic6.0 を使用しています。 SQLのINSERT文についての質問なのですが、 フォームのテキストに記入された内容を新規のレコードとしてデータベースに登録する場合、どのようなプログラムを組めばよいのでしょうか? 下記のように組んでみたのですが、エラー(実行時エラー'-2147217904(80040e10)':一つ以上の必要なパラメータの値が設定されていません)がでてしまいます。 以下のプログラムでは、 Form4の.Text1~7にユーザーが記入した情報をデータベースのM_USERというテーブルの新レコードとして追加しようとしています。 Private Sub Command1_Click() Dim objcon As ADODB.Connection Dim objrec As ADODB.Recordset Dim strConnectString As String Dim strMDBFilePath As String Dim strSQL As String strMDBFilePath = "C:\Documents and Settings\Watanabe Ryota\デスクトップ\新ダイエット\diet.mdb" strConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strMDBFilePath & ";" Set objcon = New ADODB.Connection objcon.Open strConnectString strSQL = "INSERT INTO M_USER(U_ID,U_NAME,U_PASS,U_SIZES1,U_SIZES2,U_CAL,U_IKIGOMI) VALUES(Form4.Text1,Form4.Text2,Form4.Text3,Form4.Text4,Form4.Text5,Form4.Text6,Form4.Text7)" Set objrec = objcon.Execute(strSQL) End Sub おねがいします。

みんなの回答

  • dsuekichi
  • ベストアンサー率64% (171/265)
回答No.3

> 同じように、1箇所ずつ文字列を区切って、「&」でつないでください。 に、追記。 文字列型の項目の場合、「'~'」で括ってやらないと、エラーになります。 また、指定された文字列が「'」を含む場合、「''」に置き換えないと、やはりエラーに・・・

  • dsuekichi
  • ベストアンサー率64% (171/265)
回答No.2

「文字列の中」に変数名やプロパティを直接記述しても駄目です。 例えば、 > strConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strMDBFilePath & ";" も、 > strConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=strMDBFilePath;" こう書いたてしまったら、ちゃんと動かないですよね? 同じように、1箇所ずつ文字列を区切って、「&」でつないでください。

  • unamana19
  • ベストアンサー率62% (56/89)
回答No.1

Debug.Print strSQL として、strSQLの内容を確認してみてください。

関連するQ&A