掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
IDを呼び出して、足しこんで、新規IDを作成するには? (ID:125767)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
初めまして。宜しくお願いいたします。 VB6.0で初めてのプログラム作成を 行っているのですが、 Dim cn As New ADODB.Connection Dim rst As ADODB.Recordset Dim strSQL As String If txtId = "" Then Dim newID As Long Dim longSQL As Long Set cn = New ADODB.Connection cn.ConnectionString = _ "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=c:\Documents and Settings\tateoka\My Documents\弁当データ.mdb" cn.Open Set rst = New ADODB.Recordset rst.Source = "顧客マスタ" rst.ActiveConnection = cn rst.CursorType = adOpenStatic rst.LockType = adLockOptimistic rst.Open strSQL = "SELECT MAX(お客様ID) as OID FROM 顧客マスタ" longSQL = CLng(rst.Fields("OID")) newID = longSQL + 1 '顧客登録がされていない場合の処理 On Error GoTo Errorhandler 'トランザクション開始 cn.BeginTrans With rst .MoveLast .AddNew ![お客様ID] = newID ![お客様名] = txtName.Text ![住所] = txtAddr.Text ![電話番号] = txtTel.Text .Update End With '全てのフィールドに登録しない場合にエラーを発生させる。 If txtName.Text = "" Or txtAddr.Text = "" Or txtTel.Text = "" Then Err.Raise (0) End If cn.CommitTrans MsgBox "追加完了" txtName.Text = "": txtAddr.Text = "": txtTel.Text = "" rst.Close cn.Close Set rst = Nothing Set cn = Nothing Exit Sub Errorhandler: MsgBox Err.Description MsgBox "元に戻します" cn.RollbackTrans txtName.Text = "": txtAddr.Text = "": txtTel.Text = "" cn.Close Set rst = Nothing Set cn = Nothing End If という風に入力して、お客様IDの最大値を呼び出して それを数値化して、1つ数字を足して新規登録者の IDとするようにしたいのですが、実行すると (実行時エラー’3265’) 「要求された名前、または序数に対する項目がコレクションで見つかりません」というエラーが発生します。 どこがおかしいのか自分なりに考えてみましたが解りませんでした。 どうか宜しくお願いします。併せて、長文失礼いたしました。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.