Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1400 / 2272 ツリー ←次へ | 前へ→

【7307】抽出の際 TB1 06/2/17(金) 16:26 質問[未読]
【7318】Re:抽出の際 小僧 06/2/20(月) 9:14 発言[未読]
【7320】Re:抽出の際 TB1 06/2/20(月) 9:56 質問[未読]
【7323】Re:抽出の際 小僧 06/2/20(月) 12:53 回答[未読]
【7325】Re:抽出の際 TB1 06/2/20(月) 14:26 お礼[未読]
【7327】Re:抽出の際 TB1 06/2/20(月) 16:40 質問[未読]
【7328】Re:抽出の際 小僧 06/2/20(月) 17:17 発言[未読]
【7337】Re:抽出の際 TB1 06/2/21(火) 10:06 質問[未読]
【7347】Re:抽出の際 TB1 06/2/21(火) 15:15 お礼[未読]

【7307】抽出の際
質問  TB1  - 06/2/17(金) 16:26 -

引用なし
パスワード
   VBA初心者です。
あるフォームを改造してデータを抽出しようとするのですが、もとのフォームは問題なく出来るのに、別のリスト名などを用意して改造して作ると、全データが出てきてしまい特定の検索キーで抽出できません。
デバッグをかけると、ここで黄色くなって止まります。Me.の名前は間違いないです。もとのを見ても名前以外同じですし、どこが悪いのかわかりません。どうか教えてください。当方2003版です。

Private Sub Form_Load()
 Set Me.Recordset = Nothing
 
 Me.CORPCODE.ControlSource = ""
 Me.SHOHIN_CODE.ControlSource = ""
 Me.SHOHIN_NAME.ControlSource = ""
End Sub

宜しくお願いします。

【7318】Re:抽出の際
発言  小僧  - 06/2/20(月) 9:14 -

引用なし
パスワード
   ▼TB1 さん:
おはようございます。

>データを抽出しようとするのですが、

問題を整理してみましょう。

データ抽出をしようとするとエラーが発生するのでしょうか。
それともフォームを起動するとエラーが発生するのでしょうか。


ご提示されたコードは

>Private Sub Form_Load()

という事ですで、恐らくフォーム起動時にエラーが発生するのだと思われますが…。


>ここで黄色くなって止まります。

どの行でしょうか。


※ 適宜改行をしましょうね。

【7320】Re:抽出の際
質問  TB1  - 06/2/20(月) 9:56 -

引用なし
パスワード
   早速の回答ありがとうございます。
そそっかしくてすみません。
確かにフォームを開いたときにコンパイルエラーとでます。
Private Sub Form_Load()
が黄色くなり
Me.CORPCODE.ControlSource = ""
のControlSourceが青くなります。
CORPCODE
という名の列はテーブルに存在しますし、サンプルにしたファイルと見比べてもただ名前が違うだけ、に見えるのですが。
なんかすごく初歩的なミスをしている様な気もしてきました。それが、わかりません。教えてください。

【7323】Re:抽出の際
回答  小僧  - 06/2/20(月) 12:53 -

引用なし
パスワード
   ▼TB1 さん:
こんにちは。

>CORPCODE
>という名の列はテーブルに存在しますし、

テキストボックスのプロパティを見ると

名前:
コントロールソース:
書式:




のようになっていますよね。

フォームをウィザードで作成した際には自動で

名前:CORPCODE
コントロールソース:CORPCODE

のように同じ名前でテキストボックスが作成されます。

Me.xxxxx

xxxxx の所に記述するのは、「名前」の方になります。


>>あるフォームを改造して

改造した際に新しいテキストボックスなどを作って、
名前が「テキスト1」の様なままになってしまっていませんでしょうか。

【7325】Re:抽出の際
お礼  TB1  - 06/2/20(月) 14:26 -

引用なし
パスワード
   ありがとうございます。
名前とコントロールソースのこと、ちゃんと把握してなかったです。
おっしゃるとおり、Meのところを名前にしたら、ちゃんと表示しました。
その後ろの
recM("****").Name
は、逆にコントロールソースでないとだめなんですね。
ホッと一安心です。こんな初心者レベルに良くお付き合いいただきました。
ありがとうございました。また分からないことがありましたら、ぜひ質問させてください。

【7327】Re:抽出の際
質問  TB1  - 06/2/20(月) 16:40 -

引用なし
パスワード
   まとことにすみません。
先ほど出来たと思ったのですが、コードで検索は出来るのですが、
品名で検索すると表示しないのです。先ほどのは

Private Sub Form_Load()
 Set Me.Recordset = Nothing
 
 Me.店番.ControlSource = ""
 Me.JANコード.ControlSource = ""
 Me.商品名.ControlSource = ""
 
End Sub

と、Meの部分を「名前」と同一にしました。
もしかして数値と文字では扱いが違うのでしょうか。
また迷路に入ってしまいました。どうぞご教授願います。

【7328】Re:抽出の際
発言  小僧  - 06/2/20(月) 17:17 -

引用なし
パスワード
   ▼TB1 さん:
こんにちは。

>コードで検索は出来るのですが、
>品名で検索すると表示しないのです。

>もしかして数値と文字では扱いが違うのでしょうか。

良いところに気づかれましたね。
VBE(コードが表示されている画面)のヘルプで
「抽出条件の指定」というキーワードで検索をしてみて下さい。

数値抽出条件式
テキスト抽出条件式
日付/時刻の抽出条件式



色々なパターンの使用例が載っていますよ。

【7337】Re:抽出の際
質問  TB1  - 06/2/21(火) 10:06 -

引用なし
パスワード
   おはようございます。
さっそくの回答ありがとうございます。
ヘルプを参照してみましたが、もともと店番やJANコードは行頭に0がくるため文字列扱いにしていました。
しかし商品名だけが検索できず、抽出画面になにも表示されません。
参考にしたファイルを見ても違いがないように思われます。
以下、検索のコードです。

Private Sub 検索_Click()
 Dim cnn As ADODB.Connection
 Dim recN As ADODB.Recordset
 Dim recM As ADODB.Recordset
 Dim strSQL As String
 Dim strSearch As String
 
 Set Me.Recordset = Nothing
 Me.店番.ControlSource = ""
 Me.JANコード.ControlSource = ""
 Me.商品名.ControlSource = ""

テーブルにオリジナルは3列しかないのに、改造したものは5列あるから、とか関係ありますか?
なにか、ちょっとしたことなんじゃないかと、もんどりうってます。
よろしくご教授ください。

【7347】Re:抽出の際
お礼  TB1  - 06/2/21(火) 15:15 -

引用なし
パスワード
   なんだか分からないですが、なんとか抽出できました。
トラブったとき不安が残りますが。
とにかく、ありがとうございました。

1400 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078229
(SS)C-BOARD v3.8 is Free