重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【終了しました】教えて!gooアプリ版

教えてください!
下記のモジュールで走らせると、
「ユーザ定義型は定義されていません」
と表示が出て止まってしまいます。

要は、左端の「No.」という列に
通し番号を入れたいのですが・・・。

Option Compare Database

Sub setNumber(tblname As String, fldname As String)
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim ssql As String
Dim dblCnt As Double
Dim strCnt As String

dblCnt = 0
Set db = CurrentDb()
ssql = "SELECT * FROM " & tblname
Set rs = db.OpenRecordset(ssql)
rs.MoveFirst
Do While Not rs.EOF
dblCnt = dblCnt + 1
strCnt = Format$(dblCnt, "00000000")
rs.Edit
rs.Fields(fldname).Value = strCnt
Debug.Print strCnt
rs.Update
DoEvents
rs.MoveNext
Loop
End Sub
Sub Execute()
Call setNumber("◎テーブル1", "No.")
End Sub

A 回答 (2件)

VBの参照設定がされていないのではと思うのですが・・。


参照設定を開いて Microsoft DAO 3.5 Object Library にチェックを入れて再度立ち上げなおし試してください。
DAOのObjectLibraryのバージョンはお使いのVBで違うかもれません。
    • good
    • 0
この回答へのお礼

回答ありがとうございます!
とりあえず動いたのですが、
実はこのテーブル、50万レコードで500M
ぐらいの大きさなのですが、これを走らせると
なぜか30万ぐらいのところで止まるのです。
なんでかなーと見てみると、なぜか2Gに!
書き方が悪いんでしょうか・・・?

お礼日時:2005/04/24 02:15

VBの参照設定がされていないのではと思うのですが・・。


参照設定を開いて Microsoft DAO 3.5 Object Library にチェックを入れて再度立ち上げなおし試してください。
DAOのObjectLibraryのバージョンはお使いのVBで違うかもれません。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!