
No.5ベストアンサー
- 回答日時:
こんにちは。
>で、せっかくなので実際やってみてからお返事したい!と思ってぺたぺた張ってみたりしたのですが、
>どうもうまくできなくて・・・
>何しろ初めてなので、何もわからなくって。
ごめんなさい。よく質問を読んでいませんでしたのでとんちんかんなレスをしたかもしれません。
どんなエラーが出るかによりますが、
「パラメータが少なすぎます。? を指定してください。」
と出た場合は「ID」と書いている全ての文字を「整理番号」に変更してみてください。
>StSQL = "select 整理番号 from テーブル1 order by 整理番号"
>If RS!整理番号 = i Then
上記3カ所
「入力テーブルまたはクエリ '???' が見つかりませんでした。そのテーブルやクエリが存在していること、
または名前が正しいことを確認してください。」
と出た場合は、テーブル名が違っていますので以下の「テーブル1」の部分を修正してください。
>StSQL = "select 整理番号 from テーブル1 order by 整理番号"
それ以外のエラーが出る場合は補足に書いてください。
あと、この方法では、大量に抜けているデータが存在する場合は、取得したデータをテーブルに書き込むなどの工夫が必要です。
#3のstorkさんが回答した方法等で解決しているのであれば、こんなやり方もあるんだ、くらいに思ってください。
度々ありがとうございます!おかげさまで、なんとかできました!!
丁寧な回答、本当に感謝感謝です!
これをきっかけにVBAにチャレンジしてみようと思います。
No.4
- 回答日時:
こんにちは。
以下のコードで実現できます。
テーブル名が「テーブル1」、ID列が「ID」で1から始まっているという前提です。
下記コードを貼り付けて、テーブル名を編集し実行するとイミディエイトウインドウに抜けたIDが表示されます。
一応実験済み。
Sub test1()
Dim DB As DAO.Database
Dim RS As DAO.Recordset
Dim StSQL As String
Dim i As Long
Dim Flag As Boolean
Set DB = CurrentDb
StSQL = "select ID from テーブル1 order by ID"
Set RS = DB.OpenRecordset(StSQL)
i = 1
Do Until RS.EOF
Flag = False
Do Until Flag
If RS!ID = i Then
Flag = True
Else
Flag = False
Debug.Print i
i = i + 1
End If
Loop
RS.MoveNext
i = i + 1
Loop
Set RS = Nothing
Set DB = Nothing
End Sub
お返事送れてすみません。
ありがとうございます~実際にコードを書いていただいて、しかもテストまで。
感激です!
で、せっかくなので実際やってみてからお返事したい!と思ってぺたぺた張ってみたりしたのですが、どうもうまくできなくて・・・
何しろ初めてなので、何もわからなくって。
でももう少しがんばってみます。回答本当にありがとうございました。
No.3
- 回答日時:
VBAで照合するよりクエリで照合する方が楽ですよ~。
そこで連番の作成が問題になってきますが、件数によって
1.エクセルのオートフィルを使って連番を作成してアクセスでインポートする。
2.オートナンバー型を持つテーブルを作成して行挿入の処理をループをまわす。(これだけなら簡単でしょう?)
初心者だったら、1の方法がわかりやすいですね。
数万件以上であれば2の法が簡単です。
あとは、不照合クエリを作成してください。
回答ありがとうございます!
いろいろなやり方があるのですね~。1の方法なら私にもできそうです!
2の方は・・・すみません、初心者すぎてそれさえもわからず・・・とほほ。
がんばってみます!!
No.2
- 回答日時:
クエリーでもできるでしょうか?
面倒ですけど出来ますよ。
現実的ではないですが・・・
伝票番号のフィールドだけを持つテーブルを作成して、検査したい開始番号から終了番号までのレコードを作成する。
クエリーで伝票TBとチェックTBを伝番でリンクしてプロパティをチェックTBの全てを表示する様に設定。
伝票TBの伝番以外の必須フィールドの条件をNullにする。
チェックTBの伝番を表示すれば、伝票TBに存在しない伝番だけ出てきます。
こんな面倒な事をするならVBAでチェックプログラムを書いたほうがスマートかと思いますが・・・・
具体的に書いていただいてありがとうございます~。ほんとにスミマセン。
ふー、実は私もそれを思いついてみましたが、おっしゃるとおり現実的ではないですよね・・・
VBAについに踏み入れるべきかしら・・・。
チェックプログラムは難しいでしょうか?
参考になりそうなURLなどあったら教えていただけないでしょうか・・・
前に本屋さんでVBAの本も見てみましたが、初心者向けなのにいきなりハイレベルでチンプンカンプン
でした。田舎に住んでいるもので、本も少ないのです(涙)。
No.1
- 回答日時:
データベースは入力されているデータを検索するのは簡単ですが、無いものを検索することは出来ません。
仮に連番で整理番号が振られているのなら、マクロなりVBAなりで番号を+1しながら順番にレコードが存在するかどうかを確認するしかないと思います。
早速の回答ありがとうございます。
やっぱりそうですか・・・
>マクロなりVBAなりで番号を+1しながら順番にレコードが存在するかどうかを確認するしかない
すみません・・・マクロではどのように書くのでしょうか。
良かったら教えていただけませんか?難しいのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
アクセスで「空き番」の確認
Access(アクセス)
-
ACCESS──メインフォームでサブフォームのレコード件数をカウントしたい
Access(アクセス)
-
前のレコードの値を自動で入れたい
PowerPoint(パワーポイント)
-
-
4
「#エラー」の回避
Access(アクセス)
-
5
Accessのフォーム上にレコード数とレコード番号の表示
その他(データベース)
-
6
Access2007でSQLの複数列副問い合わせについて
その他(データベース)
-
7
ACCESS フォームからサブフォームのデータを更新・入力したい
Access(アクセス)
-
8
Accessのレポートで重複データ非表示がうまくいきません。 txt場所とtxt名前には重複データ非
Access(アクセス)
-
9
サブフォームに対してGoToRecordするには?
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessのフォームのテキストボ...
-
AccessVBA SetFocusとGoToCon...
-
差込印刷での全角表示について...
-
SQL文で パラメータが少なすぎ...
-
ファイルメーカーのCase関数で
-
Excleピボットでデータのない部...
-
アクセスのクエリー作成
-
VBA 別シートの同じ日付の欄に...
-
Access テーブルを分割してエク...
-
エクセルデータをワードで差し...
-
年度ごとの最大値
-
EXCEL→ACCESSインポートでセル...
-
EXCELの外部データ取得ができない
-
アクセスのエラー「クエリには...
-
アクセスで追加した項目に全て...
-
Accessで、テーブルに入力した...
-
ACCESSでの文字数カウント
-
ACCESSの時間帯の抽出について
-
Accessのハイパーリンクをクリ...
-
Accessの桁区切りについ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
AccessVBA SetFocusとGoToCon...
-
Accessのフォームのテキストボ...
-
アクセスのデータをCSVファイル...
-
初心者なのですが・・・access...
-
Accessのフォームで計算した結...
-
Access フォームの参照先について
-
accessについてです。
-
ACCESSで他のテーブルからのデ...
-
access2019 コンボボックスの値...
-
Accessでアンケート集計を構築...
-
差込印刷での全角表示について...
-
日付型のフィールドに空白を入...
-
ACCESSでの文字数カウント
-
アクセスのエラー「クエリには...
-
SQL文で パラメータが少なすぎ...
-
ファイルメーカーのCase関数で
-
Excleピボットでデータのない部...
-
年度ごとの最大値
-
アクセスのクエリー作成
-
アクセスで追加した項目に全て...
おすすめ情報