
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
ACCESSVBAのseekで複数INDEX検索方法について
Access(アクセス)
-
ACCESS VBAでSeekメソッドの処理記述
Access(アクセス)
-
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
-
4
DAOのrs.Filter =の使い方
PowerPoint(パワーポイント)
-
5
Access サブフォームでの選択行の取得
その他(データベース)
-
6
ACCESS ADOでupdateが効かない
その他(データベース)
-
7
FindFirst複数条件
その他(データベース)
-
8
ADOでSeekメッソッドが使えません。
SQL Server
-
9
アクセスでレコードの内容が変更されたかどうかを調べるには
Access(アクセス)
-
10
[Access]帳票フォームにて連続する非連結コントロールに個々の値を入れるには
Access(アクセス)
-
11
Access コンボボックスの値をクリアしたい。
PowerPoint(パワーポイント)
-
12
MS Accessでフォームの「開く時」と「読込み時」のイベントの違い
Access(アクセス)
-
13
FindFirst を複数条件で検索
Visual Basic(VBA)
-
14
Access ¥マークを表示しない
Excel(エクセル)
-
15
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
16
AccessのDAO.ExecuteとDoCmd.RunSqlの違いについて
その他(データベース)
-
17
ADOを使ったDBアクセス後のメモリ解放
その他(データベース)
-
18
フォームを開くときに、コンボボックスの値を選択(アクセスVBA)
Visual Basic(VBA)
-
19
Accessのフォームにて、詳細行のボタンを行の内容により、表示/非表
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESSで複数主キーにおけるsee...
-
Access2002 わからないことだ...
-
このフォントの名前を教えてく...
-
お奨めDSソフト
-
【FF7リメイクの順番について】...
-
5月27日は初代ドラクエの発...
-
xjr400のクラッチレリーズって...
-
勝ったときはYOU WIN PERFECTと...
-
PS3でドラクエ4~ドラクエ9はプ...
-
Nintendo Switch 1回遊んだゲー...
-
ウイニングポスト2
-
ネトストについてどう思いますか?
-
GBAでドラゴンクエストシリ...
-
なぜドラクエはこんなにつまら...
-
Switchで3人で楽しめるゲーム
-
安くなれPS2(TT)
-
ドラクエ5の名産品
-
FFシリーズの「リボン」の謎。
-
私は ⚫︎日本語版の対戦や恋愛な...
-
ドラクエ好きの方に質問です
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
熱力学の質問です
-
ラプラス変換による回路解析
-
ACCESSで複数主キーにおけるsee...
-
このフォントの名前を教えてく...
-
ドラクエ5 サクラのひとえだの...
-
DSのマリオシリーズで。
-
2階常微分方程式の行列形式の書...
-
Access レコードの移動
-
【FF7リメイクの順番について】...
-
私は ⚫︎日本語版の対戦や恋愛な...
-
スマホインカメ撮影のとき
-
PS3でドラクエ4~ドラクエ9はプ...
-
5月27日は初代ドラクエの発...
-
GBAでドラゴンクエストシリ...
-
ウイニングポスト2
-
ドラクエ5
-
牧場物語
-
xjr400のクラッチレリーズって...
-
ドラゴンクエストの歴史
-
DSのドラクエとファイナルフ...
おすすめ情報