• ベストアンサー

アクセスに登録した値を条件検索によりtextboxに反映させる方法を教えてください。

はじめまして。お世話になります。 Accessで登録した値をVBのフォーム上のテキストボックスに 反映させる方法を教えてください。 [Accessのファイル名] db1.mdb [db1.mdbのテーブル名] ListName [ListNameの各項目] 日付、名前、住所、生年月日 [VBのフォーム] lbldate、text1.textbox、text2.textbox、text3.textbox、Select.command ※lbldateの内容は日付(テキスト型)でCaptionでとってきた値が「日付」項目に登録される。 3つのtextboxには入力した値は「名前」・「住所」・「生年月日」項目に登録される。(すべてテキスト型) [自分で調べ考えたコーディングの内容] Microsoft DAO 3.6 Object Library参照設定 Private Sub Select_Click() Dim strSQL As String Dim dbs As DAO.Database Dim myset As DAO.Recordset Dim ws As DAO.Workspace Set ws = DBEngine.Workspaces(0) Set dbs = ws.OpenDatabase("C:\db1.mdb") Me.AutoRedraw = True strSQL = "SELECT * FROM Listname where 日付 = '" & lbldate & "'; " Set myset = dbs.OpenRecordset(strSQL) Text1.Text = CStr(myset("名前")) Text2.Text = CStr(myset("生年月日")) Text3.Text = CStr(myset("住所")) myset.Close End Sub 上記の内容では上手くいきません。過去にテキストボックスに入力した値を教えていただきましたが今回は逆にレコードを検索して選択する方法が上手くいきません。 アドバイスをよろしくお願い致します。 ※求める機能としてlblnameに表示される値を条件にそれに対応するレコードを選択したいのですが検索時に該当する日付がなかった場合は3つのテキストボックスに値を何も返さないプログラムにしたいと思っています。よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
noname#22222
noname#22222
回答No.8

*****  おまけ ***** さて、 DBLookup は、レコード情報を一気に取得することが出来ません。 これでは、汎用性がありません。 一応の汎用形を示しておきます。 ? DBLookup("SELECT * FROM テーブル1", "C:\Temp\db1.mdb") 1;鈴木;一郎; このように、セミコロン(;)で区切られた文字列として全ての列データを戻します。 これで、コンボボックス等のリストをDBLookup()でも設定できます。 使用方法は、次のようです。 メインのコードは、とてもシンプルになる筈です。 ' ------------------------------------------- ' DBLookup() でレコードデータを Datas に取得 ' ------------------------------------------- Datas=DBLookup("SELECT * FROM テーブル1", "C:\Temp\db1.mdb") ' ------------------------------ ' Datas をテキストボックスに代入 ' ------------------------------ Me.Text1 = CutStr(Datas, ";", 1) ' 1 Me.Text2 = CutStr(Datas, ";", 2) ' 鈴木 Me.Text3 = CutStr(Datas, ";", 3) ' 一郎 Public Function DBLookup(ByVal strQuerySQL As String, _              ByVal strDBPath As String) As String On Error GoTo Err_DBlookup   Dim I   As Integer   Dim N   As Integer   Dim Datas As String   Dim dbs As DAO.Database   Dim rst As DAO.Recordset     Set dbs = DBEngine.Workspaces(0).OpenDatabase(strDBPath)   Set rst = dbs.OpenRecordset(strQuerySQL)   With rst     If Not .EOF Then       N = .Fields.Count - 1       For I = 0 To N         Datas = Datas & .Fields(I) & ";"       Next I     End If   End With Exit_DBlookup: On Error Resume Next   rst.Close   dbs.Close   DBLookup = Datas   Exit Function Err_DBlookup:   MsgBox Err.Description   Resume Exit_DBlookup End Function Public Function CutStr(ByVal Text As String, _             ByVal Separator As String, _             ByVal N As Integer) As String   Dim strDatas() As String      strDatas = Split("" & Separator & Text, Separator, , 0)   CutStr = strDatas(N * Abs((N <= UBound(strDatas)))) End Function ※毎度、データベースにアクセスしてデータを取得する手続きを書くのはミスの元です。 ※何らかの汎用化する工夫をしたらと思います。 ※色んな方法がありますが、DBLookup()、CutStr()を組み合わせる方法は参考になるかも知れません。 ※真似ではなく、自前の DBLookup()、CutStr()を作れば実力アップ間違いなしです。

