|
neptuneさん おはようございます。
SQLを再度投げつける方法で試してみました。
IF Not Res.EOF Then
......
......
Res.Fields(F_車台番号).Value=Null
Res.UpDate
Res.Close '一度レコードセットを閉じて
End IF
Call Contol_Refresh(引数省略)
Sub Control_Refresh(引数省略)
Dim SQL as String
'もう一度新たにSQLを投げつける
SQL="select * from T_車検証マスタ where F_顧客ID =" & ID & " AND F_車名 ='" & strCarName & "' ;"
Res.Open SQL, CN, adOpenKeyset, adLockOptimistic
IF Not Res.EOF Then
If IsNull(Res.Fields(F_車台番号).Value) = False Then
TextBox1.Text = ""
Else
TextBox1.Text = Res.Fields(F_車台番号).Value
End IF
End IF
Res.Close
Set Res = Nothing
End If
この場合、問題なくNullが帰ってきて、正常に動作するのを確認いたしました。
今回はこの方法で対応したいと思います。
>以下の話は昔の話ではありませんので紹介しておきます。
>ht tp://www.naboki.net/access/achell/achell_02.html
ご紹介のサイト読ませてもらいました。
mdbファイルをネットワークで使用した場合の破損の可能性とファイルの最適化に
ついてでしたが現在、テスト環境ですとAccessがインストールしてありますので
終了時に最適化をする にチェックをいれていますが、本番の環境では、Access
が入っていないためプログラムで最適化をするというのは、無理なのかなと思っ
ています。私が時々出向いて、backupを持って帰ってきて最適化をするという流
れになると思います。
backupに関しては、excel起動時にmdbのファイルコピーを自動でするというプ
ログラムを組んでいます。(壊れたmdbファイルを上書きしない為に、いくつかの
チェック項目をもうけてチェックがOKだった時だけファイルのバックアップを取
る仕組みにしてあります。ですがまだ壊れたmdbに遭遇していないので、私のロジ
ックで間違いなく動くかは不安ですが)
実は、現在のシステムを作成しているのは、excelファイルが破損した為でした。
作成までの経緯を箇条書きで書きますと
1 2年ほど前、自分の嫁の兄貴が整備工場を立ち上げるということで、できるだけ 整備に集中してもらいたいと思い、 Excelで請求書を作成するファイルを作成した。(excelファイルを3つ,4つをからめて使用する感じで今見返すと、とても人に見せれないようなマクロがズラリってかんじです。人生初のexcel VBAでした。)
2 2ヶ月ほど前にその請求書を保存していたファイルが破損した。(シート約200
枚、8MBぐらいまでいってました... 動作もメチャメチャ遅くなっていて、早
めに手を打っておけばよかったのですが。一番やってはいけない シートの雛
形コピー(マクロを含んだままの状態で)1つのエクセルブックに保存していま
した...)
3 会社を立ち上げたときは兄貴1人だったが、従業員が1人増えた。
4 破損ついでに、新しい物を作ってほしいと言われた。
5 作り直す条件が、使いなれたExcelの請求書の雛形は残して欲しい。
6 2人で同時に作業できるタイプの物にして欲しい。(これがADO,mdbを選択した最
大の理由ですね)今後も従業員が増える可能性がある
7 無論今まであったexcelのデータを引き継いで欲しい。(請求書データは飛びま
したが、顧客データ、部品の管理データや整備工賃データなどは無事だった
ので)
8 これは言われた条件ではないですが、2台のPCにはAccessは入っていない
このような条件で、私はexcel+ADO+Access(mdb)の選択をしましたが
今度はmdbファイルの破損の可能性....ん〜SQL serverも視野にいれないと駄目っ
ぽいですね。
アドバイスありがとうございました。まだまだ精進いたします。(VBも必ずDLしますね!! 正直最近では、早く本家VBに移行がしたく、Excelを使っているという意識をさせないという作り方をしています。セルを使わない。データの読み書きはINIファイルから、WorkSheetFunctionを使わない、など本家にないものは
一切排除しております。オートフィルターなんかも排除したおかげで、ソートのロジック(クイックソート、
バブルソートなど)なんかも勉強できましたし。人にはエクセル使っている意味ないんでないのと言われま
すが..)
>所でうらやましいPC環境ですねぇ〜。
なんとか冬のボーナスで買ってもらいました。(って自分で稼いだお金なんですけどね(苦笑) ヤ○ダ電気のPC売り場で3時間ほど迷いました。)
>#娘さん・・誕生日おめでとうございます。
お心遣いありがとうございます。
>#誕生日とクリスマスか^ ^ まっ正月が誕生日より良いかも^ ^;
親としては、プレゼントが1つという訳にもいかず、おまけに下の子は
10日生まれとあって、12月の出費はハンパないっす。
さーて父ちゃんがんばるぞー!!
ではでは失礼致します。
|
|