Dim ws As DAO.Workspace, db As DAO.Database
Dim rs As DAO.Recordset
' デフォルトのワークスペースを定義する
Set ws = DBEngine.Workspaces(0)
' ODBC接続文字列を指定してデータベースを開く
Set db = ws.OpenDatabase("", False, False, _
"DSN=SQL_K;ODBC;Driver={SQK_K};" & _
"SERVER=(local);DATABASE=pubs;" & _
"UID=*****;PWD=*****;"
' SQLステートメントを指定してレコードセットを作成する
Set rs = db.OpenRecordset("select * from TWSQLK1",dbOpenDynaset, dbSeeChanges)
このレコードセットは正常に行きますが
直接SQLを記述する方法が、わかりません
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
連発で失礼します
もしかしてSQL文に間違いがありませんか?
SQL文をコピーして新規クエリーに貼り付けると
正しいかどうかテストできます
うまくいかないソースコードも教えてください。
お願いします。
No.2
- 回答日時:
前記のヘルプはVBの場合でした。
すみません。Access2000の場合はVBAのヘルプから
質問に"Execute"と入力。
下の一覧のExecuteメソッド(なぜか複数でる、ADOじゃないものの中の)以下の内容が書いてる説明を読んでください。
"指定した Connection オブジェクトや Database オブジェクトで、アクション クエリーまたは SQL ステートメントを実行します。"
まず
>Dim ws As DAO.Workspace, db As DAO.Database
ここですが2行にしましょう。おまじないです。
Dim ws As DAO.Workspace
Dim db As DAO.Database
...
Dim strSQL As String '追加です
...
Set db= .....
'の後、削除の場合
strSQL="delete * from TWSQLK1 where キー=条件"
'UODATE,INSERTなどのSQL文は独学してくださいね。
db.Execute strSQL, dbFailOnError
※dbFailOnErrorはエラーが発生すると更新をロールバックします。これも前述のヘルプを参照ください。
No.1
- 回答日時:
こんにちは
>直接SQLを記述する方法が、わかりません
とのことですが?
1.直接UPDATEやINSERTをする方法という意味ですか?
2.それともレコードセットに対して更新ですか?
3.上記以外ですか?
1.ならdb.Executeというメソッドを使います。
詳しくはヘルプの"Execute メソッド"を参照ください
2.なら、
rs.edit(更新)またはrs.addnew(追加)
rs.fields("項目名")=hogehoge
rs.update
という具合です。
詳しくはヘルプ(MSDNライブラリ)の
Visual Basic ドキュメント
+Microsoft DAO3.51
にありますので見てね
この回答への補足
申し訳ありませんがExcute メソッドを参照しましたが
いまいちうまくいきません、
できましたら、簡単にソースコードを記述してもらえると助かります
やりたいことは1番の方法で やりたいですが
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Access(アクセス) 実行時エラー3131 FROM 句の構文エラーです について 7 2022/06/13 15:45
- Visual Basic(VBA) ACCESS DAO で不要なテーブルのフィールド(列)の削除 4 2022/06/23 12:13
- Access(アクセス) docmd.gotorecordを起動するには 5 2022/06/17 15:20
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) Excel vbaについての質問 3 2023/04/18 16:14
- Visual Basic(VBA) データベースから絞り込んでデータを読み込み 1 2023/02/21 19:51
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
パワーポイントの画面がずれる
-
Excelにメールを添付する
-
Excelで隠れてしまった図...
-
excelでチェックボックスが表示...
-
パワーポイントにエクセルの表...
-
テキストボックスがないのに、...
-
Excelの中にExcelのオブジェク...
-
pdf xchange viewer オブジェク...
-
ExcelでB5をA4にしたい。
-
イラストレーターで水面の網目模様
-
LOTUS NOTES アーカイブフォル...
-
メタセコイアのポリゴン数とワ...
-
エクセルで作成したものをワードに
-
AfterEffectsでAltキーを押しな...
-
illustrator 別ファイルの同じ...
-
オートシェイプが消えたり出た...
-
イラストレーター(Illustrator)...
-
EMBED関数について
-
エクセルに任意のページのワー...
-
エクセルに貼りつけた画像が印...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パワーポイントの画面がずれる
-
Excelにメールを添付する
-
Excelで隠れてしまった図...
-
excelでチェックボックスが表示...
-
パワーポイントにエクセルの表...
-
ExcelでB5をA4にしたい。
-
pdf xchange viewer オブジェク...
-
イラストレーターの面積を求める
-
オートシェイプが消えたり出た...
-
文字の特定箇所に背景色をつけ...
-
エクセルに入力しようとすると...
-
EMBED関数について
-
テキストボックスがないのに、...
-
【エクセル】列を挿入しようと...
-
Wordのツールバーに常に数...
-
Excelの中にExcelのオブジェク...
-
エクセルからワードへの表挿入...
-
Wordのオブジェットと図の違い...
-
エクセルに任意のページのワー...
-
Illustrator CS4 : 特定のレイ...
おすすめ情報