その他の回答 (7)

noname#22222
noname#22222
回答No.7

Text1.Text = DBLookup("SELECT 名前 FROM Listname WHERE 日付 = '" & lblNow_date.Caption & "'") 以下のように訂正! strQuerySQL = "SELECT 名前 FROM Listname WHERE 日付 = '" & lblNow_date.Caption & "'" MsgBox strQuerySQL Text1.Text = DBLookup(strQuerySQL) '2006/8/2' <> '2006/08/02' です! 日付は、"yyyy/mm/dd" で統一しないと・・・。

eiki0520
質問者

お礼

お世話になっています。 アドバイスどおりだとうまくいかなかったのですがMsgboxを使用しlblNow_date.Caption の値がとれているのか確認したところ値がとれてなかったのでもう一度プログラム全体を見直し考えたところ別のプロシージャー内で定義していたため値を上手く取得できていませんでした。 必要な箇所で定義したら上手く値を取得することができました。 いろいろとお教えいただいて本当にありがとうございます。 これを機に自分自身で再度、勉強しようと思います。ありがとうございました。

回答No.6

「カレントレコードがありません。」ということは、SQL自体に間違いはなく、条件に合致するレコードがないということですね。 フィールド「日付」は本当にテキスト型ですか。日付型だったりしませんか。 テキスト型で間違いないのであれば、試しにlbldateのCaptionを使用せずに、直接値を指定して試してください。 ある一つのレコードの「日付」の値が2006/08/01だとしたら、 strSQL = "SELECT * FROM Listname where 日付 = '2006/08/01'" これでだめなら念のため、 strSQL = "SELECT * FROM Listname where 日付 = #2006/08/01#" を試してみてください。 2つ目のSQLで抽出できたならフィールド「日付」は日付型ということになりますが。

noname#22222
noname#22222
回答No.5

s_husky です。 これは、SQLを列毎に確認するテスト用です。 汎用としては使えないので使用後は削除して下さい。 既に、プログラミングは99%完成しています。 SQL文が完成していないだけです。 Stopを使って実行直前のSQL文の列名と囲み文字を確認すればと思います。 Public Function DBLookup(ByVal strQuerySQL As String) As Variant On Error GoTo Err_DBlookup   Dim dbs As DAO.Database   Dim rst As DAO.Recordset      Set dbs = DBEngine.Workspaces(0).OpenDatabase("C:\db1.mdb")   Set rst = dbs.OpenRecordset(strQuerySQL)   With rst     If Not .EOF Then       DBLookup = .Fields(0)     End If   End With Exit_DBlookup: On Error Resume Next   rst.Close   dbs.Close   Exit Function Err_DBlookup:   MsgBox Err.Description   Resume Exit_DBlookup End Function

eiki0520
質問者

補足

お世話になっています。ご指摘いただいたSQLをもう一度確認したところエラーは出なくなりましたが値を上手く抽出することができません。 [問題箇所] Text1.Text = DBLookup("SELECT 名前 FROM Listname WHERE 日付 = '" & lblNow_date.Caption & "'") 念のため以下のように直接値を指定したら条件に基づいて値をテキストボックスへ抽出することができました。 ・Text1.Text = DBLookup("SELECT 名前 FROM Listname WHERE 日付 = '2006/8/2'") ご指摘に「ラベルコントロールは普通は使わない」 とありますがこれが原因なのでしょうか? 度々で申し訳ありませんがご回答よろしくお願い致します。

noname#22222
noname#22222
回答No.4

