いつもお世話になっております。
データベース読込サンプルVBAを作成しているが・・質問お願いします
下記の[データベースファイル]を読込[VBAコード]書いたのですが・・
1、[MsgBox rs.Fields("P_No").Value]の様に直接だと表示出来るが、
[b(n) = Right(rs.Fields("P_No").Value & "", 3)]の様に変数に移
した後[MsgBox b(n)]の様に実行しても表示されない??
それと
2、20行(20レコード?)だけなのにずっとループして止まらない
ので、[Ctrl]+[Pause]で強制終了させました??
上記は正常な動作なのでしょうか?
お分かりの方が下りましたら教えて下さい
-----------------------------------------------------------------------------------
データベースファイル:Test.mdb
テーブル:[item]
フィールド:[P_No]、[Name]、[Remark]の3つ
※レコードとして20行(20レコード?)くらい・・
※[P_No]は、12-001、12-002、13-055、14-001、・・の様な内容
-----------------------------------------------------------------------------------
VBAコード(フォーム1にComboBox1〜3を貼ってあります)
Option Explicit
Dim dbeng As Object
Dim db As Object
Dim rs As Object
Dim strSQL As String
Dim MyPath As String
Dim b(250) As String '250は適当です
Dim g(250) As String '250は適当です
Dim n As Integer
Private Sub Pro_R2()
ComboBox2.Clear
ComboBox3.Clear
Erase b, g
n = 0
MyPath = "D:\ABCDE\Test.mdb"
Set dbeng = CreateObject("DAO.DBEngine.120")
Set db = dbeng.Workspaces(0).OpenDatabase(MyPath)
strSQL = "SELECT * FROM [item] ORDER BY [P_No] ASC"
Set rs = db.OpenRecordset(strSQL)
Do Until rs.EOF
If Val(Left(rs.Fields("P_No").Value & "", 2)) = ComboBox1.Text Then
b(n) = Right(rs.Fields("P_No").Value & "", 3)
g(n) = rs.Fields("Name").Value & ""
n = n + 1
End If
MsgBox b(n) '表示しない??
MsgBox Right(rs.Fields("Prj_No").Value & "", 3) '表示する
rs.MoveNext
Loop
rs.Close
db.Close
Set rs = Nothing
Set db = Nothing
Set dbeng = Nothing
End Sub
-----------------------------------------------------------------------------------