トップページ⇒tech
1001コメント375KB

Access使い集合!

■ このスレッドは過去ログ倉庫に格納されています
0001名無しきぼうNGNG
UNIX時間(1970年から秒単位10桁やつ)を
Access or VB で yyyy/mm/dd hh:mm:ss に変換する方法を
教えて下され!
0412デフォルトの名無しさんNGNG
>>411
いや、元勤務先ともパッケージ開発元とも既に縁が切れているので
あとの事はどうでもいいんですが。
ただ、モヤモヤしたものが残って気持ち悪いんですよ。
DBMSに心得有りって人に聞いても最終的には「わからん」で終わって
しまうんで。
想定で良いので「起こりうる事象」を知りたいだけなんですよ。

# 何が起こるかわからんけど問題が噴出しなけりゃOKってことで
# システム組んでいると言うなら、それはそれでいいんですけど。
0413デフォルトの名無しさんNGNG
SQLServer側で何一つ制約をつけてないっていうだけだったりして〜
0414デフォルトの名無しさんNGNG
 日本語を変数に使うのはヤメトケって示唆がやっとMSから出てるね。

http://www.microsoft.com/JAPAN/support/kb/articles/J070/3/15.asp

 これどーよ?具体的に何が起こるか明記されてないところが、以下にもMSっぽいが。
0415デフォルトの名無しさんNGNG
>具体的に何が起こるか明記されてない