s_husky です。 これは、フーン位に! DAOを勉強しているようですが、ADODB を使ってレコードをフォームに一気に表示することも可能です。 もちろん、取得するレコード数は1件であることが条件です。 先の DBLookup()は、幾つかのフィールドをレコード情報を基に参照する場合に使います。 レコード全体のフォームへの表示には、DisplayRecord()を使うという関係です。 フォームのテキストボックス名を field_氏名、field_生年月日、field_住所 としておけば、 呼び込んだレコード情報は、それぞれのテキストボックスに表示されます。 ' ----------------------------------------------------------------------------------------- ' フォームに読み込んだ列情報を表示します。 ' ' 【要件】 ファームのフィールド名が、<"field_" + 列名>であること。 ' ----------------------------------------------------------------------------------------- Public Function DisplayRecord(ByVal frm As Form, _                ByVal strQuerySQL As String) As Boolean On Error GoTo Err_DisplayRecord   Dim isOK As Boolean   Dim I  As Integer   Dim N  As Integer   Dim rst As ADODB.Recordset   Dim fld As ADODB.Field   isOK = True   Set rst = New ADODB.Recordset   rst.Open strQuerySQL, _        CurrentProject.Connection, _        adOpenStatic, _        adLockReadOnly   If Not rst.BOF Then     ' =================     ' Begin With: frm     ' -----------------     With frm       N = .Controls.Count - 1       For Each fld In rst.Fields         For I = 0 To N           If Mid$(.Controls(I).Name, 7) = fld.Name Then             .Controls(I).Value = fld.Value             Exit For           End If         Next I       Next fld     End With     ' ---------------     ' End With: frm     ' ===============   Else     MsgBox " フォームに表示する情報はありません。(DisplayRecord)", vbInformation, " お知らせ"   End If Exit_DisplayRecord: On Error Resume Next   rst.Close   Set rst = Nothing   DisplayRecord = isOK   Exit Function Err_DisplayRecord:   isOK = False   MsgBox "実行時エラーが発生しました。(DisplayRecord)" & Chr$(13) & Chr$(13) & _       "・Err.Description=" & Err.Description & Chr$(13) & _       "・SQL Text=" & strQuerySQL, _       vbExclamation, " 関数エラーメッセージ"   Resume Exit_DisplayRecord End Function

noname#22222
noname#22222
回答No.3

ウーン!SQL文で苦労しているようなので、簡単にテストできる関数を・・・。 1、次のようなDBLookup()を標準モジュールに登録すると便利です。 2、Accessの DLookup()の3倍速で動作します。 [イミディエイトウィンドウ] ? DBlookup("SELECT 姓 FROM テーブル1 WHERE ID=1") 鈴木 このように [イミディエイトウィンドウ] で SQL文 をテストできます。 (1) DBLookup()でSQL文をテストする。 (2) OKであれば、 Text1.Text = DBlookup("SELECT 名前 FROM Listname WHERE 生年月日='" & lbldate.Caption & "'") Text3.Text = DBlookup("SELECT 住所 FROM Listname WHERE 生年月日='" & lbldate.Caption & "'") と、2、3の列の参照程度であれば DBLookup()でも可! 注意1:ラベルコントロールは普通は使わない! 注意2:テーブル Listname に主キー(ID列)がない! Option Compare Database Option Explicit Public Function DBLookup(ByVal strQuerySQL As String) As Variant On Error GoTo Err_DBlookup   Dim dbs As DAO.Database   Dim rst As DAO.Recordset      Set dbs = CurrentDb   Set rst = dbs.OpenRecordset(strQuerySQL)   With rst     If Not .EOF Then       DBLookup = .Fields(0)     End If   End With Exit_DBlookup: On Error Resume Next   rst.Close   dbs.Close   Exit Function Err_DBlookup:   MsgBox Err.Description   Resume Exit_DBlookup End Function

eiki0520
質問者

補足

お世話になります。 アドバイスしていただいたイミディエイトウィンドウを使用しみたのですがコンパイルエラーで「Sub Functionの定義がされていない」というエラーが出ました。 またイミディエイトウィンドウを使用せずに実行してみたら以下のエラーが出ます。 [エラー内容] オブジェクト変数、Withブロック変数が設定されていません。 [エラー箇所] Text1.Text = DBLookup("SELECT 名前 FROM Listname WHERE 日付='" & lbldate.Caption & "'") よろしくお願い致します。

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.2

前回のご質問の中に答えがあります。 No3で strSQL = "SELECT * FROM Listname where 日付 = '" & lbldate" 数字は TextBoxName 文字は "'" & TextBoxName & "'" 日付は "#" & TextBoxName & "#" No2の   With rstMyset     .AddNew     .Fields("名前")= Text1  'これは、rstMyset.Fields("名前")= Text1ということです     .Fields("生年月日")= CDate(Text2)     .Fields("住所")= Text3     .Update   End With レコードが無い場合・・ If myset.bof and myset.eof then   処理 end if とか myset.recordcount = 0 でも判断できるかも、VBとAccessVBAでは違うかも? ところで、レコードが複数あったときはどうするのかな? 現状では、多分最初のレコードの内容しか入らないと?

