
Do While Not rs.EOF
If Text1(0).Text <> rs.Fields(1) Then
/*--*--*/
rs.MoveNext
Else
msg = "コードが重複しています."
MsgBox msg, vbOKOnly, "重複チェック"
Text1(0).Text = ""
Text1(0).SetFocus
End If
Loop
*------
text1(1) = rs.fields(1)
text1(2) = rs.fields(2)
-------*
データベース(Access)にデータが3件入っていて、例えば、1件目のデータを更新したいのですが今のソースでは、/*--*--*/でデータベースを次々読んでいるので、3件読み終えたときにカレント行が4件目にあると思うので、それを”任意”の行にしたいのですが教えてください。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
再びmaruru01です。
もし、Accessのそのテーブルのレコードを、
変更や追加はするが、削除はしない
ということであれば、そのテーブルに新しく数値のフィールドを作って、一番上のレコードから順に、
1,2,3・・・
という風に連番をつけてはどうでしょう。
そうすれば、Findを使って、そのフィールドの値で検索出来ます。
連番は、15個ぐらいなら手入力出来ますし、もし実はレコードが多いということなら、コードで書いて実行してもいいと思います。
では。
No.2
- 回答日時:
こんにちは。
maruru01です。ちょっとお聞きしたいんですが、
どういう条件で、"5行目"を取り出すのでしょうか。
どこかのフィールドの値がある条件のデータでしょうか。それなら、Findを使えばいいと思います。
それとも、"行数"が問題なんでしょうか。でも、行数は、Accessでテーブルをいじってしまう(ソート)と変わってしまいますけど。
データの内容に関係なく移動するのはMove系(先頭、前、後ろ、末尾)で、任意の条件での移動はFindになります。
補足をお願いします。
では。
この回答への補足
そうですね、”行数”が問題になっています。ACCESSのテーブルはいじらないとおもってください。
今問題になっているのが”データ更新”のところなんですが??
/*** ***/
ここで、データがある文だけ最初から探しているので、例えば、データが10件入っていて、1行目のデータを変更するときは、/###/のところにmovefirstをつかえばいいのですが、3件目のデータとかの場合はどうすればいいのですか??
/*注意*/
textxは1~15までが入っていて、だから15個このようなプログラムがあります。
If Textx(0).Text <> rs.Fields(1) Then
'重複チェック
rs.MoveFirst
Do While Not rs.EOF
If Textx(0).Text <> rs.Fields(1) Then
/***
rs.MoveNext
****/
End If
Loop
End If
/#####/
rs.Fields(1) = Textx(0).Text
No.1
- 回答日時:
まずちょっと変更したほうがいい点です。
>If Text1(0).Text <> rs.Fields(1) Then
↑のような条件判定をレコードごとに行うのはよくありません。
今は3件だけかもしれませんが、1000件のデータを対象にすると
時間がとてもかかります。
SQLでwhere句で条件を指定してもっとレコードを絞り込むべきです。
>それを”任意”の行にしたいのですが教えてください。
なぜ任意にしたいのでしょう。
SQLを再発行するとか、MoveFirstを使用してはだめなのですか?
この回答への補足
それじゃあ、ちょっと言い方を変えます。ACCESSにデータが10件は入っていて、5行目のデータを取り出したいときにはどうすればいいですか?
moveXXXでないですか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ADO VBA 実行時エラー3021
-
Line Inputで文字化け(助けて...
-
ACCESSで大量の更新を行うと「...
-
差し込み印刷のレコード数について
-
[VBA] ADOの Clone と AddNew
-
Access を×ボタンで閉じ...
-
Access でレコードセレクタが押...
-
DataGridViewの内容をDBに反映...
-
VBでコピー時間を表示したい。
-
固有レコード識別子の選択とは
-
ワードの差込印刷で教えて下さ...
-
Accessデータシートビューの行...
-
VB6.0のIsNull関数に相当するもの
-
VBAで制御コード付きテキストフ...
-
ファイル書込みで一行もしくは...
-
JSPのNULLレコード表示について...
-
エクセル関数 文字(ハイフン...
-
Oracleでの文字列連結サイズの上限
-
Accessで別テーブルの値をフォ...
-
SQL 外部結合についての質問
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ADO VBA 実行時エラー3021
-
JSPのNULLレコード表示について...
-
ファイル書込みで一行もしくは...
-
ワードの差込印刷で教えて下さ...
-
レコードが存在しなかった場合
-
DataGridViewの、選択されてい...
-
差し込み印刷のレコード数について
-
サブフォームに新規レコードを...
-
DataGridViewの内容をDBに反映...
-
アクセスでレポートの1印刷内...
-
固有レコード識別子の選択とは
-
カレントレコードが無い事を判...
-
レコードセット(ADO.Recordset)...
-
ACCESSで大量の更新を行うと「...
-
データセットのレコード更新が...
-
Access を×ボタンで閉じ...
-
サブレンジ分割されたNDB(富士...
-
[VBA] ADOの Clone と AddNew
-
Access でレコードセレクタが押...
-
ヘッダレコードとトレーラレコ...
おすすめ情報