連番入力について。
環境:ACCESS2000
状況:フォーム(名称:在庫管理)
フォーム上にテキストボックス(名称:text品番頭)
テキストボックス(名称:text品番start)
テキストボックス(名称:text品番last)
テキストボックス(名称:text商品名)
テキストボックス(名称:text仕入先)
コマンドボタン(名称:command登録)
テーブル(名称:在庫マスター)
フィールド 品番 商品名 仕入先
今回やりたい事:
text品番頭にアルファベット3文字、
text品番startに数字4桁(登録したい番号の開始数字)、
text品番lastに数字4桁(登録したい番号の最後)、
text商品名に商品名、text仕入先に仕入先
を入力し、command登録でテーブルに入れる。
その際、品番はtext品番頭+text品番start~text品番lastでフィールド品番に連続登録、
商品名及び仕入先はtext商品名(text仕入先)に入力されたものを全ての品番に対応した
商品名及び仕入先フィールドに登録。
Private Sub command登録_Click()
Dim db As Database
Dim rs As Recordset
Dim i As Long
Dim s As String
Set db = CurrentDb
Set rs = db.OpenRecordset("在庫マスター", dbOpenDynaset)
If IsNull(Me!text品番last) Then
With rs
rs.AddNew
rs!品番 = Me!text品番頭 + text品番start
rs!商品名 = Me!text商品名
rs!仕入先 = Me!text仕入先
End If
If Not IsNull(text品番last) Then
For i = Me!text品番start To text品番last ← ここがエラー(エラー13 型が一致しません)
With rs
rs.AddNew
rs!品番 = Me!text品番頭 + CStr(i)
rs!商品名 = Me!text商品名
rs!仕入先 = Me!text仕入先
End If
rs.Update
End With
Next i
rs.Close
Set rs = Nothing
db.Close
Set db = Nothing
End Sub
上記動作は問題ないのですが、
何故か text品番last が空白の場合
2・3回に1度エラーがでます。
※成功する時もある。
これを回避するにはどうしたら良いのでしょうか?
何卒ご教授の程宜しくお願い致します。
No.1ベストアンサー
- 回答日時:
まずは文字列の結合に+を使うのを止め、&を用いる。
> text品番startに数字4桁(登録したい番号の開始数字)、
> text品番lastに数字4桁(登録したい番号の最後)、
常に数字4文字で構成されてはいるが、文字列でしょ?
数値で扱うつもりなら、FORMATで整形しないと。
rs!品番 = Me!text品番頭 & Format(text品番start, "0000")
bin-chanさんありがとうございます。
数値型に統一指定しておけば良かったのですね。
どうやら今回数字は3桁~5桁あったようで
0は使いたくないとの事があり
Val()を使い指定してみましたところ
今のところ(まだ10回程度)試してエラーは出ませんでした。
誠にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Excel(エクセル) SUMIFのIF分岐について 4 2023/04/15 12:57
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Visual Basic(VBA) EXCEL関数LOOKUPとFILTERについての質問です 1 2022/12/21 05:53
- Visual Basic(VBA) VBA 重複チェック後に値をワークシートに転記する方法を教えてください。 1 2023/03/19 12:43
- Visual Basic(VBA) VBAで最新のデータを別シートに転記する方法をお教えください。 3 2022/04/07 19:20
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- その他(データベース) c言語の問題です。これを踏まえてコーディングしたいのでおしえていただきたいです。 3 2023/08/03 09:27
- Visual Basic(VBA) 【ExcelVBA】Powerクエリーでいうピボット解除と同じ処理をVBAで 4 2022/07/06 17:09
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Pythonでのstrip()とsplit()の...
-
perlによるxmlファイルの取得
-
sublimit textっていうエディタ...
-
助けてください!
-
「Thanks 4 sending me」←誤文?
-
PHP GDでテキストを含む最小の...
-
Rubyにおける正規表現(一致し...
-
【VB6.0】 あるフォームから他...
-
C#のループでtextboxに値を入れ...
-
二点の座標から距離や角度を求...
-
VB.NETでのイベントの途中終了
-
エクセルVBAでテキストボッ...
-
C言語のサフィックスについて
-
VBAでcallで呼び出したsubを終...
-
他のフォームから別のフォーム...
-
pthread_cond_waitとptherad_co...
-
VC++ (byte)(col & 0xFF) の意味
-
レコードセットにnullの場合
-
C言語で10行10列の行列式の値を...
-
タイムアウトする仕組みを作りたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
sublimit textっていうエディタ...
-
ExcelのVBAで文章にある複数の...
-
テキストボックスかラベル上の...
-
【VBS】クリップボード操作につ...
-
RichTextBoxで指定行の色を自動...
-
vba 日本語以外を抽出について
-
文字列を配列に…。
-
Pythonのre.split()の正規表現...
-
VBスクリプトでファイルのコピ...
-
文字列を日付型情報として計算...
-
VB6.0 sp5]テキストボックスと...
-
XMLファイルのattribute値がう...
-
VBScript、ClipboardDataオブジ...
-
助けてください!
-
Googleシート「A1」でなくて「A...
-
HTMLのデータ読み取り
-
Visual Basicについてお聞きし...
-
[VB6] SQLの作成について
-
perlによるxmlファイルの取得
-
表の文字の均等割りについて
おすすめ情報