カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

XP レジストリエラー

ACCESSを触っていたら、完全に固まったわけではないが、動かなくなったので
強制終了ではなくファイルメニューより終了させた。

その後、再起動する際にメモリのエラー(?)が出た。
恐らくアドレス不明でメモリが開放できない、みたいなことだと思われる。

再起動後、MDBを開いて空のテーブルにクエリでデータを追加しようとしたら、
更新可能なクエリである必要があります。と言われ追加できなくなってしまった。

他のPCから試みても、どうも読取専用になってしまっているようで、できなかった。
他のPCからはデータ元の削除などもアクセス拒否され、できなかった。

はじめは、「ACCESS 更新可能なクエリ」等で調べたが、有用な結果は得られなかった。

そこで、[コンパネ]->[管理ツール]->[イベントビューワ]でエラーログを見ると、レジストリのエラーが4件出ていた。

で、「XP レジストリ 復元」調べたが、解決方法として出てきたのは
システムの復元、もしくはデフラグ、ブートプロンプトで「scanreg /fix /opt」を実行する、など。
scanregはXPで実行ができないので、msconfigにてセーフモードで起動してみる。
しかし、scanregが使用できるわけではなかった。

ので、システムの復元をしてみることに。
システムの復元は[スタート]->[アクセサリ]->[システムツール]->[システムの復元]
1日前まで復元したら復活した。

1,962 views

ACCESS2000 マウスホイールの無効化

Microsoft Access のみを使用して MouseWheel イベントを作成する
警告 : 可能な限り、この資料の「Visual Basic の ActiveX DLL を使用して MouseWheel イベントを作成する」に記載されている方法を使用するようにしてください。以下の方法を使用できるのは、Microsoft Access ランタイム アプリケーションなど、アプリケーションのユーザーが Microsoft Access 内で Visual Basic Editor を読み込まない場合に限られます。このソリューションを実装した場合に、ユーザーが Visual Basic Editor を開くと、以下のコードによって Microsoft Access が応答を停止します。また、Microsoft Access を起動している間に一度でも Visual Basic Editor を読み込んでいる場合は、このコードのテストを行う前に、Microsoft Access を再起動する必要があります。この方法を使用する場合には、作業内容を保存する頻度を高くし、データベースのバックアップを常に最新にしておくことを強く推奨します。

続きを読む…»

5,903 views

フォームの状態を調べる

Dim varRet as Variant

varRet = SysCmd(acSysCmdGetObjectState, acForm, "[フォーム名]")

0=開いていない
1=開いている
5=新しいフォームです
7=編集されたが、まだ保存されていない

2,130 views

DoEventsの代替

Declare Function GetInputState Lib "USER32" () As Long

if GetInputState() Then DoEvents
4,540 views

クエリでフォームの値を参照

クエリにてフォームの値を参照する場合、通常
Forms![フォーム名].[コントロール名]

[Form].[フォーム名].[コントロール名]
であるが、
汎用的に使用したい場合、CodeContextObjectを利用するとよい。
CodeContextObjectを使用した場合、記述は
[CodeContextObject].[コントロール名]
で、事足りる。

21,156 views