eiki0520
質問者

補足

お世話になっています。 アドバイスしていただいた内容だとエラーメッセージは何も出ませんでしたが抽出することができませんでした。 この質問の背景ですが現在VBでカレンダーを作成していて各日付のコマンドボタンを押すとメモ帳画面に遷移する仕組みなっています。 メモ帳には押した日付のyyyy/mm/ddがlbldateに表示されるようになっていてそのフォームにあるテキストボックスに値を入力し「登録」ボタンを押すとAccessに登録する仕組みになっています。そして画面を閉じ再度テキストボックスに入力している値の入ったメモ帳画面に遷移した時にlbldateに入っている日付をもとにAccessに登録されている値を抽出しテキストボックスに表示される機能を作りたいのです。 また >ところで、レコードが複数あったときはどうするのかな?現状では多分最初のレコードの内容しか入らないと? ですが同じlbldateの値が複数ある時は最後に登録したレコードを抽出してきたいと思っています。 よろしくお願い致します。

回答No.1

上手くいかないとはどのような状況でしょうか。 何かエラーメッセージは出ますか。 >※lbldateの内容は日付(テキスト型)でCaptionでとってきた値が「日付」項目に登録される。 この部分がどういう意味かちょっと分からないのですが。 lbldateのCaptionには実行時どのような値が入っているのですか。(具体的に。)

eiki0520
質問者

補足

お世話になっています。 >上手くいかないとはどのような状況でしょうか。 何かエラーメッセージは出ますか。 [エラー箇所] Text1.Text = CStr(myset("名前")) [エラー内容] カレントレコードがありません。 >lbldateのCaptionには実行時どのような値が入っているのですか。(具体的に。) ※VBでカレンダーを作成していて各日付のコマンドボタンを押すとメモ帳画面に遷移する仕組みなっています。 メモ帳には押した日付のyyyy/mm/ddがlbldateに表示されるようになっていてそのフォームにあるテキストボックスに値を入力するとAccessに登録する仕組みになっています。そして画面を閉じ再度テキストボックスに入力している値の入ったメモ帳画面に遷移した時にlbldateに入っている日付をもとにAccessに登録されている値を抽出しテキストボックスに表示される機能を作りたいのです。 よろしくお願いします。