パルプンテ!!
0416デフォルトの名無しさんNGNG
>>414
で、たまに半角英数使ってると、勝手に全角に変換されるのは
何とかならんのか(w
0417デフォルトの名無しさんNGNG
>>412
おそらく急なDB仕様変更が頻繁におこると想定して作ったんだろ。
平たく言えば、未完成品をつかまされたわけだ。
0418デフォルトの名無しさんNGNG
>>417
世の中には10年以上前のテクノロジーで停滞しているエンジニアが
混じっているってことでよろしいですか?

少なくとも約300社は"未完成品"と称す代物を掴まされているわけで。:-P

>>411殿や>>417殿に製作依頼したら良品を納めてくれたのかな?・・・
0419デフォルトの名無しさんNGNG
グループ設定しているのに、レコードによってグループ集計できているところと
できてないところがあるのは、日付制御の関係か?思う節が見当たらなくて
困っているのだが・・・
0420デフォルトの名無しさんNGNG
>>419
日付制御ってなに?
つーか、やっている処理の内容を書かなくちゃ答えようが無いと思うが。
0421デフォルトの名無しさんNGNG
条件式は大丈夫?
0422419NGNG
初心者でスマソ。
グループ集計させたい項目が5つあって、その中に日付が2つあります。
一つは入力日付で一つは伝票日付みたいな感じで、当然同じ日付のものは
合計して数値を出したいのですが、不思議なことにあるデータ部分は合算
できていて、ある部分は合算してくれない・・・データの記述ミスも探し
問題は無いのだが。
0423デフォルトの名無しさんNGNG
条件式を晒してみそ。
0424419NGNG
SELECT Sum(KENSADT.DENPDT) AS DENPDTの合計, KENSADT.SEIHINCD, KENSADT.DENPMON, KENSADT.DENPWEK, KENSADT.CHECKDT, MS_KB.KBNM, Sum(KENSADT.UKESU) AS UKESUの合計, Sum(KENSADT.FAL1) AS FAL1の合計
FROM KENSADT INNER JOIN MS_KB ON KENSADT.KBCD = MS_KB.KBCD
GROUP BY KENSADT.SEIHINCD, KENSADT.DENPMON, KENSADT.DENPWEK, KENSADT.CHECKDT, MS_KB.KBNM, KENSADT.KBCD,
ORDER BY KENSADT.SEIHINCD, KENSADT.DENPMON, KENSADT.DENPWEK, KENSADT.CHECKDT;

sum(DENPDT)は動作確認でつけています。
0425デフォルトの名無しさんNGNG
どれが何をさしてるかよく分からんのだが。。。
0426デフォルトの名無しさんNGNG
あなたは7桁プログラマーですかい?
0427デフォルトの名無しさんNGNG
>>425
これだけ(>>422 >>424)で>>419さんの思惑が理解できる人は神ですね。
0428デフォルトの名無しさんNGNG
見にくいよぉウワァァlン
SELECT Sum(KENSADT.DENPDT) AS DENPDTの合計,
KENSADT.SEIHINCD,
KENSADT.DENPMON,
KENSADT.DENPWEK,
KENSADT.CHECKDT,
MS_KB.KBNM,
Sum(KENSADT.UKESU) AS UKESUの合計,
Sum(KENSADT.FAL1) AS FAL1の合計
FROM
KENSADT INNER JOIN MS_KB ON KENSADT.KBCD = MS_KB.KBCD
GROUP BY
KENSADT.SEIHINCD,
KENSADT.DENPMON,
KENSADT.DENPWEK,
KENSADT.CHECKDT,
MS_KB.KBNM,
KENSADT.KBCD,
ORDER BY
KENSADT.SEIHINCD,
KENSADT.DENPMON,
KENSADT.DENPWEK,
KENSADT.CHECKDT;
0429デフォルトの名無しさんNGNG
>414
これって更新日が4/10だが、最近になって出た記事って事?
0430デフォルトの名無しさんNGNG
>>424
これのどこに日付処理がある?
0431デフォルトの名無しさん NGNG
すみません質問です。
アクセス使って、Exchangeのパブリックフォルダにメールを投稿する
ツールを作っているんですが、その際に

「指定した名前のフォルダがExchange内に存在するか」
を調べる関数がわかんなくて困っています。
ローカルフォルダに存在するかどうかなら
dir関数とか使えばいいんでしょうけど、Exchange内の存在チェックって
どんな関数使って確かめられるんでしょうか。
0432デフォルトの名無しさんNGNG
VBA超初心者の質問・・・
「コンボボックスに何も指定されていない」ということを取得するにはどうすればよいのでしょうか?

コンボボックスの値に何も指定されていない場合

>> MsgBox コンボボックス1

とすると Nullの使い方が不正です。というようなエラーが出ます。

それならば・・と

>> If コンボボックス1 <> Null Then
>> MsgBox コンボボックス1
>> End If

とすると、常にMsgBoxが表示されません。(常にIf文の値はNullと判断されているようです??)

環境はWinWP / AccessXPです。
どなたか教えてください
0433デフォルトの名無しさんNGNG
>>432
Nullの判定は IsNull() 関数で行います
If IsNull( コンボボックス1 ) Then ...
0434デフォルトの名無しさんNGNG
>>433
あ、ありがとうございます!!なるのど、そーやってやるのか・・
これで3時間悩みました(>_<)ありがとうございます!!
0435デフォルトの名無しさんNGNG
>>428
DENPDT=伝票データ
KEMSADT=検査データ
DENPMON=月伝票
DENPWEK=週伝票
CHECKST=チェックデータ
までは想像できたけど、

UKESU=受け数?
FAL1=不合格?
SEIHINCD=製品CD?
KBCD=???
0436デフォルトの名無しさんNGNG
>>435
既に質問した彼はここを見ていないでしょう? 放置、放置。

# しかし振り出しといて姿を現さないのは無責任だよなぁ。。。
# 意思伝達にも難あり。
0437デフォルトの名無しさんNGNG
>433
 重箱のスミ突っつくようだけど、評価をするときとか、規定値省略に
頼らない方が後々イイと思うが。

If IsNull(HOGE)=True Then

0438デフォルトの名無しさんNGNG
>>437
Isなんたらは関数名から真偽値を返すと予測できるため別にかまわないと思われ。
0439デフォルトの名無しさんNGNG
>>437,438
てゆーかどちらでもいいと思われ。
0440デフォルトの名無しさんNGNG
>>437
なんか、感感俺俺みたいでキモチワルイなぁ・・・
0441デフォルトの名無しさんNGNG
いや、Accessたんは明示的にTrueをつけとかないとメモリが云々と聞いたことが
あるようなないような気がする
0442デフォルトの名無しさんNGNG
>>441
ソース希望
0443デフォルトの名無しさんNGNG
>>422
日付、時分秒まで入っているんじゃない?
0444デフォルトの名無しさんNGNG
(ノ゜ρ゜)ノ ォォォ・・ォ・・ォ・・・・
0445デフォルトの名無しさんNGNG
access2002の場合、フォームまたはレポートの存続期間中に追加できる
コントロールおよびセクションの最大値は754とある。そしてこれは、
コントロールを削除して再追加した場合でも追加数が754でアウトとなる。

これは、accessがフォームへのコントロールの追加数をカウントしている
ためだと私は思う。

ではフォームも同様に、ヘルプの「データベースのオブジェクトの数 32,768」
ということから、フォームを削除して追加した場合でもその追加の回数が
32,768になったらアウトになるのだろうか?


だれか分かる人いる?
0446デフォルトの名無しさんNGNG
>>445
そんなに追加したこと無い
0447デフォルトの名無しさんNGNG
ファー眠い・・誰かたすけて・・
初心者の質問・・

表形式のフォームでフッターに値の合計値を出しているのですが
表形式のフォームってカーソルとかで「レコードを移動」するまで
編集中状態で合計値も変わらないですよね?
カーソルを移動しなくても合計値に値を反映させたいのですが、、

>> Private Sub 値_Change()
>> Me.Recordset.Update
>> End Sub

とすると、「対応するaddNew,Editが必要」といって怒られます。。
ちなみに合計値は
コントロールソースプロパティに
>> =Sum([値])
と指定。。何が悪いんだ!?つーか根本的に間違ってる???・・・
0448デフォルトの名無しさんNGNG
>>447
こうしろ

Private Sub 値_Change()
 DoCmd.RunCommand acCmdSaveRecord
End Sub
0449デフォルトの名無しさんNGNG
>>448
できました!やったー涙出そう・・ありがとうございます
0450デフォルトの名無しさんNGNG
>>446
そうですか。そりゃそうだろうな。

要は、データシートビューのサブフォームがありまして、
そのソースになっているクエリのフィールド数・ソース・
名前が動的に変化するのに対応したいのですわいな。
0451デフォルトの名無しさんNGNG
フォームでパスワード入力画面を作りたいのですが、
パスワード文字列を隠す為に"*"にするにはどうしたらいいでしょうか?
(よくパスワード入力であるやつです)

ご存知の方、お教え願います。
0452デフォルトの名無しさんNGNG
「パスワード」か「パスワード入力コントロール」を検索キーワードに
ヘルプを引いてみそ
0453デフォルトの名無しさんNGNG
>>451
2000か2002だったら「定型入力の構文と例」の「有効な定型入力の文字」って
ところを見るのだ。(ヘルプな)その一番下
0454451NGNG
ありました^^;
お騒がせして済みません^^;
0455デフォルトの名無しさんNGNG
文字列比較についてなんですが、
ACCESS(VB?)の場合、
”AAA"="aaa"がTRUEになってしまいますよね。
これをちゃんと大文字小文字の判別を行いたいんですが・・・
(検索でいう大文字と小文字の区別)
HELPとか見てもそれらしいものがなく・・・

ご存知の方、よろしくお願いします。

0456山太郎NGNG
>455
Option Compareステートメントを調べてみよう。
0457デフォルトの名無しさんNGNG
VBAをつかって外部テーブルのインポートする方法ってある?
0458山太郎NGNG
>457
TransferDatabaseトカ...
他にも、SQL使っても出来るでよ。
0459デフォルトの名無しさんNGNG
リストボックスをウィザードで作って、データにクエリを指定すると・・・
一部値を表示しない(#Name??とかウィザード画面に出てきて、実行したら値を表示しない)ものがあります。
なんか、クエリの条件にフォームの値を指定しているとそうなるみたいなのですが・・これってどうして??どうにもなりませんか?

WinXP,AccessXPです
0460デフォルトの名無しさんNGNG
条件がおかしいか、コントロール名がおかしいかだろ。
もう一度調べてみ。
0461デフォルトの名無しさんNGNG
暇つぶしに某社のオンラインソフト(Oh!ナンチャラ)を解析してみた
D系、find系の嵐で、関数名が日本語・・・
・・・・会社のレベルが知れるぞ(ワラ
0462デフォルトの名無しさんNGNG
ウインドウの閉じるボタン[X]と、DoCmd.Closeで動きが違うのですが・・
インデックスで「重複なし」を指定したフィールドで
重複した値を指定した場合、[X]ボタンだとエラーウインドウを表示してくれるのですが
「OK」ボタンを作成し、「DoCmd.Close」を指定した場合エラーをエラーウインドウを出さず、
何事もなかったようにデータを破棄するようです。
現在ADOで重複チェックをして逃げていますが、[X]同様の動きをさせるにはどうすれば良いのでしょうか??
0463デフォルトの名無しさんNGNG
>>462
ほんとだ。
ちょいと汚いが、DoCmd.Closeの前に、
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
を入れて、エラートラップしる。
0464デフォルトの名無しさんNGNG
>>463
やってみます。ありがとうございます。
今気づいたのですが、「マクロ」の「閉じる」は「X」ボタンと同じ動きをしますね。

マクロ→VBA変換をすればどういうコードになっているのか判るんだけど
なんか、その機能が俺のパソコンにインストールされてないらしく
しかも今手元にAccessのCDがなくてインストールできないときた(>_<)

だれか、マクロの「閉じる」のVBAコード晒してぇぇぇ
0465デフォルトの名無しさんNGNG
>462、>464
ヘルプにそう書いてあるYO!
そもそも終了させる時点で足掻いてもはじまらないと思うが。
DoCmd.Closeの前でなんとかしろ。

0466デフォルトの名無しさんNGNG
Accessで色々システム作ったなぁ
0467デフォルトの名無しさんNGNG
EXCEL大好きのユーザのために、フォーム上でテーブルのデータを
変更・オートフィルタを出来るようにする方法を教えてください。
PC環境が悪いのでなるべく効率よく…。
0468デフォルトの名無しさんNGNG
>>467
Docmd.OpenTable
0469デフォルトの名無しさんNGNG
>464
 マクロの 閉じる をVBAに変換してみたら、そのまんま
Docmd.Cloce になったけど。
0470デフォルトの名無しさんNGNG
質問させてください!
Access2000使ってるんですけど、
Access2000形式のmdbがVisualBasic6.0Enterpriseで
認識してくれません…
Dataオブジェクトのdatabasebaneプロパティで指定してもハネられます。

大学のパソコンでも自宅のパソコンでも友人のパソコンでも
できなかったのでハード環境は関係ないと思われます。
あと、いずれもフルインストールの状態です。
ガイシュツかもしれませんが、お願いします。
0471デフォルトの名無しさんNGNG
Access2000または2002のデータベースに登録しているメールアドレス宛てに
Outlook Expressからメールを送信したいのですができますか?

Outlook2000、2002では実験して成功はしたのですが、
Outlook Expressから送信する情報が見当たらないので、
できるかできないかだけでも知りたいのですが・・・

>>470
ODBCデータソースとか作成した?
Accessのモジュールにも接続するための記述しなければいけなかったよね
あ〜、今思い出せないなぁ(忘れちゃったので全然違うこと言ってたらスマソ)

接続するとこまでなら
本を見て最初からやればできると思うよん
0472デフォルトの名無しさんNGNG
>>471
残念ながらOutlook ExpressはOLEオートメーションに対応していません。
ので無理です。
0473デフォルトの名無しさんNGNG
>>470
SP4以上入ってる? どうでもいいけどAccessの質問じゃないよなぁ。
http://www.asia.microsoft.com/japan/msdn/vstudio/downloads/sp/VS6FIXES.asp
0474471NGNG
>>472
あらら〜、やっぱり無理でしたか(w

ネットやってたらOutlook Express5以上を使用したメール送信ソフト
があったので、今ならできるようになったのかな、と思ったんだけどな〜(w
Access以外ならできるってことじゃないだろうし、Outlookの間違いだったんだろうか・・・

レスさんくすです^^
0475デフォルトの名無しさんNGNG
ちょいと質問。
Access97で使ってたモジュールをAccess2002でも使おうと思ってインポートしたんですが、
実行すると変数宣言の部分でエラーが出てはねられてしまうんです。

 Dim db As Database
 Dim rs As Recordset
 Dim tbldef As TableDef

はねられるのはdbとtbldefなんですが、
これってAccess2002で別な宣言に変わったりしたんでしょうか?
宣言の一覧を見るとAccessObjectとか
新しいのが追加されてるみたいだし…。

お時間ございましたら答えて頂けると嬉。
単発質問で申し訳ないんですが(´ω`
0476デフォルトの名無しさんNGNG
>>475
VBAの[ツール][参照設定]を見てみ。DAOがチェックされてないと使えないぞ。
漏れも97から2000移行した時にこれで1週間迷ったから。
(おそらくこれが原因だと思うが、ちがう?)
0477475NGNG
Microsoft DAO 3.6 Object Libraryにチェックを入れたら
難無く通りましたー

俺も今週ずっとこれで時間費やしてました…。
つか、普通わかんねぇよヽ(`Д´)ノ ウワァァン

レクチャーありが�dございます
>>476サソ
0478デフォルトの名無しさんNGNG
>471
BASP21.DLLでも使え。
0479470NGNG
>>473
レスありがとうございます!SP5とMDAC2.6日本語版で解決!
ただ、Access97のmdbならJet3.15で参照できたのですが
2000だとJet4.0でないと参照させてくれませんでした。
他のエンジン(?)はまだ試してませんが…
0480デフォルトの名無しさんNGNG
>>479 それで?
0481デフォルトの名無しさんNGNG
すんまそんー
どなたか教えて下され。

フォームに配置したテキストボックスやリストボックスの値を
変数に代入するなりして使おうと思ってるんだけど、
取得する所で毎回「そのコントロールがフォーカスを取得して無いと値を取得できん!」
みたいな感じで弾かれてしまうんです。
これってどうにかして無効化出来ないもんでしょうかね…。

毎回SetFocusして変数に代入して…なんてやってたら
日が暮れちまうよウワァァン

お時間があったらアドバイスおながいします。
0482デフォルトの名無しさんNGNG
.valueと.textの違いわかってますか?
0483デフォルトの名無しさんNGNG
>>482
これが正解だが、関数作ったことある?って聞いてみたい。
0484481NGNG
>>.valueと.textの違いわかってますか?

それはOKです。

ただ、その.valueだったり.textを取得しようとすると、
前述した「フォーカスを取得してねーぞゴルァ」となってしまうのです。
0485381NGNG
つかすいません。思いっきりボケてました(;´Д`)
てっきり.valueを指定したものだと思ってました。

改善前>>

 Dim strOmaemona As String
 Me.tbxMemberID.SetFocus
 strOmaemona = Me.tbxMemberID.Text

 Call MsgBox("あなたのメンバーコードは" & strOmaemona & "です。",vbInformation,"(´∀`)")

改善後>>

 Call MsgBox("あなたのメンバーコードは" & Me.tbxMemberID.Value & "です。",vbInformation,"(´∀`)")

つか疲れで返事があいまいになってしまって申し訳ないです。
今日はもう回線切って帰ることにします…。

くだらない質問に答えて下さってありがとうございました。鍛錬します。

>>483さん
関数は作ったことありますよ。
GUIまわりの処理はスタイルシートのように殆ど関数でやってます。
逆に言えば関数に関してはその位のレベルですД
0486481NGNG
上の名前481でしたスンマソ

;´Д`)ノ
0487デフォルトの名無しさんNGNG
変数は使ったほうがいいと思った
0488デフォルトの名無しさんNGNG
ご指導の通り、コピペしました。しかしこの板始めてだけど強烈やな。色んなhomepage参照して
色々、調べましたがいまいち画テンがいきません。なぜ遅いのか、知りたいです。

mdbをAccess2000で変換し、connection string をjet.oledb.3.51から4.0にかえて、activex
とか変えて、プログラムに結合しなおしたが処理が3.51に比べて
10倍以上かかるようになってしまった。そんなに4.0って遅いの。
ちなみに自分はAcess95をAccess2000にアップして使ってます。
ソースは以下のようですがとくに問題無いとおもうんだけど。
だれか教えてください。

Private Sub subTransCostDwn()
Dim SP(12)
filenum = FreeFile
Open gListpath & "\rxalltrncost.csv" For Input As #filenum

SQL = "delete * from TransCost "

ADO_Connection.Execute SQL, , adCmdText

Do Until EOF(filenum) = True
Input #filenum, d0, d1, d2, _
, SP(1), SP(2), SP(3), SP(4), SP(5), SP(6), SP(7), SP(8), SP(9), SP(10), SP(11), SP(12)

SQL = "select * from TransCost where dealyear = " & Format(wAcntYear)
SQL = SQL & " and transcd = '" & d2 & "' and lensnm = '" & d4 & "'"

Set rs = New ADODB.Recordset
rs.Open SQL, ADO_Connection, adOpenStatic, adLockOptimistic

If rs.RecordCount = 0 Then
rs.AddNew
rs!dealyear = d1
rs!transCd = d2

End If

For i = 1 To 12
j = i + 3
If j > 12 Then
j = j - 12
End If
rs.Fields("shpqty" & Format(j)).Value = SP(i) + rs.Fields("shpqty" & Format(j)).Value

Next
rs.Update
rs.Close
Loop


Close #filenum


End Sub
0489デフォルトの名無しさんNGNG
質問の時はあげとけ
0490デフォルトの名無しさんNGNG
>>489 あんまし、強烈なんで、これ以上、言われたくなかったから上げれんかった。
色々調べてるけど、よかったら教えて。
0491デフォルトの名無しさんNGNG
>>488
>Set rs = New ADODB.Recordset
とりあえず、これをDo Loopの前においてみないか?
1回ループするごとにNewするのは明らかに効率悪すぎ。
で、ループ終わったらちゃんとSet rs = Nothing もしておけよ。
0492デフォルトの名無しさんNGNG
488ですがプログラムロジックも色々変更してテストしましたが
そんなに関係はないようです。
ゆっくり寝てから、色々実験したらAccess95で作ったmdbをACCESS2000で
変換すると処理が遅くなることを見つけました。完全に同じ物には
やはりならないようだ。ほっとした。休養は大事だね、
0493山太郎NGNG
昔バージョンはDAO使ってたって事は無いのかのぅ?
0494デフォルトの名無しさんNGNG
>>488
うーん、あとは変数の宣言(型も)を明示的にやってるか、くらいだよな。
でもあんまり変わらないかも。
0495デフォルトの名無しさんNGNG
488ですが、やはりwin98でjet.oledb.4.0を使うと遅いという結論に
達しました。型宣言とかいろいろいじってみましたがあんまりかわりません。
レコードの項目数が多いほどおそくなります。
理由はわかりません。access97で3.51を使うことにしました。
oledbの早いのが見つかったら、移行することにしました。
ただ、今まで問題視した人もいただろうし。自分だけじゃないようなきもするし。
0496デフォルトの名無しさんNGNG
ADOよりDAOの方が速いぜって話もあるんだが・・・
0497デフォルトの名無しさんNGNG
>>496
実際どうなん?
0498デフォルトの名無しさんNGNG
>497
前にVBマガジンで検証やってたが、そのときは
DAOのほうが速かったはず。
0499 NGNG
ADOのがエレガントなコードが書ける(漏れは)
速さはしらん。
0500デフォルトの名無しさんNGNG
DAO=速いけど汎用性なし
ADO=遅いけど汎用性あり のトレードオフだと思ふ
0501デフォルトの名無しさんNGNG
で、MSは汎用性を重視しちゃったと。
速いのがよければSQL Server(しかしひどいネーミングだね)使えと。
しょせんアクセスはフロントエンドだから、速さはいらんと。
0502デフォルトの名無しさんNGNG
>488
実際に速度測ってみたけど、ADO、DAO云々よか、
491 の指摘通り、New をLoopから外したら劇的に早くなったんだけど。

 MSDEもある今、AccessだけでDBアプリ組むことに利点は感じられないし、
ADOXでごまかしながら、DAOのオブジェクト郡をカバーできると思うんで、
DAOにこだわる必要はないのでは?
 Accessのみなら、断然DAOに決まってるけどね。使いやすい。他にも
RDOやらODBCDirectやら、オブジェクトがたくさんあって混乱するやつは
以下のリンクが参考にはなると思う。

http://www.int21.co.jp/pcdn/vb/noriolib/vbmag/9904/msdb
0503デフォルトの名無しさんNGNG
まあ、DAOで組んだやつをADOに置き換えるのも
たいした手間じゃないし、どっちでもいいような
気がするけどね。上位ラッパー作っちゃってもいいし。
0504デフォルトの名無しさんNGNG
むしろJet-DBEを闇に葬り去ってほしいのだが。
初めからデータの格納はMSDE、データの加工(?)は
Access(Form & Report)でやるほうが、のちのち
恩恵があると思うがどうよ?
0505デフォルトの名無しさんNGNG
DAOはもうマックロソフトもサポート打ち切って、
将来がないからねえ。。。
0506デフォルトの名無しさんNGNG
お世話になっております。488です。
adodb.recordsetをnewするのを Do Loop の前にもってくるのも
やってみましたが、自分の環境では処理速度はあまりかわりませんでした。
googleで検索しましたら、以下のページをみつけました。

http://homepage1.nifty.com/tsware/labo/labo_22.htm

やはり、oledb.4.0はoledb.3.51に比べて遅いみたいです。この速度では
自分のプログラムは稼動できません。なにか、代替方法を考えるか
oracleかなにかを使うしかなさそうです。しばらく、今のプログラムを
いじらずに3.51のままにしたほうが良いみたいです。
しかし、microsoft、一体全体・・・・・ あとは言いたくないです。
0507デフォルトの名無しさんNGNG
木構造データってどう扱っています?
今二分木構造のデータを扱っているのですが、

(親ID、子ID、左右種別)

を組にして内部に持とうとしています。いろいろ
探してもあまり参考になるものがみあたらない
のですが、こういうのに定石ってありますか?

#RDBMSなんて使うなっていう話もあるが。

上記のような形でデータを持っているとすると、
それをACCESSのVBAでツリービューとして表
示することもできるのでしょうか?

#Grape cityなんかのツールを使えばよさげ
#なのですが、標準では無理?
0508デフォルトの名無しさんNGNG
MS TreeView(ocx)をフォームに貼ったら簡単できると思うけど・・・
Accessデータを2分木表現するのも、Treeに大量のデータ表示するのも激しく
自然の理に反してる気がするんですが。
万が一やるならMS TreeViewは再配布可能だが配付条件知らんので調べてください。
0509デフォルトの名無しさんNGNG
>>508
ありがとうございます。

私もACCESSでこの手のデータを取り扱う
のも、ましてや視覚表現するのもあまり気は
進みまないのですが、お客様のご要望(^^;
なので、検討だけはしているところです。

#木構造の表示はとりあえず勘弁してとは
#言ってありますが……。
0510デフォルトの名無しさんNGNG
>>509
Win32API呼び出して、自力描画してやれば?
0511デフォルトの名無しさんNGNG
>>510
めいっぱい値切られているので、
手のほうもめいっぱい抜きたい
というのが本音(^^;
■ このスレッドは過去ログ倉庫に格納されています