Access VBA質問箱 IV

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

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


295 / 500 ページ ←次へ | 前へ→

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

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

【7324】Re:クリックした時の行番号の取得方法
お礼  VBAの迷い子  - 06/2/20(月) 14:15 -

引用なし
パスワード
   ありがとうございます。
フォームの基になっているテーブル(またはクエリ)であれば、
ダブルクリックされたレコードは、Me.Recordsetを参照することで
どのレコードかがわかるという事ですね。
いいヒントになりました。ありがとうございます。
開発に専念できそうです。
・ツリー全体表示

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

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

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

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

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




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

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

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

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

Me.xxxxx

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


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

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

【7322】Re:クリックした時の行番号の取得方法
回答  小僧  - 06/2/20(月) 12:46 -

引用なし
パスワード
   ▼VBAの迷い子 さん:
こんにちは。

>明細行のある行をダブルクリックした際にクリックした行の番号を取得

Access には残念ながら行という概念はありません。

ソート順が指定してある場合でしたら

Private Sub Form_DblClick(Cancel As Integer)
  MsgBox Me.Recordset.AbsolutePosition
End Sub

のようにして、「何番目のレコードか」というものを取得できます。


フォームの基になっているテーブル(またはクエリ)に
Unique なフィールドは存在していますでしょうか。

あるのであれば、そのフィールドをキーにして操作をするのが一般的ですね。

※ 適宜改行をしましょうね。
・ツリー全体表示

【7321】Re:クエリでテーブルの構造を変更するには
お礼  kumakai  - 06/2/20(月) 11:12 -

引用なし
パスワード
   小僧さん
 ヒントをいただき、動作を確認しましたので、問題解決となりました。
本当にありがとうございました。
・ツリー全体表示

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

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

【7319】クリックした時の行番号の取得方法
質問  VBAの迷い子  - 06/2/20(月) 9:31 -

引用なし
パスワード
   表形式のフォームを作成し、明細行のある行をダブルクリックした際にクリックした行の番号を取得して、その行に対していろいろと処理をやってみたいのですが、クリックされた行がどこなのかを取得する方方がわかりません。ご教授の程宜しくお願い致します。
・ツリー全体表示

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

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

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

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

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


ご提示されたコードは

>Private Sub Form_Load()

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


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

どの行でしょうか。


※ 適宜改行をしましょうね。
・ツリー全体表示

【7317】Re:そういう機能はありません
回答  たん  - 06/2/20(月) 8:48 -

引用なし
パスワード
   リストボックスにそういう機能はありません。

# 各コントロールに出来る事は、各コントロールのプロパティにある事
# だけです。

同様の事を実現させたいのであれば、サブフォーム等でリストボックスの
代用をさせるようにするしかありません。
・ツリー全体表示

【7316】Re:クエリでテーブルの構造を変更するには
質問  kumakai  - 06/2/19(日) 22:37 -

引用なし
パスワード
   小僧さん
 ヒントをいただき、動作を確認しましたので、問題解決となりました。
本当にありがとうございました。

次の質問がありますので、よろしくお願いします。
前回のレッセンで、以下のクエリ結果をもって、比率計算します。
クエリ工程名
工程名 Step01_開始 Step01_終了 Step02_開始 Step02_終了・・・・

Step01比率:iif([Step01_開始]<>0,int([Step02_終了]*100/[Step01_開始]),null)
Step01〜Step80の比率一個一個で新しいクエリに書くことが出来ますが、
最大の問題は、
元データのクエリ工程名のレイアウトがたまに(Step01〜Step80)可変に
なりますから、比率を算出するときの対応は困っています。
・ツリー全体表示

【7315】Re:空白と長さ0の文字列について
回答  よろずや  - 06/2/19(日) 21:08 -

引用なし
パスワード
   > このデータをEXCEL上で、IF関数で数量1と数量2を比較して同じなら○
> 違う値なら×と指定しても、ACCESSのIIF関数なら200512の数量は○のはずが、
> EXCELだと×になります。

SQL では NULL の比較結果は NULL になります。

数量1 数量2 =の結果 <>の結果
100  100  TRUE   FALSE
100  200  FALSE  TRUE
100  NULL  NULL   NULL
NULL  100  NULL   NULL
NULL  NULL  NULL   NULL
・ツリー全体表示

【7314】空白と長さ0の文字列について
質問  初心者  - 06/2/19(日) 18:00 -

