Excel VBA質問箱 IV

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

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


9596 / 13646 ツリー ←次へ | 前へ→

【26496】構造体での配列使用について HANA 05/7/7(木) 8:45 質問[未読]
【26497】Re:構造体での配列使用について こうちゃん 05/7/7(木) 8:53 発言[未読]
【26498】Re:構造体での配列使用について HANA 05/7/7(木) 9:07 発言[未読]
【26499】Re:構造体での配列使用について ichinose 05/7/7(木) 9:55 発言[未読]
【26510】Re:構造体での配列使用について HANA 05/7/7(木) 13:15 お礼[未読]
【26513】Re:構造体での配列使用について こうちゃん 05/7/7(木) 13:50 発言[未読]
【26517】ありがとうございました HANA 05/7/7(木) 14:29 お礼[未読]

【26496】構造体での配列使用について
質問  HANA E-MAIL  - 05/7/7(木) 8:45 -

引用なし
パスワード
   ユーザー定義型変数を記述してゆく中で、一部配列を使用することは
可能でしょうか?
こんな感じです
    Type DB1
      DB1_No As String * 8
      DB1_Kingaku(1 to 5)
      DB1_Name As String * 16
    End Type

【26497】Re:構造体での配列使用について
発言  こうちゃん  - 05/7/7(木) 8:53 -

引用なし
パスワード
   HANAさん、こんにちは

>ユーザー定義型変数を記述してゆく中で、一部配列を使用することは
>可能でしょうか?
>こんな感じです
>    Type DB1
>      DB1_No As String * 8
>      DB1_Kingaku(1 to 5)
>      DB1_Name As String * 16
>    End Type

可能です。って返事でいいんでしょうか?
ちょっと試せばわかると思うのですが、なにをお聞きになりたいのでしょうか?

【26498】Re:構造体での配列使用について
発言  HANA E-MAIL  - 05/7/7(木) 9:07 -

引用なし
パスワード
   早速のお答え、本当にありがとうございます
ランダムファイルを作って、XLSのシート画面から
レコードの読み書きをさせようとしてるんですけど
わからないことが多くって・・・
甘えついでに、もう一伺ってもよろしいでしょうか?
 オペレーターが入力したコードをキーにしてランダムファイルの
何件目のレコードかを割り出すインデックスファイルみたいなの
はどうやって造るんでしょう?
 ちなみに、今はレコードを1件目から読込んで照合してみたいに
効率の悪いやりかたしちゃってるんです。

【26499】Re:構造体での配列使用について
発言  ichinose  - 05/7/7(木) 9:55 -

引用なし
パスワード
   ▼HANA さん、こうちゃんさん
おはようございます。

>早速のお答え、本当にありがとうございます
>ランダムファイルを作って、XLSのシート画面から
>レコードの読み書きをさせようとしてるんですけど
>わからないことが多くって・・・
>甘えついでに、もう一伺ってもよろしいでしょうか?
> オペレーターが入力したコードをキーにしてランダムファイルの
>何件目のレコードかを割り出すインデックスファイルみたいなの
>はどうやって造るんでしょう?
は、非常に難しい話ですね!!
ランダムファイルって、この検索をいかに簡単にするか
ファイル構造やレコードを書き込む場所を工夫して作成するんですよ!!


> ちなみに、今はレコードを1件目から読込んで照合してみたいに
>効率の悪いやりかたしちゃってるんです。
オペレーターが入力したコードとレコードの記述されているファイル内の場所
(つまり、レコードNO)との間に何の関係もなければ
これしかないでしょうね?

つまり、簡単検索を行うためにはレコード作成時に何らかの規則を決めなければ
なりません。
(一例ですが、ハッシュ関数を使用するとかね)
でも、これは今時はあまりしませんからねえ・・・。

アクセス等のDBにデータを移行することを考えてみてはいかがですか?

【26510】Re:構造体での配列使用について
お礼  HANA E-MAIL  - 05/7/7(木) 13:15 -

引用なし
パスワード
   ▼ichinose さん、こうちゃんさん
貴重なアドバイス、ありがとうございます
その中で、もう少し教えていただければと思うところがあるのですが・・・
>つまり、簡単検索を行うためにはレコード作成時に何らかの規則を決めなければ
>なりません。
>(一例ですが、ハッシュ関数を使用するとかね)
・XLSのシート画面からのファイルレコードの更新(新規登録・変更・削除)は
 ランダムファイル向きではないのでしょうか?(皆さんどのようにやってらっし ゃるのかしら)
・アクセス等のDBは会社の都合で導入できないそうなんです
 データ量は、ファイルが4つくらいで各ファイルが10000件前後です
・沢山のヘルプやサイト検索で調べたのですが、不慣れなせいか良い参考
 サイトも見つかりません。もし、そういった本やサイトがあればご紹介いただけ ると助かります。
どうぞ宜しくお願いします。

【26513】Re:構造体での配列使用について
発言  こうちゃん  - 05/7/7(木) 13:50 -

引用なし
パスワード
   HANAさん、ichinoseさん、こんにちは

回答ではないです。

>・XLSのシート画面からのファイルレコードの更新(新規登録・変更・削除)は
> ランダムファイル向きではないのでしょうか?(皆さんどのようにやってらっし ゃるのかしら)

ランダムファイルそのものをあまり使用しないかも知れませんね。

>・アクセス等のDBは会社の都合で導入できないそうなんです
> データ量は、ファイルが4つくらいで各ファイルが10000件前後です
>・沢山のヘルプやサイト検索で調べたのですが、不慣れなせいか良い参考
> サイトも見つかりません。もし、そういった本やサイトがあればご紹介いただけ ると助かります。
>どうぞ宜しくお願いします。

昔は、ランダムファイルの、レコード作成時に同時にインデックスを書き込んでおいて、
読み出し時はインデックスだけメモリに展開して検索するようなことをしてましたね。
でも、最適化は難しくて、Btrieve のようなものを使っていた記憶があります。
10000件前後というのは微妙な数字ですね。
エクセルではきついけど、DBでなければだめとも言えないくらい
かも・・
MsAccessそのものはだめでも、ADOとか使えるようにできませんかね?

#Btrieveはなんと説明すればいいんだろう?
インデックスを勝手に作ってくれるレコード管理ソフトって
ところかな?
.NET向けAPIとかもありそうなので、ググッてみてくださいね。
そんな感じでフリーのDLLとかないかな?

【26517】ありがとうございました
お礼  HANA  - 05/7/7(木) 14:29 -

引用なし
パスワード
   ▼こうちゃん さん、ichinoseさん
相談にのってくださってありがとうございます

>MsAccessそのものはだめでも、ADOとか使えるようにできませんかね?

ADOはOKなのですが、私の力が足りないので使い切れません(涙)
でも、お言葉をいただけて心強かったので、勉強してみます。

また、宜しくお願いします。

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