mdbへのレコード追加

解決


たけし  2003-11-11 01:54:05  No: 80347

おせわになります。

sample.mdbには
テーブル「T_商品」
があり、その中には、「商品名」、「単価」  というフィールドがあるとします。

そのmdbファイルをVBを使って追加していきたいと思います。
vbにはフォームオブジェクト「form_入力」
の中に

・テキストボックス「商品名」「単価」
・コマンドボタン「入力」があります。

入力を押したとき、sample.mdbに商品名と単価のレコードが追加されるようにしたいのです。

Private Sub 入力_Click()
の後に来るコードをズバリ教えて頂けますでしょうか。
本来したい処理とは少し違いますが、adoというものの概念でつまづいてますので、これが分かれば他にも応用できそうな気がします。

ホントにお手数ですが、ズバリ答えて頂きたいと思いますm(__)M


1412  2003-11-11 03:03:24  No: 80348

# ズバリ、ズバリ...あなたは丸尾くんですか?
未確認ですが、次のような感じだと思います。
他にもクエリを使う方法などがありますが...

Private Sub 入力_Click()
  Dim cn  As ADODB.Connection
  Dim rs  As ADODB.Recordset
  Set cn = New ADODB.Connection
  cn.Open "Provider=Microsoft.Jet.OLEDB.3.51;Data Source=C:\sample.mdb;"
  Set rs = New ADODB.Recordset
  With rs
    .CursorType = adOpenDynamic
    .LockType = adLockOptimistic
    .Open "T_商品", cn, , , adCmdTable
    
    .AddNew
    .Fields("商品名") = txt商品名.Text
    .Fields("単価") = txt単価.Text
    .Update
  End With
  rs.Close: Set rs = Nothing
  cn.Close: Set cn = Nothing
End Sub


たけし  2003-11-11 18:44:26  No: 80349

1412さん
お答え頂きありがとうございました。
上記のようにして行ったところ、
「c\sample.mdbを認識できません」というエラーが出ました。
もちろん、この場所にmdbをおいております。

なにが間違っているのか検討つきません。


RL  2003-11-11 19:49:23  No: 80350

それくらいのことは自分で調べろ


たけし  2003-11-11 20:14:24  No: 80351

RLさん

  そうですね、確かに自分で調べるべきですよね。
mdbのバージョンが違うんではないか  とか、色々ヘルプ等を参考に
調べてみます。

  もしヒントか何かおありでしたら教えて頂きたいなと思います。

このような初歩な質問をしたことで不快な方が見えましたら大変申し訳ありませんでした。


1412  2003-11-11 20:24:59  No: 80352

Access 2000 ですか?
私の挙げた例は Access 97 用です。


たけし  2003-11-11 20:45:13  No: 80353

1412さん

  こんにちは。
ACCESS2000  or  2002での使用となります。
もしかして、VBのサービスパックを当てないと行けないのかもしれません。。


1412  2003-11-11 22:10:36  No: 80354

Provider を
Microsoft.Jet.OLEDB.3.51
から
Microsoft.Jet.OLEDB.4.0
にすれば大丈夫なはずです。


たけし  2003-11-12 01:16:05  No: 80355

1412さん

  どうもありがとうございました^^
無事接続、追加出来ました!
これで今後のシステム開発への一歩を踏み出せそうです。
これから先は出来るだけ自分で解決するように致します。

どうもご協力頂きましてありがとうございました(゜∀゜)


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加