アプリ版:「スタンプのみでお礼する」機能のリリースについて

MT_社員のテーブルがあります。

ID   社員ID   名前
1   a12345 山田 
2   a45678  鈴木
3   a58976    高橋


F_営業管理(連結の入力フォーム)があります。

名前:山田(コンボボックス)
社員ID:a12345(dolooKupを利用して自動的に表示)

というようなことをVBAでやりたいのです。

また、式ビルダーのときも教えて頂ければ幸いです。

バカなので何時間やってもうまくいきません

質問者からの補足コメント

  • Private Sub コマンド29_Click()
    Dim a As String
    Me.名前 = a
    Me.社員ID = DLookup("社員ID", "MT_社員", "名前 =" & a & "'")
    End Sub

    これでおかしいですか?
    ちなみに、名前、社員IDは非連結に変更してみました。

      補足日時:2015/03/30 17:18
  • 回答ありがとうございます。

    私のVABの記述事態が間違っていたので、

    Me.社員ID = DLookup("社員ID", "MT_社員", "名前 ='" & a & "'")もエラーでした。

    No.1の回答に寄せられた補足コメントです。 補足日時:2015/03/30 19:26
  • 基本的なことなんですが、dlookup関数が非連結でしか利用できないのでしょうか?

    という事は、下記のことができたとしても、

    名前:山田(コンボボックス)
    社員ID:a12345(dolooKupを利用して自動的に表示)

    F_営業管理(連結の入力フォーム)のテーブルには反映されないのでしょうか?

      補足日時:2015/03/30 22:23
  • Dim strID As String
    Dim strNAME As String

    strID = Trim("" & Me.名前)
    strNAME = "" & DLookup("社員ID", "MT_社員", "名前 ='" & strID & "'")

    If strNAME = "" Then
    MsgBox "ID " & strID” ありません
    Else
    Me.名前 = strNAME
    End If

    この構文でおかしいところありますか?
    名前のところが、コンボボックスになっていてフィールドの定義が数値型になっています。
    なぜか Me.名前 = strNAMEでデバックが発生します。
    教えていただけないでしょうか?

      補足日時:2015/03/31 00:09

A 回答 (2件)

> Me.社員ID = DLookup("社員ID", "MT_社員", "名前 ='" & a & "'")もエラーでした。



> 名前のところが、コンボボックスになっていてフィールドの定義が数値型になっています。
> なぜか Me.名前 = strNAMEでデバックが発生します。

エラーメッセージを正確に書くようにしましょう。
どのような場合にも。


F_営業管理(連結の入力フォーム)の レコードソースについて

テーブルなら、「名前」フィールドが ルックアップになっていて
設定がおかしい可能性が大ですね。
おそらく連結列が「名前」ではなく「ID」になっているとか。


最近、同じような質問があり、
https://oshiete.goo.ne.jp/qa/8953470.html

そこでアドバイスされているこちら
http://members2.jcom.home.ne.jp/cozy.nakayama/Ac …

など、参考になると思いますよ。


なお、データベースの正規化という点から
マスタテーブル以外に
「社員ID」「名前」の両方のフィールドをおくのはおすすめできません。
普通は、「社員ID」のみを保存し、クエリで「名前」を見せるようにします。
    • good
    • 0
この回答へのお礼

遅くなりました。
テーブルで、ルックアップウィザードでコンボボックスを作成したためにエラーがでていました。

フォームからコンボボックスを作成したら、できました。

お礼が遅くなってもうしわけありませんでした。

お礼日時:2015/04/02 23:24

> Me.社員ID = DLookup("社員ID", "MT_社員", "名前 =" & a & "'")



 Me.社員ID = DLookup("社員ID", "MT_社員", "名前 ='" & a & "'")
この回答への補足あり
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

私のVABの記述事態が間違っていたので、

Me.社員ID = DLookup("社員ID", "MT_社員", "名前 ='" & a & "'")もエラーでした。
No.1の回答に寄せられた補足コメントです。補足日時:2015/03/30 19:26

お礼日時:2015/03/30 19:47

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!