関連するQ&A

  • テキストボックスに入れた内容をAccessのテーブルに登録する方法を教えてください。

    はじめまして。 VBでフォームに作ったテキストボックス(text1、text2、text3)に値を入れてコマンドボタンを押したらAccessのテーブルに値を登録できるようにしたいのですが上手くいきません。自分で調べながらコーディングしたのですが上手く動かずどうすれば動くのかVBのコーディングを教えていただきたいです。よろしくお願いします。 [Accessのファイル名] db1.mdb [db1.mdbのテーブル名] ListName [ListNameの各項目] 名前、住所、生年月日 [VBのフォーム] text1.textbox、text2.textbox、text3.textbox Add.command [コーディングの内容] Microsoft DAO 3.6 Object Library参照設定 Private Sub Add_Click() Dim strSQL As String Dim dbName As String Dim dbs As DAO.Database Dim myset As DAO.Recordset Dim ws As DAO.Workspace Set ws = DBEngine.Workspaces(0) Set dbs = ws.OpenDatabase("C:\db1.mdb") If Dir("C:\db1.mdb") <> "" Then strSQL = "INSERT INTO Listname (名前,生年月日, _ 住所) values(text1.text, text2.text, text3.text)" Me.AutoRedraw = True Set myset = dbs.OpenRecordset(strSQL) End If End Sub ※無効な処理です。というエラーが出ます。

  • DAOでフィールドの値を変更する

    MDBファイルにDAOでアクセスし、フィールド(今回の場合Fields(4))の値をTextBox内の値に変更する方法がわかりません。 Dim WS As DAO.Workspace Dim DB As DAO.Database Dim RS As DAO.Recordset 'レコードを特定する処理 RS.Fields(4).Value = TextBox.Text RS.Update どのように直せばいいのでしょうか??

  • 【Access2003】クエリで動作するSQLがVBAで動作せず困っています。

    下記のソースを実行したところ、「パラメータが少なすぎます。2を指定してください。」というエラーが表示されました。 エラーが発生する箇所は「db.Execute strsql」です。 しかし、このstrsqlに書かれているSQL文をクエリで実行した所、問題なく動作しました。 なんとなく、クエリでは書けるものの、VBAでは書きない所があるのかなと思ったのですが、どのように修正すればよいか分かりませんでした。 その為、上記の現象について、ご教示いただける方がいらっしゃいましたら、よろしくお願いします。 【VBA】 Private Sub btn_Click() Dim db As DAO.Database Dim ws As DAO.Workspace Dim str As String Set ws = DBEngine.Workspaces(0) Set db = CurrentDb ' トランザクション開始 ws.BeginTrans strsql = "INSERT INTO T_W ( W_DAY )" strsql = strsql & "SELECT T_M.M_DAY" strsql = strsql & " FROM T_M" strsql = strsql & " WHERE (((Left([T_M].[M_DAY],4) & Mid([T_M].[M_DAY],6,2) & Right([T_M].[M_DAY],2))" strsql = strsql & " Between IIf(Nz([Forms]![F_1]![text_str])='',0,[Forms]![F_1]![text_end])" strsql = strsql & " And IIf(Nz([Forms]![F_1]![text_str])='',99999999,[Forms]![F_1]![text_end])))" strsql = strsql & " ORDER BY T_M.M_DAY" db.Execute strsql ws.CommitTrans End Sub 【フォーム:F_1】 テキストボックス:text_str テキストボックス:text_end コマンドボタン:btn 【データベース:T_M】 フィールド名:M_DAY    値  :2001/01/01    値  :2001/01/02    値  :2001/01/03 (以下略) 【データベース:T_W】 フィールド名:W_DAY    値  :なし よろしくお願いします。

  • DAOでデータベースを二つ開くには?

    環境 Windows2000 VB6 DAOで同じデータベースを開くためのやり方がわかりません。 下記のようにマスタのキーを使用して他のテーブルの 内容を更新したいのですが よろしくお願いします。m(__)m Dim ws As Workspace Dim db As Database Dim qd As QueryDef Dim rs As Recordset Dim STRSQL As String dim strsql2 as string Set ws = DBEngine.Workspaces(0) Set db = ws.Databases(0) STRSQL = "SELECT KEY FROM マスタ" Set qd = db.CreateQueryDef("", STRSQL) Set rs = qd.OpenRecordset() Do While Not rs.EOF strsql2 = "Update data from マスタ where key = " & rs!key ???? rs.MoveNext Loop rs.Close qd.Close db.Close

  • DAOでのOpenRecordsetの方法

    SQLServerのDBをDAOを使って更新しようとしていますが、方法がわからず困っています。 ------------------- private Cn as DAO.Database private function fnc1() as integer Dim ws As DAO.Workspace Dim rcdst1 As DAO.Recordset dim strCnct As String dim strSQL As String strCnct = "ODBC;Driver={SQL Server};SERVER=" & g_strSVName & ";DATABASE=" & g_strDBName & ";UID=" & strpUserID & ";PWD=" & strpPassword & ";" 'DB接続 Set Cn = ws.OpenDatabase("", False, False, strCnct) strSQL = "SELECT * FROM Table1" Set rcdst1 = Cn.OpenRecordset(strSQL, dbOpenDynaset, dbDenyWrite, dbOptimistic) ------------------------------------- このOpenRecordsetで ODBC--すべてのレコードをロックできません。(3254) のエラーが出ます。 また、OpenRecordsetを Set rcdst1 = Cn.OpenRecordset(strSQL, dbOpenDynaset) とすると rcdst1.Edit で データベースまたはオブジェクトは読み取り専用なので、更新できません。 のエラーが出ます。 どうしたらいいでしょうか。

  • 拡張子が.mdbでないアクセスファイルを開くには?

    拡張子が.mdbでない以下のようなアクセスファイルOSAKA.sffを開くにはどのようにしたらよいですか? 現状、 Set db の行で 実行時エラー3343“データベースの形式認識できません”とエラーが出ます。 Private Sub Command5_Click() Dim ws As DAO.Workspace Dim db As DAO.Database Dim rs As DAO.Recordset 'デフォルトのワークスペースを定義する Set ws = DBEngine.Workspaces(0) 'データベースを開く Set db = ws.OpenDatabase("C:\Data\OSAKA\OSAKA.sff") End Sub

  • Yes/Noフラグの値をコピーできない

    すいません。ACCESS2003 VBAで下記の問題で困っています。 新たに作成したmdbファイル(テーブルの中身は空)に既存のmdbファイルのテーブル内容をコピーしたいのですが、Yes/Noフラグ型だけ移行できません。一応サンプルのソースです↓ Dim db As DAO.Database Dim RS As DAO.Recordset Dim strsql As String コピー元のmdbファイルをオープン Set db = OpenDatabase("コピー元mdb") 'SQLの生成 strsql = "" strsql = strsql & " SELECT * FROM テーブル名" 'レコードセット生成 Set RS = db.OpenRecordset(strsql, dbOpenSnapshot, dbReadOnly) 'コピー元テーブルにデータがあるか判定 If RS.RecordCount = 0 Then msgbox "データがありません" Else RS.MoveFirst 'コピー先のデータベースを設定 Set db = OpenDatabase("コピー先mdb") 'レコードの初期化 db.Execute (DELETE FROM コピー先テーブル名) Do While RS.EOF = False strsql = "" strsql = strsql & " INSERT INTO コピー先テーブル名(" strsql = strsql & " ,コピー先のYes/Noフラグ値" ' strsql = strsql & ")VALUES(" strsql = strsql & " ,'"コピー元のYes/Noフラグ値 "' " strsql = strsql & ")" db.Execute (strsql) RS.MoveNext Loop End If RS.Close db.Close

  • EXCEL VBAについて、ワークシート上に置いたTextBoxに値を入れる方法について

    すいませんEXCEL VBAについて質問があります。 エクセルのワークシート上にコントロールツールボックスから テキストボックスを2つ、コマンドボタンを1つ設置する。 アクティブになっているテキストボックスに”goo”という値を入れる。 これをVBAで処理するにはどうしたらよろしいのでしょうか。 ユーザーフォームのテキストボックスであれば Private Sub CommandButton1_Click() Dim i As Object Set i = ActiveControl If TypeOf i Is MSForms.TextBox Then i.Text = i.Text & "goo" End If Set i = Nothing End Sub これでできるはずですが、シート上に置くテキストボックスだと うまくいきません。 よろしくお願いいたします。

  • Access VBA 日付で抽出できない?

    次の質問にお答えいただけませんか。 フォームで抽出条件を入力しテーブルから抽出をするとき Dim db As DAO.Database Dim rs As DAO.Recordset Dim mySQL As String Set db = CurrentDb() mySQL = "SELECT * FROM T_明細 " _ & "WHERE 顧客ID = " & CStr(Me!txtKey) & ";" Set rs = db.OpenRecordset(mySQL, dbOpenDynaset) 上記のような記述をしました。 テーブル名:T_明細   フィールド:顧客ID  日付 金額  フォームの抽出条件入力テキストボックス:txtKey このとき顧客IDでの抽出は問題なく出来ましたが "WHERE 顧客ID = を "WHERE 日付 = に変更して日付で抽出をしたいのですがうまくいきません。 テーブルの日付フィールドは 書式をgee-mm-dd 定型入力を>L99\-99\-99;0;# で書き込みました。 フォームのtxtKeyテキストボックスのプロパティも書式をgee-mm-dd 定型入力を>L99\-99\-99;0;#に設定してあります。 このようなときは mySQL = "SELECT * FROM T_明細 " _ & "WHERE 日付 = " & CStr(Me!txtKey) & ";" の、記述を何か変更しないといけないような気もしますが 対処の方法を教えていただけませんか。

  • 初歩的なSQLですが・・・

    私の環境はOS:Xp      ACCESS2000です。 宜しくお願いします 今AccessVBAで作業をしているのですが、 Dim ws As DAO.Workspace Dim DB As DAO.Database Dim rs As DAO.Recordset Dim sql As String Set ws = DBEngine.Workspaces(0) Set DB = ws.Databases(0) sql = "select MAX(銀行コード) from 銀行テーブル ;" Set rs = DB.OpenRecordset(sql) Me.合計 = rs このSQL文で銀行テーブルに入っている銀行コードの最大値を取得したいのですが、取得した後どのように記述したら「rs」から値を引っ張り出せるのでしょうか? 宜しくお願いします。

専門家に質問してみよう