Access (VBA)

Access VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Pro : Access 2016)
複数の条件を指定
投稿日時: 19/05/18 23:05:02
投稿者: Manabukunn

いつもお世話になっております。
 
Private Sub drugList_Enter()
 
    Dim myDB As Database
     
    Dim myRS As DAO.Recordset
     
    Dim mySQL As String
 
    mySQL = "SELECT DISTINCT 薬剤名 FROM 治療歴"
 
    Set myDB = CurrentDb
 
    Set myRS = myDB.OpenRecordset(mySQL, dbOpenDynaset)
 
    Set Me.drugList.Recordset = myRS
 
End Sub
 
という感じで”治療歴”テーブルにある”薬剤名”フィールドの薬剤ごとに
まとめている感じです。
今回薬剤ごとにまとめるのと同時に”治療歴”テーブルに存在している”患者ID”のあるID=Xの
もの
すなわち患者IDが”X(変数としてして)”でるなかでDISTIMCTをかけるという感じで
進めたいのですがSQL分の書き方がわかりません。
大変申し訳ございませんがお願いいたします。
また、SQL分以外でも対処できる場合はそのような場合は教えていただけると幸いです。
お願いいたします。

回答
投稿日時: 19/05/19 11:58:52
投稿者: hatena
投稿者のウェブサイトに移動

drugList ってなんでしょうか。
(リストボックスの名前かな?)
 
リストボックスとするなら、単純に、下記のコードでいいですね。
 

Private Sub drugList_Enter() 

    Dim mySQL As String 

    mySQL = "SELECT DISTINCT 薬剤名 FROM 治療歴" 

    Me.drugList.RecordSource = mySQL 

End Sub 

 
 
Manabukunn さんの引用:
今回薬剤ごとにまとめるのと同時に”治療歴”テーブルに存在している”患者ID”のあるID=Xの
もの
すなわち患者IDが”X(変数としてして)”でるなかでDISTIMCTをかけるという感じで
進めたいのですがSQL分の書き方がわかりません。

 
患者IDが数値型の場合、
 
    Dim X As Long
    X = 111111

    Dim mySQL As String 
    mySQL = "SELECT DISTINCT 薬剤名 FROM 治療歴 WHERE 患者ID=" & X

患者IDがテキスト型の場合、
 
    Dim X As String
    X = "111111"

    Dim mySQL As String 
    mySQL = "SELECT DISTINCT 薬剤名 FROM 治療歴 WHERE 患者ID='" & X & "'"

 

投稿日時: 19/05/19 19:44:29
投稿者: Manabukunn

hatenaさん。有難うございました。
 

引用:
mySQL = "SELECT DISTINCT 薬剤名 FROM 治療歴"
 
    Me.drugList.RecordSource = mySQL

 
で動くことがわかり感謝です。
また、WHERE 患者IDとつなげることができることが
分かり感激しました。
 
今後ともよろしくお願いいたします。