みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

コンボボックスにレコードセットでリストをセットする

【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
  
■コード の終わり

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

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

投稿日時 - 2014-12-24 11:54:03

QNo.8868771

すぐに回答ほしいです

質問者が選んだベストアンサー

Me.cmbo会社ID.RowSource = "会社ID1;依頼ID;会社ID2;会社ID3;会社名"
Me.cmbo施工会社ID.RowSourceType = "テーブル/クエリ"

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

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

http://www.moug.net/tech/acvba/0060002.html

投稿日時 - 2014-12-24 12:25:29

お礼

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

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

Me.cmbo会社ID.RowSource = SQL

これだけでした。

投稿日時 - 2014-12-24 13:04:01

ANo.1

このQ&Aは役に立ちましたか?

7人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問