|
▼あおぎん さん:
こんにちは。
> レコードセットを開くということをいまいち理解できていないので、
> 上記のことがよくわかりません。
テーブルにある 1行のデータが Record
Recordsetは、それの「セット」なんで、データ群ってところでしょうか(笑)
> Set rst = DB.OpenRecordset("Q_社保エクスポート用")
Q_社保エクスポート用 というテーブル(クエリ)のデータを
変数:rst の中にごっそりと納めてしまう、という命令です。
> Dynaset タイプもヘルプで調べてみたんですが、
> どういう場合にこのタイプがいいのかまで理解できませんでした・・。
データの扱いを大きくわけると「参照」「変更」の2種類があります。
さて、今回は変数の中に入れたデータをどのように扱いたいのでしょうか。
ヘルプの説明で様々なType、Optionがあるのは
お解かりになったと思われますが、
それを全て説明すると、掲示板での応答では大変な事になってしまいます。
ものすごくアバウトな説明ですが、
参照時:dbOpenSnapshot
変更時:dbOpenDynaset
を type に指定すると汎用的に使えそうですね。
> でも、何回か試していると、なぜか、エクセルが
> 読み取り専用で開かれたりします。
> どこかおかしい記述があるんでしょうか?
コードを色々テストしている最中に、
エラーで止まってしまった事はありませんでしたか?
タスクマネージャを起動してみると、
Excelが見えないのに、Excel.exe が起動している事があります。
これは
> Set xlsApp = CreateObject("Excel.Application")
で呼び出した Excelのインスタンスが解放されずに
非表示の状態で立ち上がったままになっており、
> Set xlsWkb = xlsApp.Workbooks.Open(MyFile)
で起動した時に 2重起動になっている可能性がありえます。
Excelを多重起動するとファイルが破損される可能性もありますので
バックアップはこまめにとっておきましょう。
プログラムが安定するまで、
Set xlsApp = CreateObject("Excel.Application")
xlsApp.Visible = True
の様に、Excel のインスタンスを作ったらすぐに表示する様にしておくと、
上記のトラブルが減るかもしれませんね。
|
|