引用なし
パスワード
   ACCESSで加工したデータをEXCELにエクスポートしてあるセル同士を比較すると同じ空白のセルでもECXEL上両方を空白と認識しない時があります。

年月  数量1 数量2
200510  10  20
200511  11  21
200512      
200601  20  22
このデータをEXCEL上で、IF関数で数量1と数量2を比較して同じなら○違う値なら×と指定しても、ACCESSのIIF関数なら200512の数量は○のはずが、EXCELだと×になります。

ACCESSで言うIS NULLと""の違いなのかと思い色々調べてみたのですが、よく解りません。
エクスポートした元のデータは職場でイントラのデータベースよりDLしてACCESSで加工したデータなのですが(自分で数値などを入力したものではないと言う意味)このような経験をされた方はいらっしゃいませんか?又何故このような現象になるかご存知の方がいらしたらご指導ください。
宜しくお願いします。
・ツリー全体表示

【7313】リストボックスに1行毎に色を表示
質問  えんちゃん  - 06/2/18(土) 23:57 -

引用なし
パスワード
   どなたかご教授ください。リストボックスにデータを表示した場合に行数が多い
と横罫線もなく見ずらいのですが1行おきに色づけ、または罫線を表示できないでしょうか。できましたら縦罫線も表示できるようにしたいのですが。
宜しくお願いいたします。
・ツリー全体表示

【7312】Re:テーブル作成クエリ
回答  クロ  - 06/2/18(土) 15:58 -

引用なし
パスワード
   ▼チリ子 さん:
>サンプルがどこにあるのか分からないのですが…(@_@;)

あっ、こんにちは。
解決前の投稿なのですが、解決されたチリ子さんのあとに振る下がってますね。
投稿後に解決されたレスを読んだので先方ファイルは削除させてもらいました。
・ツリー全体表示

【7311】Re:テーブル作成クエリ
回答  チリ子  - 06/2/18(土) 15:49 -

引用なし
パスワード
   ▼クロ さん:

こんにちは。

>FROM句にある「集計」というのはテーブルですか?
クエリです。

>他所ではありますが、サンプルを上げましたので
>拾ってみてください。
>http://www.penhagi.com/cgi-b/bbs/bbs.cgi
>
>※取得後に先方を削除しますので先方へのレスは付けないでください。

サンプルがどこにあるのか分からないのですが…(@_@;)
・ツリー全体表示

【7310】Re:パスワード入力フォームを作るべき
お礼  あきら  - 06/2/17(金) 23:35 -

引用なし
パスワード
   パスワード入力フォームを作って
無事できました。ありがとうございます!
・ツリー全体表示

【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

宜しくお願いします。
・ツリー全体表示

【7306】Re:フォーム名の長さの制約?
お礼  ふぁんた  - 06/2/17(金) 14:59 -

引用なし
パスワード
   YU-TANG さん

》「予」や「表」、「ソ」、「十」などがあります。
》偶然かもしれませんが、今回の事例でフォーム名に該当文字が含まれている
》のが気になりますね。

なるほど! 
それで、今まで、漢字をつかったフォーム名でも問題なく動いていたVBAが
今回、エラーになったという可能性があるわけですね。

勉強になりました。
・ツリー全体表示

【7305】Re:フォーム名の長さの制約?
お礼  ふぁんた  - 06/2/17(金) 14:37 -

引用なし
パスワード
   YU-TANG さん ご教示ありがとうございました。

》オブジェクト名に 2 バイト文字を
》使っているからではないでしょうか。

実は、いままで、ほとんどマクロで処理しており、
VBAは全くの初心者です。
で、漢字の名前に なれていたのでした。

これからは、名前は半角英数 を肝に銘じたいとおもいます。
・ツリー全体表示

【7304】Re:フォーム名の長さの制約?
発言  YU-TANG WEB  - 06/2/17(金) 14:08 -

引用なし
パスワード
   追記ですが。

> Forms![F09_予防短期目標]![bt].Visible = True

Forms("F09_予防短期目標")![bt].Visible = True

…で、通るかどうか試してみてもいいでしょう。

ただし、仮にこれで通ったとしても、そのまま 2 バイト文字を
使い続けるのは、地雷を埋めたままのようなものなので、
まったくもってお奨めできませんが。
・ツリー全体表示

295 / 500 ページ ←次へ | 前へ→
ページ:  ┃  記事番号:
1084677
(SS)C-BOARD v3.8 is Free