
No.2ベストアンサー
- 回答日時:
2つのテーブルの構造とフォームの構造がわからないので、こちらで勝手に仕様を上げさせてもらい、その範囲で回答します。
もしcdmaさんの環境と違う場合は適当に修正してください。
tbl01Hoge(親テーブル)
フィールド:
m01ID : 長整数型(tbl02HogeHogeとのリレーションに使用。もちろん主キー)
tbl02HogeHoge(子テーブル)
フィールド:
m02ID : 長整数型(tbl01Hogeとのリレーションに使うだけなので主キーじゃない)
m02番号 : 数値型(質問にあったフィールド)
m02名前 : テキスト型(質問にあったフィールド)
m02種類 : テキスト型(質問にあったフィールド)
m01IDとm02IDを一対多でリレーションしています。
frm01(親フォーム)
コントロール:
txtID : テキストボックス(m01IDをコントロールソースにしている)
cmdGet : コマンドボタン(クリックイベントを利用)
埋め込み : tbl02HogeHogeをソースオブジェクトに指定。[リンク子フィールド]をm02ID、[リンク親フィールド]をm01IDに設定。
コード概要:
親フォームのtxtIDの値(主キー)を拾う。
tbl02HogeHogeの中からこの値をm02IDに持つレコードセット(rstSub)を取得。
rstSubのレコード件数を取得。
rstSubの1件目から最終レコードまでループしながら[m02名前]と[m02種類]の値を変数に格納。
-------------------------------------
Private Sub cmdGet_Click()
Dim cnn As ADODB.Connection
Dim rstSub As ADODB.Recordset
Dim lngMyID As Long
Dim strSQL As String
Dim lngRecCount As Long
Dim varData() As Variant
Dim i As Long
' コネクションとレコードセットをインスタンス化
Set cnn = CurrentProject.Connection
Set rstSub = New ADODB.Recordset
' 主キーの値を取得
lngMyID = Me.txtID.Value
' SQL文字列を作成
strSQL = "SELECT tbl02HogeHoge.m02名前, tbl02HogeHoge.m02種類 " & _
"FROM tbl01Hoge INNER JOIN tbl02HogeHoge ON tbl01Hoge.m01ID = tbl02HogeHoge.m02ID " & _
"WHERE ((tbl02HogeHoge.m02ID)=" & lngMyID & ");"
' 上記SQLで読取専用のレコードセットを取得
rstSub.Open strSQL, cnn, adOpenStatic
' サブレコードがゼロなら以後の処理をしない
If (rstSub.BOF = True) And (rstSub.EOF = True) Then
Else
' レコード数を取得
rstSub.MoveLast
lngRecCount = rstSub.RecordCount
rstSub.MoveFirst
' バッファを確保
' (レコード数, フィールド数)
ReDim varData(lngRecCount - 1, 1)
' ループしてサブの全レコードから[名前]と[種類]を取得
For i = 0 To lngRecCount - 1
varData(i, 0) = rstSub.Fields("m02名前").Value
varData(i, 1) = rstSub.Fields("m02種類").Value
rstSub.MoveNext
Next i
End If
rstSub.Close
Set rstSub = Nothing
cnn.Close
Set cnn = Nothing
End Sub
-------------------------------------
何番目の情報がほしいのかわかりませんが、上記[varData]の1次元目の添え字はサブフォームに表示されているレコードの順番が入っており、ゼロから始まっています。
2次元目の添え字はゼロが[名前]で1が[種類]です。
例えば3レコード目の名前は[varData(2,0)]で、種類は[varData(2,1)]です。
以上。
ご回答 ありがとうございました。
申し訳ないのですが、別手段で解決しそうです。
しかしながら temtecomai様の方法でも
やってみたいと思います。
不明な点があれば 再度 教えてください。
No.1
- 回答日時:
まず、何のアプリケーションなのかぐらいは書きましょう。
恐らくAccessだとは思いますが。ここはVisual Basicの質問場所ですので、Officeに関する質問は「TOP > コンピュータ&インターネット > ソフトウェア > Microsoftアプリケーション」でお願いします。
取得しているのは[番号]フィールドの値ではありません。
フォームがもっているレコードセットの中の「何番目のレコード」という情報です。
CurrentRecordでヘルプを調べれば出ていると思います。
Me.AのAというのはテキストボックスだと解釈し、[B]フォームの[txtName]テキストボックスに[名前]フィールドの値が入っているとして話を進めますね。
Me.A.Value = Form_B.txtName.Value
これでどうでしょうか。
ご回答ありがとうございます。
・アプリケーションはACCESSです。 質問場所 以後気をつけます。
すいません、説明不足でもう少しお願いしたい事があります。
Aはテキストボックスなのですが Bはフォームのテキストボックスでは
ないのです。 あるフォームの中にサブフォームとして入っています。
データベース形式(一覧形式)に入っています。データを直接みています。
というのは、件数自体が固定されていません。3件のデータ(番号が1~3)
5件のデータ(番号1~5)もあります。それぞれに同じ件数の情報がついていま す。 例えば データベース形式では 何番目の情報を取得する ような
形で取得できないでしょうか? 宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) マクロを教えてください。 7 2023/06/01 19:47
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- Excel(エクセル) エクセルの表について 3 2023/04/14 18:00
- C言語・C++・C# C言語 プログラミング 4 2022/05/22 11:53
- Access(アクセス) Access IF文でテーブルに存在しない場合の処理について 2 2022/10/10 18:09
- ポイントサービス・マイル E-TAXについて 2 2023/02/12 16:18
- その他(データベース) c言語の問題です。これを踏まえてコーディングしたいのでおしえていただきたいです。 3 2023/08/03 09:27
- Access(アクセス) ACSESS初心者です マンション管理をACCESSで出来ないかとチャレンジしています。 リレーショ 3 2022/10/08 11:45
- 確定申告 確定申告自体が初めてのE-TAXについて 4 2023/02/12 19:32
- Android(アンドロイド) Google はスマホから個人情報をどのくらいに入っていますか 個体識別番号などもわかる? 2 2023/03/29 20:14
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Vba Array関数について教えてく...
-
【マクロ】シートの変数へ入れ...
-
【マクロ】並び替えの範囲が、...
-
エクセルのVBAコードと数式につ...
-
エクセルのマクロについて教え...
-
エクセルの改行について
-
【VBA】 結合セルに複数画像と...
-
vbsでのwebフォームへの入力制限?
-
算術演算子「¥」の意味について
-
【マクロ】売上一覧YYYYMMDDHHS...
-
【マクロ】開いているブックの...
-
Vba セルの4辺について罫線が有...
-
vb.net(vs2022)のtextboxのデザ...
-
ダブルクリックで貼り付けた画...
-
VBAの「To」という語句について
-
VBAでユーザーフォームを指定回...
-
VBAでCOPYを繰り返すと、処理が...
-
【マクロ】変数を使った、文字...
-
エクセルのVBAコードについて教...
-
ワードの図形にマクロを登録で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Vba セルの4辺について罫線が有...
-
vbsでのwebフォームへの入力制限?
-
【ExcelVBA】5万行以上のデー...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
【マクロ】開いているブックの...
-
【マクロ】並び替えの範囲が、...
-
エクセルの改行について
-
エクセルのマクロについて教え...
-
vb.net(vs2022)のtextboxのデザ...
-
VBAでCOPYを繰り返すと、処理が...
-
VBA ユーザーフォーム ボタンク...
-
エクセルのVBAコードと数式につ...
-
エクセルのVBAコードについて教...
-
[VB.net] ボタン(Flat)のEnable...
-
【マクロ】変数を使った、文字...
-
改行文字「vbCrLf」とは
-
質問58753 このコードでうまく...
-
【マクロ】シートの変数へ入れ...
-
ワードの図形にマクロを登録で...
-
算術演算子「¥」の意味について
おすすめ情報