文字列をコードの変換するプログラムを作っています。
変換表が入っているテーブルから読み込んで、dictionaryに保存しました。
文字列が入っているデータを取り出して、dictionaryに入っている変換表を使って、文字列をコードに変換しようとしました。
しかし、以下のプログラムの
Debug.Print uriage_torihiki_kbn_cd
は常に0です。
このあたり
uriage_torihiki_kbn_cd = uriage_torihiki_kbn_array.Item(rst2!売上取引区分)
の問題かと思い、
uriage_torihiki_kbn_cd = uriage_torihiki_kbn_array(rst2!売上取引区分)
のように書き換えてみたのですが、同じでした。
dbo_m_uriage_torihiki_kbnには、
uriage_torihiki_kbn_cd uriage_torihiki_kbn_nm 1 売上1 2 ②-1 3 ②-2 4 ②-3 5 ③-1
のようにデータが入っています。
商品テーブルは以下のような感じです。
商品コード 商品名 頭文字 売上取引区分 000000001 商品A カヘ ④-1 000000002 商品B カヘ ④-1
何か、ご存じのことがあれば、ご教授いただけますと幸いです。
Option Compare Database Public Sub Iko_syouhin() Dim dbs As Database Dim rst As Recordset Dim rst2 As Recordset Dim rst_m As Recordset Dim uriage_torihiki_kbn_cd As Integer Dim uriage_torihiki_kbn_array As Object Set uriage_torihiki_kbn_array = CreateObject("scripting.dictionary") Set dbs = CurrentDb Set m_rst = dbs.OpenRecordset("dbo_m_uriage_torihiki_kbn") For i = 0 To m_rst.RecordCount - 1 rec = m_rst.GetRows() uriage_torihiki_kbn_array.Add rec(1, 0), rec(0, 0) Next Set rst2 = dbs.OpenRecordset("商品") Set rst = dbs.OpenRecordset("dbo_m_syouhin") With rst2 Do Until .EOF uriage_torihiki_kbn_cd = uriage_torihiki_kbn_array.Item(rst2!売上取引区分) Debug.Print rst2!売上取引区分 Debug.Print uriage_torihiki_kbn_cd '省略 .MoveNext Loop .Close End With rst.Close dbs.Close Set dbs = Nothing End Sub

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。