- ベストアンサー
Accsess2003にて2回目のデータ表示がおかしい
助けてください!! テーブルに会員データ以外に支部テーブル、部会テーブルがあります。 部会テーブルには、支部コード,部会コード,部会名があります。 会員テーブルには、支部コード,部会コードはありますが、それぞれの名称はありません。画面表示には、各名称を表示するようにしています。 1回目の読込は、通常に表示しますが、2回目に別会員を読み込むとき どうしても1回目の支部コードの部会コードを読込んでしまいます。 例えば各テーブルが下記の時、1回目支部テーブル01 部会テーブル01 の場合 「ははは」を表示します。 2回目 支部テーブル02 部会テーブル02 の場合 「ひひひ」を表示します。正解は「みみみ」です。 支部テーブル 01 あああ 02 いいい 部会テーブル 01 01 ははは 01 02 ひひひ 02 01 ままま 02 02 みみみ 簡単なプログラムですが悩んでいます。是非是非、アドバイスお願い致しますm(__)m Public Function 会員データ読み込み(会員番号 As String) As Integer Dim データベース As Database, レコード As Recordset Dim SQLステートメント 会員データ読み込み = 0 'return値設定。 SQLステートメント = "select * from 会員情報テーブル where 会員番号='" & 会員番号 & "'" Set データベース = CurrentDb Set レコード = データベース.OpenRecordset(SQLステートメント) If レコード.EOF = True Then '指定されたコードがない。 : End If With レコード Me!会員名 = !会員名 Me!フリガナ = !フリガナ Me!事業所名 = !事業所名 Me!業種1 = !業種1 Me!支部 = !支部 Me!部会 = !部会 Me!隠し支部 = Me!支部.Column(1) Me!隠し部会 = Me!部会.Column(2) Me!会員種別 = !会員種別 : 中略 退会FLG = !退会フラグ SQLステートメント = "select 部会テーブル.支部コード, 部会テーブル.部会コード, * FROM 部会テーブル WHERE (((部会テーブル.支部コード)='" & Me!支部 & "') AND ((部会テーブル.部会コード)='" & Me!部会 & "'));" Me!隠し部会 = Me!部会.Column(2) End With レコード.Close データベース.Close Set データベース = Nothing End Function
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
お礼
16Augustさん。アドバイスありがとうございますm(__)m JOIN を付けてSQL文を作成し、ちゃんと表示することが出来ました。 本当に助かりましたm(__)m 実は、このプログラムは Access95で誰かが作ったものを Access2003にコンバートして、不具合になったものです。 なので、最初から作ったわけではなかったので??だらけでした。 初歩的な質問にも、きちんと答えていただきまして 本当にありがとうございました。