したがって、Access には次のコードがあります。
Dim db As DAO.Database
Dim qdEPH As DAO.QueryDef
Dim rsEPH As DAO.Recordset
Set qdEPH = DBEngine(0)(0).QueryDefs("MyQuery")
qdEPH.Parameters(0) = Text10.Value
Set db = CurrentDb
Set rsEPH = qdEPH.OpenRecordset
Set oExcel = CreateObject("Excel.Application")
Set oBook = oExcel.Workbooks.Add
Set oSheet = oBook.Worksheets("Sheet1")
oSheet.Activate
Dim Count as Long
Count = 1
Do While Not rsEPH.EOF
oSheet.Range("A" & Count).Value = rsEPH("Value1")
Count = Count + 1
rsEPH.MoveNext
Loop
ユーザーはText10
フォームのテキスト ボックスに値を入力し、ボタンをクリックして上記のコードを実行します。クエリMyQuery
を実行し、結果を という名前のレコードセットにダンプしますrsEPH
。フィールドの 1 つは、Value1
クエリ対象のテーブルにテキスト値として格納されます。しかし、それは実際には数です。数値に変換rsEPH("Value1")
して (失敗した場合は Null または何かを返す)、それを 100 で割るにはどうすればよいですか?