プロが教える店舗&オフィスのセキュリティ対策術

【Access2013/VBA】

■テーブル構成
【分析テーブル】
・分析ID(主キー)
・依頼ID(外部キー)
・会社ID

【会社管理テーブル】
・会社ID(主キー)
・会社名

■コード

  Dim Rst As DAO.Recordset
  Dim Db As DAO.Database
  Dim SQL As String
  Dim lngID As Long
  Dim FlgWinLoad As Boolean
  
  Me.FlgWinLoad = modPub.FlgWindowLoading
  
  lngID = modPub.Selected依頼ID
  
  'コンボボックスの設定
  SQL = "SELECT DISTINCT [分析テーブル].[会社ID] as [会社ID1], "
  SQL = SQL & " [分析テーブル].[依頼ID], "
  SQL = SQL & " [会社管理テーブル].[会社ID] AS [会社ID2], "
  SQL = SQL & " [分析テーブル].[会社ID] AS [会社ID3], "
  SQL = SQL & " [会社管理テーブル].[会社名] "
  SQL = SQL & "FROM [分析テーブル] LEFT JOIN [会社管理テーブル] ON "
  SQL = SQL & " [分析テーブル].[会社ID] = [会社管理テーブル].[会社ID] "
  SQL = SQL & "where [依頼ID]=" & lngID & " "
  SQL = SQL & "ORDER BY [分析テーブル].[依頼ID] "

  Set Db = CurrentDb
  Set Rst = Db.OpenRecordset(SQL, dbOpenDynaset)
  If Rst.EOF = True And Rst.EOF = True Then
    GoTo errH
    
  End If
  
  Me.cmbo会社ID.ColumnCount = 5
  Me.cmbo会社ID.ColumnWidth = "1cm;1cm;1cm;3cm;3cm"
  Me.cmbo会社ID.RowSource = "会社ID1;依頼ID;会社ID2;会社ID3;会社名"
  Me.cmbo施工会社ID.RowSourceType = "テーブル/クエリ"
  
  Set Me.cmbo施工会社ID.Recordset = Rst.Clone
  
■コード の終わり

エラーになりませんが、画面でコンボボックスのリストが空になります。

解決方法を教えて頂きたいと思います。
よろしくお願いします。

A 回答 (1件)

Me.cmbo会社ID.RowSource = "会社ID1;依頼ID;会社ID2;会社ID3;会社名"


Me.cmbo施工会社ID.RowSourceType = "テーブル/クエリ"

"会社ID1;依頼ID;会社ID2;会社ID3;会社名"

少なくとも、これはテーブルでもクエリでもない。
次のサイトが参考になるかもです。

http://www.moug.net/tech/acvba/0060002.html
    • good
    • 0
この回答へのお礼

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

実は、この質問を上げた後に、自分で解決出来ました。
やり方は、凄く簡単で何だ、こんなことか・・・と思いましたが

Me.cmbo会社ID.RowSource = SQL

これだけでした。

お礼日時:2014/12/24 13:04

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

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す


このQ&Aを見た人がよく見るQ&A