1 名前:d mailto:age [2008/03/30(日) 09:01:59 ] このスレッドはVBについて、 他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。 VB使いが優しくコメントを返しますが、 お礼はVBの布教はしなくてよいので、初心者の救済をお願いします 前スレ くだすれVB6.0以前(超初心者向け) pc11.2ch.net/test/read.cgi/tech/1165574205/
237 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 23:10:38 ] だよねえ。 ってああ、思い出した、これだ。 msdn.microsoft.com/ja-jp/library/sect4ck6.aspx > トラブルシューティング > > 実行順序。Visual Basic では、演算効率を高めるために数式が自動的に > 並べ替えられることがあります。このため、変数の値を変えてしまうような > Function プロシージャを数式の中で実行しないようにしてください。
238 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 23:12:17 ] >>237 のだよねえは>>235 宛だったんだけど>>236 に否定されてるな。まあいいか。
239 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 23:20:53 ] そしてリンク先がVB2008のヘルプだった。まあ該当部分はVB6でも一緒なんで。
240 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 23:35:01 ] >>236 Cだって&&と||は短絡評価だ。
241 名前:228 mailto:sage [2008/10/15(水) 23:55:34 ] >>237 そういうことだったんですね。目から鱗です。 皆様の貴重なご意見身に染みました。 有難うございました。
242 名前:デフォルトの名無しさん mailto:sage [2008/10/16(木) 00:52:12 ] vb6でAndAlsoを代替するなら if not 条件式A then elseif 条件式B then end if
243 名前:デフォルトの名無しさん mailto:sage [2008/10/16(木) 01:00:49 ] (複雑な式の)数値演算の順序と単純な論理演算の順序の問題は 普通に考えればまったく別問題だろう。 目からうろこが落ちてどうする。 だから間違いなくお前さんの勘違いだから。
244 名前:デフォルトの名無しさん [2008/10/16(木) 01:28:11 ] Dim txt As New TextBox →Newキーワードの使用法が不正です。 これってどうしてでしょうか? クラスである以上Newできるのが当然と思っているのですけど できなくてすごく疑問です。
245 名前:デフォルトの名無しさん mailto:sage [2008/10/16(木) 02:46:48 ] 質問する前にVBのヘルプを読め。 New で 検索掛ければ 出てくる筈だ。
246 名前:デフォルトの名無しさん mailto:sage [2008/10/16(木) 04:31:12 ] >>240 そうだった。算術演算子と勘違いしてた。
247 名前:デフォルトの名無しさん mailto:sage [2008/10/16(木) 13:45:09 ] Andはどっち?
248 名前:244 mailto:sage [2008/10/18(土) 18:21:41 ] キーワード New を使って、固有のデータ型の変数の宣言、または従属オブジェクトのインスタンスの宣言はできません。 →CreateObject または New を使用して従属オブジェクトを作成することはできません →クラスの従属オブジェクトからオブジェクトを作るには、クラス モジュールの Instancing プロパティに PublicNotCreatable を設定します。 従属オブジェクトってことですね。
249 名前:デフォルトの名無しさん mailto:sage [2008/10/18(土) 18:28:05 ] >>248 違うと思う。普通に New できるもん。 TextBox ってのの定義と、プロジェクトの種類を教えて。
250 名前:245 mailto:sage [2008/10/18(土) 20:01:02 ] >>248 Newにカーソル置いてF1押してるだけだとそのヘルプは出てこないから、 キーワードのヘルプだけでやってるとそこらでドツボにハマる。 というか、私もハマった一人なんだがな。なので、教えるのに若干くどい手段に。 ただ、>>248 で従属オブジェクトと言ってるのは多分違う。 >>248 の言っている従属オブジェクトと言うのは、 自作したクラスの中にTextBoxを丸ごと包括してたりする場合などを示す。 と言う訳で、Newの仕様を理解した所で回答。(宣言時のNewは自作Class専用みたいな物。) ヘルプで探してもナイスな方法が出てこなかった気がするので説明添えてサンプル提示してみる。 Controls.Addで追加してそれを参照する形でNewの代用とする。 ※txtNewは作成されるコントロール名なので複数Addする際は重複不可。 動的に割り当てる場合、大概は複数作る筈なのでindexに配列値を入れて、 Set Txt(index) = Me.Controls.Add("VB.TextBox", "txtNew" & format(index)) と言う形で作成する。 '--------------------------------始 Dim Txt(1) As TextBox Set Txt(0) = Me.Controls.Add("VB.TextBox", "txtNew" & Format(0)) Set Txt(1) = Me.Controls.Add("VB.TextBox", "txtNew" & Format(1)) '-------------------------------- '単発版 Dim Txt1 As TextBox Set Txt1 = Me.Controls.Add("VB.TextBox", "txtNew1") '--------------------------------終 これを走らせると、定義したformにtxtNew1と言うオブジェクト名を持つTextBoxを作成し、 参照の設定を終えた形になる。 ただし、Me.Controlsの数は255以下とされていて、それを超えて生成しようとすると失敗する。 「際限なくコントロールを作成できるボタン」等を作成する場合は、 カウント数を見ながらエラートラップすべし。
251 名前:デフォルトの名無しさん [2008/10/19(日) 12:40:44 ] コントロール配列にすれば良いじゃん
252 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 20:17:00 ] ハード(分解能=1μs)のタイマとソフトのタイマ使ったソフト仕事で作ってるんですが VB6のタイマの分解能って実際50msぐらいなんですか?Windowsのタイマの分解能が1msらしいですが、、、
253 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 20:24:19 ] >>252 はい。約55msecです。 #10msec ってのも会ったような気がしたけど それより細かい値が必要なときは、パフォーマンスカウンタを使いましょう。
254 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 22:48:52 ] >>253 ありがとうございます 細かい分解能必要な時はソフトのタイマ使うのはちょっと怖いですね VBのタイマとか、APIのタイマってハードのクロックを常に取得しているんですかね? VBでタイミングの遅延を気にするのなんてナンセンスな気もしますが 他のプロセスの動作でタイマの遅延みたいのってあるのかな・・? 実際はソフトウェアのタイマは使わないので遅延があっても構わないんですが、、、
255 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 23:23:55 ] rtos使え
256 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 23:39:03 ] >>252 timeBeginPeriod/timeEndPeriodで1msになるようだ。 ttp://www.emit.jp/prog/prog_t1.html ttp://d.hatena.ne.jp/NyaRuRu/20080909
257 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 23:45:45 ] >>253 55msecとか10msecとか決まってないって。 VBのタイマーはWM_TIMERだから、メッセージループを最低1回回すだけの時間は確実に掛かる。 具体的な数値はパソコンの性能とかそのとき行ってる処理内容による。 そういういいかげんなタイマーだ。
258 名前:デフォルトの名無しさん mailto:sage [2008/10/20(月) 00:44:51 ] >メッセージループを最低1回回すだけの時間は確実に掛かる。 そらそうだが今はそういう話じゃないだろw
259 名前:244 mailto:sage [2008/10/20(月) 02:58:58 ] >>249 どうも違うみたいですね汗 TextBoxはフォームに乗せるTextBoxです >>250 >宣言時のNewは自作Class専用みたいな物 これで納得しました。 New出来ないClassは例のように Controls.Addのように間接的にしかNewできないんですね。 確かにTextBoxクラスなどはこっちで勝手にNewできる必要はないですし、 できたとしてもどう初期化すればいいのか困る気もします。
260 名前:デフォルトの名無しさん mailto:sage [2008/10/21(火) 23:34:16 ] マルチスレッドで組めないVB6で苦悩しているVB厨の私が 次に手をつけるべきお勧めの言語は何でしょうか?
261 名前:デフォルトの名無しさん mailto:sage [2008/10/21(火) 23:44:08 ] もうやめろ
262 名前:デフォルトの名無しさん mailto:sage [2008/10/21(火) 23:56:03 ] 選択肢はC#ぐらいしかないでしょ?このスレでDelphiとかいったら喧嘩売ってるようなもんだし。
263 名前:デフォルトの名無しさん mailto:sage [2008/10/22(水) 03:13:02 ] >>260 VB,NETかC#辺りをお勧め。 とは言え、それなりにプログラムを何度か組んでいるのであれば 言語仕様は解ってきてると思うんだがな。 VBが粗方解ってきたらC++を少し齧っておくと後で覚えようとする時に楽かな。
264 名前:デフォルトの名無しさん [2008/10/22(水) 04:34:15 ] >>260 なでしこにでも手を出せば?
265 名前:デフォルトの名無しさん mailto:sage [2008/10/22(水) 06:41:03 ] >>263 ブイビーコンマネットいいよね
266 名前:デフォルトの名無しさん mailto:sage [2008/10/22(水) 20:21:04 ] コロンネットの方が優れている
267 名前:260 mailto:sage [2008/10/22(水) 23:11:45 ] レス有難う 大幅な仕様変更でシビアなタイミングが求められてきて タイマで誤魔化しきれなくなってきました 2005のC#なら少し使ったことあるので、そっちに移行出来るよう勉強します といっても納期は来週頭なんですが・・・ハハハ orz
268 名前:デフォルトの名無しさん mailto:sage [2008/10/22(水) 23:36:38 ] C#なら解決するとでも思ってるんだろうか
269 名前:デフォルトの名無しさん mailto:sage [2008/10/22(水) 23:42:27 ] 解決するんじゃないあるいは? 例えば通信とか、機器の制御なんかだとワーカースレッドが使えるかどうかは 雌雄を決する場合があるよ。
270 名前:デフォルトの名無しさん mailto:sage [2008/10/23(木) 22:19:52 ] VB6でまともなマルチスレッドがやりたければ、別スレッドの処理をCで書いたDLL関数からCreateThreadするのが常道。 VBとのスレッド間通信もDLL関数でできる。 Cの知識がなければ無理だが、職業プログラマでまさかCが書けないなんてことはないよな?
271 名前:デフォルトの名無しさん mailto:sage [2008/10/24(金) 00:16:50 ] などと意味不明なことを口走っており
272 名前:デフォルトの名無しさん mailto:sage [2008/10/24(金) 08:57:00 ] 奥多摩方面に逃走している模様です
273 名前:デフォルトの名無しさん [2008/10/24(金) 11:17:11 ] >>270 時代はJavaだと言うに
274 名前:デフォルトの名無しさん [2008/10/24(金) 11:18:35 ] 軽く1000回以上は説得したけど無駄でした。
275 名前:デフォルトの名無しさん [2008/10/25(土) 23:10:41 ] web情報を一行ずつテキストに取り込む方法教えてください
276 名前:デフォルトの名無しさん mailto:sage [2008/10/25(土) 23:13:02 ] web情報って何ですか?
277 名前:デフォルトの名無しさん [2008/10/25(土) 23:18:39 ] 馬鹿は黙っててください
278 名前:デフォルトの名無しさん [2008/10/25(土) 23:30:37 ] web情報ってのはブラウザーに表示されている、web内容の意味で使いました。
279 名前:デフォルトの名無しさん [2008/10/26(日) 06:31:55 ] 目覚まし時計を作ってます 現在 dim aa zikoku = Time aa = DateAdd("m", 10, zikoku) Dateaddで正確に時刻が入りません、timeを直接引数にしたりもしましたがダメでした 固定された時間しか無理なのですか? If aa = Time Then MMControl1.Command = "play" 数時間前はaaに時間が入力できる時がありましたが 同じ時刻のはずなのにif文が反応しませんでした。 マウスをあててみるとaa = "5:30:00" time = 5:30:00とダブルコーテーションのくくりなかったのでこれかなとも思ってます
280 名前:デフォルトの名無しさん [2008/10/26(日) 06:33:03 ] 誰か解決法いただけませんか
281 名前:デフォルトの名無しさん [2008/10/26(日) 06:38:30 ] 時間を=で比べるな
282 名前:デフォルトの名無しさん [2008/10/26(日) 06:48:51 ] いや、分を”m”にしてたこととスピーカのボリュームが0になったました。 すいません、自己解決しました
283 名前:260 mailto:sage [2008/10/26(日) 23:54:30 ] >>270 残念ながら職業プログラマじゃないのです 学生の時ちょこっと齧っただけです 会社に適任者がおらん為、仕事を投げられました まともにプログラムの勉強したいです
284 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 00:18:20 ] そのレベルなら外注するか専任にさせてもらうか、また今後どういう方向性で プログラムを扱っていくのか、そのコストは見合うのか、など、言語とかそういうこととは 違うレベルで調整が必要だと思う。頑張ってどうにかしたのはいいけど、評価が 下がるんじゃ嬉しくないっしょ?
285 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 00:43:15 ] 自分も外注に投げたいんですよ本当は だけど計画性0の会社で5秒後に仕様変更発生みたいな感じなので 社内で作れと・・・ 使う機器が1号機ってせいもあるんですが 仕様が全く固まってないので、当面は私が作ることになりそうです しかもそのソフトを100万で売るっつってるんだから始末に終えない・・・ はぁ・・・こんな仕事やりたくねぇ・・・
286 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 01:40:59 ] お前な、成功させようとするからおかしな方向に進んでいくんだよ ばっさりと動かなくさせれば他の道ができていくんだ やれることをやってからぼやけ
287 名前:デフォルトの名無しさん [2008/10/29(水) 00:53:25 ] VB6.0でListView(詳細)についてですが、 ListView1.ListItems.Add のように、行を追加した後で、 ListView1.ListItems(0).Text = "hoge" のように、やってみると、「インデックスが範囲を超えています」 というエラーが出て、文字の値の変更ができません。 本当に初心者の質問ですみません。悩んでいます。
288 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 01:08:18 ] >>287 インデックスが1からってことはない?
289 名前:デフォルトの名無しさん [2008/10/29(水) 01:17:01 ] >>288 できました!インデックスが1からでした!! 有難うございます。しょうもない(?)ところで2〜3時間食っていて悩んでました!
290 名前:デフォルトの名無しさん [2008/10/31(金) 00:25:17 ] スロー再生や倍速ができるアプリを作りたいんですがまるでわかりません なんかヒントいただけませんか
291 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 12:03:30 ] >>285 どこの田舎の零細企業? 会社はソフト産業とは無縁でしょ。 よくいるんだよね。 そういうこと言い出す馬鹿。
292 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 12:06:42 ] >>290 まずは自分で再生するソフトを作ってみような。 もちろんデータを読み込んで1コマ1コマ表示する処理を自分で書くんだ。 それが出来てから倍速とか考えるべき。 データフォーマットをいじって30fpsってのを60fpsに変更してWindowsMediaPlayerで再生すれば倍速になるけど 音声も調整しないといけなくて、しかも音程が狂うんじゃなかったっけな。
293 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 17:13:16 ] VBで何かシステム作って卒業研究にしたいんですがいいアイデアありませんかね?
294 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 17:18:16 ] あるよ!
295 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 21:00:07 ] >>294 教えてくれこのとおりだ or2
296 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 23:09:39 ] なんで今からVB6なんだよ?そもそもライセンスが(ry
297 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 23:20:00 ] ライセンスがどうかしたのか? サポートの話ならわかるが
298 名前:293 mailto:sage [2008/11/06(木) 02:55:47 ] すまんスレタイの超初心者ってのみてここで相談しちまった
299 名前:デフォルトの名無しさん [2008/11/06(木) 22:02:06 ] フォームサイズの最大値が画面の解像度に依存しないようにする方法ってありますか? 15インチ幅の用紙に印刷する為に印刷内容を載せるフォームを作ったのですが 解像度が低いマシンだとフォームのサイズを小さくされてしまい、 印刷内容が途中で切れてしまいます。
300 名前:デフォルトの名無しさん [2008/11/07(金) 00:34:34 ] VBscriptをつかってHTA上で実行した結果をHTMLへ動的に表示させたいのですがうまく出来ずに悩んでおります。一応VBの部分はちゃんと出来ていることは確認していますが表示が全くダメです。 どなたか教えて下さい。 Option Explicit Dim objAccess Dim objDB Dim objRS Set objAccess = CreateObject("Access.Application") objAccess.Visible = True objAccess.OpenCurrentDatabase("c:\happy\island.mdb") Set objDB = objAccess.CurrentDb Set objRS = objDB.OpenRecordset("SELECT COUNT(*) AS 件 FROM 住所録テーブル") WScript.echo "件数=" & objRS("件数") objRS.Close Set objRS = Nothing Set objDB = Nothing Set objAccess = Nothing 件数をWScript.echoではなくinnerhtmlで表示したいです。 またSQLを("SELECT * FROM 住所録テーブル")にした場合データをレコードセットで抽出し必要なデータを表にして表示をしたいのですが・・・(これもinnerhtmlを使いたい)
301 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 00:43:19 ] >>300 www.google.co.jp/search?q=innerHTML
302 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 23:12:41 ] パラメータって引数とは違うの?
303 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 23:34:17 ] 時と場合による
304 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 23:39:49 ] サンクス
305 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 03:06:03 ] おならプー
306 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 12:19:50 ] >>299 ピクセル数が少ないところに全体を表示するなら 縮小しないと出せませぬ。 Imageコントロールはビットマップを縮小表示できます。 FormやPictureBoxにLineやPrintで書いている場合は、 書いたものをビットマップ(IPicture)として取得してImageに出すか、 こんなときのためのScaleWidthやScaleHeightなので、これらを常に 同じ値にして、Twip単位でLineやPrintを使いましょう。
307 名前:デフォルトの名無しさん mailto:sage [2008/11/12(水) 11:09:45 ] Visual Basics 6 Portable めっけた www.plunder.com/Visual-Basics-6-Portable-download-69648.htm makeもできるんですけど
308 名前:デフォルトの名無しさん mailto:sage [2008/11/12(水) 14:27:23 ] >>307 ぷぷw
309 名前:デフォルトの名無しさん mailto:sage [2008/11/12(水) 15:55:59 ] >>307 コメント欄が荒れすぎなのでウィルスかなんかかと思ったけど、結局これ何なの?
310 名前:デフォルトの名無しさん mailto:sage [2008/11/12(水) 16:01:33 ] >>309 ウイルスに決まってんじゃんw
311 名前:デフォルトの名無しさん mailto:sage [2008/11/12(水) 16:51:54 ] AVGは反応しなかった。 普通に起動した。 何かが起きたかどうかは知らん。
312 名前:デフォルトの名無しさん mailto:sage [2008/11/13(木) 10:54:38 ] US評価版だろ。 USBメモリ起動に割ったやつ
313 名前:デフォルトの名無しさん mailto:sage [2008/11/14(金) 16:07:09 ] ベーシックス
314 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 18:20:55 ] 社内の情報システム部のようなところで勤務していますが、プログラマーではありません。 そんな私が最近、VB6のコードを調べる必要がありました。 .NETのC++やC#のコードとよく似てるように見えるのですが VB6はオブジェクト指向ではないという理解で正しいでしょうか。
315 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 18:29:54 ] 何を持ってオブジェクト指向と定義するかで変わってくるが オブジェクト指向に必要な要素は持っている。 ただ一般的に社内システムレベルのソースがオブジェクト指向ではない可能性は高い。
316 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 19:02:54 ] VB6はオブジェクト指向の要素のうちカプセル化を不完全な形で持っているだけで、 継承、多態といった要素を持ちません。つまり>314の認識でほぼ合っていると思われます。
317 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 19:11:03 ] オブジェクト指向なんて考え方。Java使ったコボラーの プログラムなどをオブジェクト指向などと呼びたくない。
318 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 19:18:37 ] 委譲、包含、インターフェイスといった要素ではダメですか>OOP 一口でオブジェクト指向といっても、オブジェクト指向プログラミングの他に オブジェクト指向デザイン、オブジェクト指向ユーザーインターフェイス、 オブジェクト指向開発などなどさまざまな概念がそろっております。
319 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 19:26:44 ] > 委譲、包含、インターフェイスといった要素ではダメですか>OOP だめじゃね? 全部 VB6 でできる。
320 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 19:28:07 ] とりあえず、VB6は、Cの構造的プログラミング+モジュール分割 の書かれ方が多い。 が、フォームのコントローラ関係は、普通にOOだな。 あ、そうそう、下手にOOしてるVB6ひいちゃったら、しねるぞ。
321 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 20:10:59 ] OOの定義の問題は置くとしても愚問だね。 仮に結論が出たとして、それを>>314 が知ったところでなんの意味があるんだろう。
322 名前:314 mailto:sage [2008/11/15(土) 21:13:10 ] 質問の仕方が下手ですみません。 VB6の言語使用を習得すれば、「オブジェクト指向も知ってます」と いえるのかどうかを知りたかったです。 オブジェクト指向についてはまた別に学習することを考えます。 しかし、オブジェクト指向とは何たるかについては、 本職ではない私にはちょっと難しそうですね・・・ とても参考になりました。 みなさん、ありがとうございました。
323 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 21:29:29 ] >>322 > VB6の言語使用を習得すれば、「オブジェクト指向も知ってます」と > いえるのかどうかを知りたかったです。 いえません
324 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 21:59:27 ] いくらOOが考え方だとはいえ、さすがにVB6でOO知ってますは無理があるだろ・・・。 VB6なんて最悪言語の代名詞なのに・・・。
325 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 22:05:14 ] かといって、Javaも不完全なんだよなー
326 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 22:43:44 ] >322 実装重視であれこれつまみ食いするのが結局一番いいんじゃね? アカデミックに勉強してたらそれだけで一生終わる
327 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 13:17:41 ] なるほどオブジェクト指向を学ぶにはVBが最高なんですねー
328 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 20:02:59 ] 反面教師としてはいいんじゃね?
329 名前:デフォルトの名無しさん [2008/11/19(水) 14:51:36 ] はじめまして 早速ですが、現在、VB6.0でAccess97のmdbを使うプログラムを作成しているのですが、 実行時エラー 2147023170(800706be)オートメーションエラーです。リモートプロシャジーコールに失敗しました。 のエラーが、稀に発生します。 プログラムの一部 Public wrkJet As Workspace Public Rundb As Database Set wrkJet = CreateWorkspace("", "admin", "", dbUseJet) Set Rundb = wrkJet.OpenDatabase("c:\xxxxx\xxxxxx.mdb", False) strSql = "" strSql = "Select * From 送信状況マスタ;" Set RecSet = Rundb.OpenRecordset(strSql, dbOpenDynaset) Call CloseRecSet(RecSet) ---------------------------------------------------------------------------------------------------------------------------- Public Sub CloseRecSet(ByRef RecSet As Recordset) On Error Resume Next If Not RecSet Is Nothing Then RecSet.Close <<<<<<<<<<<<<<<<<< この変でエラーになります。 Set RecSet = Nothing End If End Sub ライブラリにMicrosoft DAO 3.6 Object Library を使用しています。 support.microsoft.com/kb/825796/ja に、Access97は、DAO 3.5を推奨とあったのですが、上位互換で問題無いと思っていたのですが、 やはり、DAO 3.5を使用した方が良いのでしょうか? ご指導をお願い致します。
330 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 15:30:25 ] >>329 3.6で出なくなるの? 試すのはわけないと思うが・・・ closeを別ルーチンにせず同一ルーチンにしてみるとか 試せることはいろいろあるよね。
331 名前:329 [2008/11/19(水) 16:05:05 ] 説明が少なく申し訳ありません。 現在までの流れは、 @VB6.0 + DAO3.5 で新規開発 >>> スキャナやFAXソフトを使用でタッチパネルの反応が遅い現象発生 AEXEを分割して、ActiveX.EXEを導入 >>> タッチパネルの件は解決。mdbが頻繁に壊れる現象発生 BDAO3.6を導入 >>> mdb破損回数が軽減。エラーを吐いてEXEが落ちる現象発生 となっています。
332 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 19:01:55 ] On Error Resume Nextでごまかすのをやめたほうがいいと思うぞね
333 名前:デフォルトの名無しさん [2008/11/19(水) 23:15:35 ] すんません。 VB2008で教えて下さい。 ソリューションエクスプローラーのタブに 「データソース」が表示されなくなっちゃったんだけど どう設定すれば、また表示されますか?
334 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 23:16:58 ] >>333 スレタイ100回読み直せ
335 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 21:25:45 ] >>331 じゃあ次はADO導入だな
336 名前:デフォルトの名無しさん mailto:sage [2008/11/23(日) 00:26:37 ] >331 ネットワークドライブにmdb置いて複数クライアントからアクセスしたりしてない? あとリンクテーブルとか。
337 名前:デフォルトの名無しさん [2008/11/24(月) 19:17:31 ] 質問です。 VB6.0でParadoxと言うデータベースを開きたいのですが、 エラーが出て開きません。 Private Sub Form_Load() Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\;Extended Properties=Paradox 5.x;Persist Security Info=False" cn.Open rs.Open "ABC", cn, adOpenDynamic, adLockOptimistic, adCmdTableDirect rs.AddNew rs.Close cn.Close End Sub 上記のコードを書いたんですが、rs.Openの行で 「外部テーブルのフォーマットが正しくありません。」 というエラーが出ます。 何が悪いのでしょうか? よろしくお願いします。