- 締切済み
アクセスの表形式のフォームにマスターよりデータを取得したい
よろしくお願いいたします。 SYAINCD|NAME|TEL|JOB| というテーブルがあるとします。(全て非連結にしました) このテーブルのフォームをウイザードを使い、表形式にて 作成しました。そこで何をしたいかといいますと SYAINCD|NAME| 001 |A | という社員マスターがありますので、そこから、先ほどの フォームのNAMEへデータ(A) を入れたいのです。そこで 教えていただきたいのは。 (1) フォームはできたのですが、SYAINCD にコードを入力すると 即、2行目ができてしまいます。これで正常なのでしょうか? (2) フォームでSYAINCD(3桁)を入力し終わったら起動する、以下の ようなVBA を記述してみました。これでAをフォームに取得するつもりで。 Private Sub SYAINCD_LostFocus() Dim cn As ADODB.Connection Dim inrs1 As ADODB.Recordset Dim MYSQL As String Set cn = CurrentProject.Connection MYSQL = "SELECT NAME FROM SYAINMST WHERE SYAINCD = '" & Me!SYAINCD & "';" Set inrs1 = New ADODB.Recordset inrs1.Open MYSQL, cn, adOpenKeyset, adLockReadOnly If inrs1.RecordCount <> 0 Then Me!NAME = inrs1!NAME Else Me!NAME = "該当者なし!!" End If inrs1.Close: Set inrs1 = Nothing cn.Close: Set cn = Nothing End Sub 結果、1行目のNAMEにはAが格納されましたが、2行目のNAMAにもAが 格納されてしまいました。 この場合1行目のNAMEのみAを格納することはできないのでしょう か? VBAの記述がおかしいのはなんとなく分かるのですが、対処法がわか らなくてこまっております。 それとも表形式のフォームでは不可能なことなのでしょうか? 例が分かりずらくて申し訳ありませんが、ご教授をお願いいたしま す。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17070)
お礼
お礼が遅れまして申し訳ありませんでした。ご丁寧な回答ありがとうございました。大変参考になりました。