|
▼かるびの様:
お返事ありがとうございます!大変おそくなりました;
> コンボボックスの接頭語ですが、「cbo」の方がいいと思います。
> 「cmb」だと、コマンドボタンを意味する「cmd」と見間違えやすいからです。
あ、なるほど…確かにそうですね!直しておきます。
> 長さ0の文字列の場合にも対応しようというのであれば、Nz関数が使えると思います。
長さ0の文字列ですか…そこまで考えていませんでした!
これって「""」で表される文字の事でしょうか?
> それから、「.Value」は省略しない方がいいと思います。
なるほど、細かい点までありがとうございます!
加えておきます!
> txt発地都道府県の値を変数に受けるか、又はWithステートメントを使えば、
>テキストボックスを参照する回数を1回にできます。
>
> ただし、使う変数を増やすと、その分のメモリー領域を要することになるため、
>コードが遅くなると言われています。
>
> ちなみに私は、無駄に多くの変数を使っています。
> その方がコード内容を読み返したときに理解しやすいし、
>デバッグのときにコードが返す値を確認しやすいからです。
そうだったのですね…
withはエクセルでちょっとだけ使っていましたが苦手だと感じていたので、
私も変数に頼ります。
どのみち時間はかかりますが^^;
>>If Not IsNull(txt開始日) Then
> 例えば、txt開始日の値が「2015/13/32」だとしたら、どうなるか考えてみてください。
>
> Nullじゃないから、このIf文は通ります。
> そうすると、この値を使った条件式がstrFilterに代入されます。
> でも、この値は日付ではないので、Filterプロパティへの代入ででエラーになります。
>
> IsDate関数を使うと、日付として使える文字列かどうかチェックできます。
なるほどです。今試してみたのですが、注意はしてくれるけど入力自体はできるのですね…。
疑問に思ったのですが、
>>If Not IsNull(txt開始日) Then
のままでも、テキストボックスに「13/32」と入力して検索ボタンを押してみると、
もう一度注意が出てきてコードは実行されません。
IsDate関数は省いても問題はないですか?
足元がおぼつかない感じになるのであればこちらも修正させていただこうと思います!
|
|