Microsoft Access 掲示板

カラムにデータがあったら、別のカラムにデータを入力する方法 / 17

26 コメント
views
4 フォロー
17

いろいろな話がごっちゃになってます。

最初の質問の「タイムカードデータの入力」はRecordsetで解決ということですよね。

そこから、派生的に下記のような流れになってます。

それは分かっているのですが、Recordsetで開きたくないのです。
Recordsetで開くと、データが多い場合はストレスを感じます。

処理の内容しだい。Recordsetの方が速い場合もあるし、SQLの方が速い場合もあります。

他の用途のために、可能な限りシートに展開しないで、処理しようと思っているだけです。

シートのセルを一つずつアクセスするような処理にするとたしかに重くなります。
パワークエリを使う、配列で処理する、Dictionaryオブジェクトを使う・・・など高速化の手段はいくらでもあります。

Functionで配列を使用すると、いきなり重くなったりするので、

どのような処理か不明ですが、使い方が悪いのだと思います。
正しく使えばたいていの処理は劇的にはやくなります。

実は、社会保険の電子申請する届出書作成アプリは、
EXCELLをCSVに変換したファイルだとUPできないという、
ほぼ不良品に近い欠点があるのです。
何十億もかけて始めた労働厚生省のアプリです。

おそらくそのアプリがCSVの標準から外れたものなのか、CSVへの変換設定に間違いがあるのか、・・・
Excelの欠点ではなく、そのアプリの欠陥ですよね。
どちらにしてもいいまでの流れからまったく関係ない話です。

100項目以上のヘーダーが無いCSVファイルを作るプログラムを3日かけて作ったあげく、

エクセルVBAで作ったということですか?

しかし、この問題を解決するには、
タイムカードを他の言語で作るしか無いので、

なぜ、このような結論になるのか分かりません。
エクセルVBAでも「100項目以上のヘーダーが無いCSVファイル」は可能です。
あるいはヘッダー付きで出力してあとからヘッダーのみ削除してもいいですね。

届書作成プログラムでは、
EXCELLからCSVファイルに変換したファイルは読み込めないと言っているのです。

エクセルのCSVファイルの出力は、CSVとしては標準的なものだと思いますので、
届書作成プログラムのフォーマットが特殊なのでは。
だとしたらVBAでテキスト出力プログラムを作成することは可能ですので、特殊な書式に合わせて出力することも可能です。

「届書作成プログラムにUPでるCSVの作り方」をご存じのようなので、ぜひともご教授ください。

そのCSVの仕様、出力サンプル、元となるエクセルデータなどを提示されたら回答はつくと思いますよ。

通報 ...