ACCESSで複数主キーにおけるseek検索
ACCESS2000で複数の主キーを持つテーブルからseekで一致検索を行いたいが、
ADOを利用した場合のコードの書き方がわかりません。
テーブルは以下の3つのフィールドから構成されます。
フィールド1:フィールド2:フィールド3
年月日:担当職員:応対結果
ここで主キーは「年月日」と「担当職員」の2つで、「年月日」と「担当職員」が
一致するレコードをseekによって検索したいのです。
インデックスを表示させると「年月日」と「担当職員」が表示されます。
「年月日」の欄にのみ、インデックス名の欄にPrimaryKeyと書かれています。
DAOを用いて検索部分をVBAで書いたら動きました。
以下に検索部分だけ書きます。
(1) ds.Index = "PrimaryKey"
(2) ds.Seek "=", 年月日, 担当職員
(3) If ds.NoMatch Then
(4) MsgBox"そんなデータないですよ"
(5) Else
(6) MsgBox"一致するのがありました"
しかしながら、ADOを用いた記述方法がわかりません。
上の(1)行は
ds.Index = "PrimaryKey"
でよいと思うのですが、(2)行以下がどう書いて良いかわかりません。
何卒宜しくお願いします。
No.2ベストアンサー
- 回答日時:
えー、すべて設定は出来ているものと
勘違いしていました。一応、こちらで
すべてを設定してみました。
テーブルをTdataとします。
Private Sub コマンド0_Click()
Dim cn As ADODB.Connection
Dim ds As ADODB.Recordset
Dim vardat As Variant
Dim strmsg As String
Dim myKey(1 To 2)
Dim varA As Variant
Dim varB As Variant
Set cn = CurrentProject.Connection
Set ds = New ADODB.Recordset
ds.Open "Tdata", cn, adOpenKeyset, adLockOptimistic, adCmdTableDirect
varA = InputBox("検索する年月日を入力して下さい。")
varB = InputBox("検索する担当職員を入力して下さい。")
Let myKey(1) = varA '"年月日"
Let myKey(2) = varB '"担当職員"
ds.Index = "PrimaryKey"
ds.Seek Array(myKey(1), myKey(2)), adSeekFirstEQ
If ds.EOF Then
MsgBox ("ありません")
Else
MsgBox ("ありました")
End If
ds.Close: Set ds = Nothing
cn.Close: Set cn = Nothing
End Sub
このような感じで一応動いています。
設定の勘違い、Inputboxなどはご勘弁を。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Accessフォーム 一部のレコードだけを抽出する方法について 1 2022/06/28 18:45
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- Excel(エクセル) 表の中を『年』で検索し、値を得たい。 4 2023/01/31 22:37
- Visual Basic(VBA) VBAで重複データを確認したい 5 2022/10/07 16:24
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
- Excel(エクセル) Vlookup関数で#N/Aエラー表示について 3 2022/09/03 20:59
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Excel(エクセル) 指定文字列が該当するA列をアクティブセルにするには 3 2022/08/17 13:18
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
ACCESSVBAのseekで複数INDEX検索方法について
Access(アクセス)
-
ADOでSeekメッソッドが使えません。
SQL Server
-
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
-
4
2つ目のレコードの値を取得するには?
Access(アクセス)
-
5
ACCESS VBAでSeekメソッドの処理記述
Access(アクセス)
-
6
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
7
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
8
Excel VBAからAccessマクロを実行したい
Visual Basic(VBA)
-
9
ACCESSで値を代入できないとは?
Visual Basic(VBA)
-
10
ODBCの接続に失敗しました(3146)について
その他(Microsoft Office)
-
11
Accessのレポート上のテキストボックス値を設定したい
その他(データベース)
-
12
どこにもフォーカスを当てたくない
Access(アクセス)
-
13
ACCESSのリストボックスで複数選択した値をテーブルに保存するには?
Access(アクセス)
-
14
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
15
Access2003 クエリで、空の列は作れますか?
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESSで複数主キーにおけるsee...
-
【FF7リメイクの順番について】...
-
Nintendo Switch 1回遊んだゲー...
-
元祖!!ヤンチャ丸について。
-
GBAでドラゴンクエストシリ...
-
FFシリーズの「リボン」の謎。
-
メルセデスベンツW213 ブルメス...
-
DQ7かDQ8、どっちがおもしろか...
-
ドラクエ信者とFF信者
-
3dsのマスターキーを発行してほ...
-
PS3でドラクエ4~ドラクエ9はプ...
-
スーパーなどで買い物をする時...
-
GEOて店ありますよね! 最近ゲ...
-
Switchはオワコンに近いですか?
-
今からFF7をやるなら
-
PS3でで遊べるFFシリーズ
-
PS4 ラストオブアス2 北米版に...
-
ドラクエ5の嫁はフローラ一択...
-
幻想水滸伝IVラスボスの変形に...
-
牧場物語 つながる新天地とは...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESSで複数主キーにおけるsee...
-
ICの端子接続図
-
ラプラス変換による回路解析
-
DSの戦車系のおすすめゲームは?
-
光る入浴剤
-
【FF7リメイクの順番について】...
-
Switchはオワコンに近いですか?
-
ドラクエ5の嫁はフローラ一択...
-
メルセデスベンツW213 ブルメス...
-
GEOて店ありますよね! 最近ゲ...
-
3dsのマスターキーを発行してほ...
-
Nintendo Switch 1回遊んだゲー...
-
元祖!!ヤンチャ丸について。
-
(旧)スクウェアのロープレは、...
-
Apple musicかLINE musicどっち...
-
PS3でドラクエ4~ドラクエ9はプ...
-
プレステ5でドラクエをやりたい...
-
GBAでドラゴンクエストシリ...
-
あなたはドラクエ派ですか?FF...
-
xjr400のクラッチレリーズって...
おすすめ情報