おせわになります。
sample.mdbには
テーブル「T_商品」
があり、その中には、「商品名」、「単価」 というフィールドがあるとします。
そのmdbファイルをVBを使って追加していきたいと思います。
vbにはフォームオブジェクト「form_入力」
の中に
・テキストボックス「商品名」「単価」
・コマンドボタン「入力」があります。
入力を押したとき、sample.mdbに商品名と単価のレコードが追加されるようにしたいのです。
Private Sub 入力_Click()
の後に来るコードをズバリ教えて頂けますでしょうか。
本来したい処理とは少し違いますが、adoというものの概念でつまづいてますので、これが分かれば他にも応用できそうな気がします。
ホントにお手数ですが、ズバリ答えて頂きたいと思いますm(__)M
# ズバリ、ズバリ...あなたは丸尾くんですか?
未確認ですが、次のような感じだと思います。
他にもクエリを使う方法などがありますが...
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
1412さん
お答え頂きありがとうございました。
上記のようにして行ったところ、
「c\sample.mdbを認識できません」というエラーが出ました。
もちろん、この場所にmdbをおいております。
なにが間違っているのか検討つきません。
それくらいのことは自分で調べろ
RLさん
そうですね、確かに自分で調べるべきですよね。
mdbのバージョンが違うんではないか とか、色々ヘルプ等を参考に
調べてみます。
もしヒントか何かおありでしたら教えて頂きたいなと思います。
このような初歩な質問をしたことで不快な方が見えましたら大変申し訳ありませんでした。
Access 2000 ですか?
私の挙げた例は Access 97 用です。
1412さん
こんにちは。
ACCESS2000 or 2002での使用となります。
もしかして、VBのサービスパックを当てないと行けないのかもしれません。。
Provider を
Microsoft.Jet.OLEDB.3.51
から
Microsoft.Jet.OLEDB.4.0
にすれば大丈夫なはずです。
1412さん
どうもありがとうございました^^
無事接続、追加出来ました!
これで今後のシステム開発への一歩を踏み出せそうです。
これから先は出来るだけ自分で解決するように致します。
どうもご協力頂きましてありがとうございました(゜∀゜)
ツイート | ![]() |