Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


16706 / 76732 ←次へ | 前へ→

【65490】Re:Accessから値を取得するには?
発言  Yuki  - 10/5/26(水) 11:01 -

引用なし
パスワード
   ▼kokoa さん:

>Accessの配達者一覧のテーブルから
>すでに入力されているEXCEL側の配達者に対して地域を入力させたいのですが
>可能ですか?
もう、解決されていると思いますが
こんな感じで出来ます。
Option Explicit
Sub MdbXlsSet()
  Dim strMdb As String
  Dim strXls As String
  Dim strSQL As String
  Dim cn   As ADODB.Connection
  Dim rs   As ADODB.Recordset

  strXls = ThisWorkbook.FullName
  strMdb = "D:\AccessAPP\db21.mdb"

  strSQL = "SELECT T1.[地域], T2.[日々配達者] " & _
       "FROM 配達者一覧 AS T1 RIGHT JOIN (SELECT * FROM [配達記録$] IN '" & strXls & "' " & _
       "'Excel 8.0;HDR=YES') AS T2 ON T1.[配達者] = T2.[日々配達者]"

'配達者一覧 (Access側)
'地域|配達者
'大阪|太郎
'京都|次郎
'東京|三郎
'
'
'配達記録 (EXCEL側)
'地域名|日々配達者
'   |三郎
'   |次郎

  Set cn = New ADODB.Connection
  With cn
    .Provider = "Microsoft.Jet.OLEDB.4.0"
    .ConnectionString = "Data Source=" & strMdb
    .Open
  End With
  
  Set rs = New ADODB.Recordset
  With rs
    .ActiveConnection = cn
    .CursorLocation = adUseClient
    .CursorType = adOpenStatic
    .LockType = adLockOptimistic
    .Source = strSQL
    .Open Options:=adCmdText
  End With
  
  With Worksheets("配達記録")
    .Cells.Resize(.Rows.Count - 1).Offset(1).Clear
    .Range("A2").CopyFromRecordset rs
  End With
  rs.Close
  cn.Close
  Set rs = Nothing
  Set cn = Nothing
End Sub

1 hits

【65468】Accessから値を取得するには? kokoa 10/5/24(月) 17:15 質問
【65470】Re:Accessから値を取得するには? ponpon 10/5/24(月) 18:05 発言
【65471】Re:Accessから値を取得するには? kokoa 10/5/24(月) 18:33 質問
【65472】Re:Accessから値を取得するには? ponpon 10/5/24(月) 19:10 発言
【65477】Re:Accessから値を取得するには? ichinose 10/5/25(火) 6:58 発言
【65490】Re:Accessから値を取得するには? Yuki 10/5/26(水) 11:01 発言

16706 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free