Excel VBA質問箱 IV

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

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


22504 / 76734 ←次へ | 前へ→

【59610】Re:ADO RecordSet.UpDateのタイムラグについて
お礼  みそじのおじさん  - 08/12/25(木) 8:28 -

引用なし
パスワード
   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月の出費はハンパないっす。
 さーて父ちゃんがんばるぞー!!

ではでは失礼致します。

4 hits

【59578】ADO RecordSet.UpDateのタイムラグについて みそじのおじさん 08/12/23(火) 16:33 質問
【59579】Re:ADO RecordSet.UpDateのタイムラグにつ... neptune 08/12/23(火) 19:25 発言
【59590】Re:ADO RecordSet.UpDateのタイムラグにつ... みそじのおじさん 08/12/24(水) 12:05 発言
【59604】Re:ADO RecordSet.UpDateのタイムラグにつ... neptune 08/12/24(水) 17:19 発言
【59610】Re:ADO RecordSet.UpDateのタイムラグにつ... みそじのおじさん 08/12/25(木) 8:28 お礼
【59612】Re:ADO RecordSet.UpDateのタイムラグにつ... neptune 08/12/25(木) 10:37 発言
【59617】Re:ADO RecordSet.UpDateのタイムラグにつ... みそじのおじさん 08/12/25(木) 19:23 お礼

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