No.1ベストアンサー
- 回答日時:
アクセスについては書かれた順に取り出されているような気がしますが、RDB全般において、データの並び順は指定していない限り保証されませんので、クエリ部分で何らかの指定が入っているべきですが、、、
dlookupにそのような機能があるかわかりません。
ADOでそのようなファンクションを作ってみましたが、、、
エラー処理や、該当レコードがなかった場合などの処理方法は良くわからなかったのでテキトーです。
このようなものをモジュールに作っておけば、アクセス随所から呼び出して使うことができます。
Function DLookUPA(strSQL, strField, RowNum) As Variant
Dim Con As ADODB.Connection
Dim Rst As New ADODB.Recordset
Set Con = CurrentProject.Connection
Rst.Open strSQL, Con, adOpenKeyset, adLockOptimistic
If Rst.RecordCount = 0 Then
DLookUPA = "No Record"
Rst.Close
Con.Close
Exit Function
End If
If RowNum = 1 Then
DLookUPA = Rst.Fields(strField)
Rst.Close
Con.Close
Exit Function
End If
If Rst.RecordCount >= RowNum Then
For x = 2 To RowNum
Rst.MoveNext
Next x
DLookUPA = Rst.Fields(strField)
Rst.Close
Con.Close
Exit Function
End If
Rst.Close
Con.Close
DLookUPA = "error msg"
End Function
たとえば、フォーム上のボタンのイベントに
Private Sub コマンド0_Click()
MsgBox DLookUPA("select * from table1 order by mainkey", "data", 1)
End Sub
とすると、table1をmainkey順に並べて、2番目のレコードのdataというフィールドの値を取ってきてメッセージボックスにて表示します。
一応、ストリング値はとってくることができましたが、その他の変数、ヌル値、ブランクなどについては、未検証ですので、使うのでしたら検証しておいてください。
ファンクションの知識は無いので中身は分かりませんでしたが
実際モジュールに入れてID順で試してみたところ、出来ました。
>このようなものをモジュールに作っておけば、アクセス随所から呼び出して使うことができます。
これは助かります。他のAccessにも使わせていただきます。
分かりやすい回答有難うございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- Access(アクセス) Access DAOのExecuteメソッドのオプション(RecordsetOptionEnum)に 1 2022/09/19 07:34
- Access(アクセス) Dlookupにエラーがでてしまう 1 2022/10/31 14:35
- PHP クエリObjectをforeachで回す時に、次のレコードへ移動せずに次のレコードを取得したい 2 2022/07/28 15:29
- Access(アクセス) Accessのスプレッドシートエクスポートで、シートが追加されてしまう 2 2022/07/16 21:45
- Access(アクセス) Accessクエリで年月フィールドを年のみで抽出する方法について 2 2022/08/29 18:10
このQ&Aを見た人はこんなQ&Aも見ています
-
外出時に「待たせる妻」vs イライラする「待つ夫」は日本だけ?見習いたい海外事情
夫の家事参加に積極的なイメージのある海外でも、同様の事例はあるのか。結婚カウンセラーの佐竹悦子さんに伺ってみた。
-
2つ目のレコードの値を取得するには?
Access(アクセス)
-
Access サブフォームでの選択行の取得
その他(データベース)
-
Accessで別テーブルの値をフォームに表示したい
その他(データベース)
-
-
4
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
-
5
Access 最後のレコードに到達するまでループ処理を行う方法
Access(アクセス)
-
6
Accessのフォーム上にレコード数とレコード番号の表示
その他(データベース)
-
7
フォームを開くときに、コンボボックスの値を選択(アクセスVBA)
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
至急!尿検査前日にオナニーし...
-
白血球が多いとどんな心配があ...
-
中出しをするとお腹が痛い・・・。
-
エクセルでエラーが出て困って...
-
彼女のことが好きすぎて彼女の...
-
検便についてです。 便は取れた...
-
勃起する時って痛いんですか? ...
-
納豆食べた後の尿の納豆臭は何故?
-
小数点以下を繰り上げたものを...
-
これって喉仏ですか? 私は女性...
-
尿検査の前日は自慰控えたほう...
-
値が入っているときだけ計算結...
-
健否~書類の書き方~
-
EXCELで条件付き書式で空白セル...
-
精子が黄色?
-
2つの数値のうち、数値が小さい...
-
麻疹風疹の抗体検査結果につい...
-
EXCELの条件付き書式で数式を空...
-
エクセルのラベルの値(文字列...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
エクセルでエラーが出て困って...
-
中出しをするとお腹が痛い・・・。
-
白血球が多いとどんな心配があ...
-
検便についてです。 便は取れた...
-
彼女のことが好きすぎて彼女の...
-
EXCELで条件付き書式で空白セル...
-
勃起する時って痛いんですか? ...
-
納豆食べた後の尿の納豆臭は何故?
-
精子が黄色?
-
至急!尿検査前日にオナニーし...
-
小数点以下を繰り上げたものを...
-
これって喉仏ですか? 私は女性...
-
値が入っているときだけ計算結...
-
口の中に黒い血の塊
-
舌の裏の痛みのないプツプツの...
-
甲状腺が腫れているが血液検査...
-
Excelで""で囲む方法
-
健否~書類の書き方~
-
リンク先のファイルを開かなく...
おすすめ情報