1 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 22:53:46.88 .net] AccessのVBAに関する質問スレです ★1 質問テンプレ(雛形)は用意しませんが、OSとAccessのバージョンは必ず書きましょう。 ★2 AccessのVBA以外の部分に関する質問はNGです。 但し、VBA無しでも出来ることだが、あえてVBAでやりたいって物に関してはOK。 ★3 AccessのVBE(Visual Basic Editor)を使うとしても、VBAの分野以外に関してはスレ違いです。 VBAとは、『Visual Basic for Application』の略で Application ├Workbooks |└Workbook | ├Worksheets | |└Worksheet というApplication以下のオブジェクトを、VB言語で操作するものを指します。 例えExcel付属のVBE(Visual Basic Editor)を利用しようとも、このApplication以下のブックやシート、 セルやオブジェクト等を操作するもの以外はVBA分野の話ではないので、ここでは聞かないでください。 ★4 レベルはどうあれ、ここはプログラマ用の板スレです。プログラマとは、自分でプログラムを組み、 コードを書く人の事なので、自分でやるきは全く無く、丸投げしようって人はお断りです。 ヒントを貰えばあとは自力でなんとかしますって人のみどうぞ。 ★5 わからなければとりあえず「マクロの記録」(Alt, T, M, R) 関連スレ Excel VBA 質問スレ Part23 toro.2ch.net/test/read.cgi/tech/1327763113/l50
477 名前:デフォルトの名無しさん mailto:sage [2015/10/28(水) 22:29:42.64 ID:mlOdASO2.net] 結局のところAccessが担当してた部分ってETLツールに置き換えられてきてるってことかな?入力は除いてだけど。
478 名前:デフォルトの名無しさん mailto:sage [2015/10/29(木) 10:20:50.66 ID:olmk/SiV.net] 何が結局のところだよ ETL言いたいだけちゃうんかと そもそもAccessでビッグデータなんか扱えくぇrちゅいおpsdfg
479 名前:デフォルトの名無しさん mailto:sage [2015/10/29(木) 23:09:13.90 ID:yeCeSffg.net] >>459 h?
480 名前:デフォルトの名無しさん mailto:sage [2015/10/29(木) 23:46:52.13 ID:+ZsDxL5P.net] Forguncyに流れちゃった人いる?
481 名前:デフォルトの名無しさん mailto:sage [2015/10/29(木) 23:50:41.92 ID:+ZsDxL5P.net] >>460 人それぞれだと思うが、おいらの使い方ならビックじゃないデータでもETLは結構いい選択肢だと思たあるよ 定形業務にはいいんじゃないか?
482 名前:デフォルトの名無しさん [2015/10/30(金) 15:53:29.13 ID:ijicNSnW.net] あるレポートが、あるクエリを元に作成されていて、そのクエリのレコード毎に、レポートをPDF出力し、出力先はまた別のクエリのフルパス文字内との元クエリデータとの一致で決めたいのですが、ご教示いただけないでしょうか?
483 名前:デフォルトの名無しさん mailto:sage [2015/10/30(金) 15:57:13.83 ID:o6oPjLK7.net] >>464 どこまで出来てて何がわからんのだ?
484 名前:デフォルトの名無しさん [2015/10/30(金) 19:35:33.54 ID:Y9M2GM2T.net] >>465 レポートをレコード毎にPDF出力して、クエリにあるパスに保存するところ
485 名前:デフォルトの名無しさん mailto:sage [2015/10/31(土) 02:10:26.31 ID:CVsb3S4r.net] どこまで出来てるんだ
486 名前:デフォルトの名無しさん mailto:sage [2015/10/31(土) 03:08:21.25 ID:CVsb3S4r.net] >>466 「MS-Accessのレポートをページ毎にPDF化する」でググって一番上のページ そこみて、わからないとこは自分で勉強してくれ
487 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 03:17:03.71 ID:MNp+RCAH.net] >>466 あのさ、ここはお前の願望を叶えるスレじゃないの。 わからない所を聞く為のスレなわけ。 お前のそれは1機能まるごと作ってここにコード貼れって命令してるに過ぎない。自分でコードもはらずにね。
488 名前:デフォルトの名無しさん [2015/11/04(水) 20:19:18.57 ID:jMb6JFTC.net] VBAでSELECT文を作って、Formに渡してRequeryして結果を表示しています。 テキストボックスに表示するテキストデータが途中で切れているという現象がおきました。 別のフォームで同じデータを同じようにテキストボックスに表示させると、全部のデータがきちんと表示されます。 スクロールとかではありません。文字列がぶつっ!と切れて途中までしか表示されないのです。 この現象の原因とかわかる人いますでしょうか?
489 名前:デフォルトの名無しさん mailto:sage [2015/11/04(水) 21:27:15.64 ID:oSFsMrp6.net] >>470 なぞなぞかよっ!w テキストボックスのプロパティを良く見た?
490 名前:デフォルトの名無しさん mailto:sage [2015/11/05(木) 11:16:36.84 ID:AOwzRWVn.net] >>470 そおテキストボックスどっかからコピペしてきたと見た
491 名前:デフォルトの名無しさん [2015/11/05(木) 19:21:36.55 ID:zgwRgbI3.net] >>471 ,>>472 表示ができているテキストボックスと同じプロパティです。 でも、1000件データのうち、1つだけ200文字くらいの文字列なんですが、100文字くらいの ところでブツッ!って切れてるんです。 他のデータで同じくらいのサイズの文字列は問題なく表示されています。 SQLが悪いのかと思って、Debug.PrintしてSQLを取り出して、クエリを実行してみると、ちゃんと文字列が全部表示されています。 文字コードかなんかでしょうか? でも、同じ文字列を別のフォームにあるテキストボックスで表示可能なんです。(ToT)
492 名前:デフォルトの名無しさん mailto:sage [2015/11/05(木) 19:22:59.62 ID:I4yBwlZm.net] >>473 同じ方法で出してるの? ヌル文字ってVBAは関係なかったっけ?
493 名前:デフォルトの名無しさん [2015/11/05(木) 19:44:01.06 ID:zgwRgbI3.net] SQLは、違います。 あぁ・・・・その実験やってなかった・・・。 やってから報告します・・・。
494 名前:デフォルトの名無しさん mailto:sage [2015/11/05(木) 19:53:07.35 ID:tNVJsXcL.net] VBAの文字列はヌル文字ではターミネートされない 改行とか入って、見えなくなってるだけとかじゃないのか
495 名前:デフォルトの名無しさん mailto:sage [2015/11/06(金) 09:46:24.95 ID:rpsHbqpr.net] union を union all にしたら現象がでなくなりました。 (ヽ´ω`)でもクエリデザインから実行するとunionでも普通に表示されるんだよなぁ、、、
496 名前:デフォルトの名無しさん mailto:sage [2015/11/06(金) 10:26:38.77 ID:iLvLfKdX.net] >>477 重複業があるんじゃないの? 目視で見てるのは違う行とかないよね。
497 名前:デフォルトの名無しさん [2015/11/06(金) 12:39:06.37 ID:F7EIvq3A.net] test
498 名前:デフォルトの名無しさん mailto:sage [2015/11/06(金) 17:29:52.25 ID:FW411vzH.net] >>478 質疑回答IDも一致してて、単純なSELECTぶんなので、、 超レアなバグなのかなと
499 名前:デフォルトの名無しさん mailto:sage [2015/11/06(金) 19:16:39.01 ID:hUa1dWCf.net] メモ型あたりでunionの同一行判定でなんかあるかもしれんけど どう考えても>>480 の勘違いの可能性の方か高いと思うぞ まあACCESSのバージョンもテーブルの種類もSQLもデータをどうやって表示してるかも書かんような奴の話は 聞くだけ無駄かもしれん
500 名前:デフォルトの名無しさん mailto:sage [2015/11/06(金) 19:41:20.27 ID:hUa1dWCf.net] メモ型ってgroup by 出来なかった気がしたのでちょっと調べた どうも、TEXT型にキャストして判定するみたいだな なので、255文字目までが同一のメモ型は同一と判定される distinctで採択されるのがどっちの行かはわからんが とりあえずメモ型の制限だからメモ型使って値操作するのが悪いと言う結論だな 個人的にはエラーにしてほしいところだし、昔はエラーになってた気がするんだが俺の気のせいだろうか
501 名前:デフォルトの名無しさん mailto:sage [2015/11/06(金) 19:56:07.21 ID:hUa1dWCf.net] あと、unionは単純なSQLとは言えんし はなからunionしてるSQLとテーブルレイアウト出してればもっと解決早かっただろうに 全く同じ現象出てるって書いてるブログあるぞ
502 名前:デフォルトの名無しさん mailto:sage [2015/11/07(土) 13:41:21.41 ID:Lam93S6q.net] あのっ某所でAccessはフロントエンドのみの製品で RDB自体はOS標準で使えますぜgff・・・ みたいな内容見たんだけど 本当なんです?
503 名前:デフォルトの名無しさん [2015/11/07(土) 16:11:16.86 ID:rKOE1Rwz.net] yes
504 名前:デフォルトの名無しさん [2015/11/07(土) 17:29:39.50 ID:D4Pma+c4.net] >>484 んだ。 だから、ExcelがあればVBAで組める人がいるなら、ぶっちゃけいらん。
505 名前:デフォルトの名無しさん [2015/11/07(土) 17:54:57.33 ID:nFXrQ+Fm.net] OSに標準でついてるRDBってなんのこと??
506 名前:デフォルトの名無しさん mailto:sage [2015/11/07(土) 18:34:51.46 ID:eMujCaYk.net] RDBは付いてないでしょう
507 名前:デフォルトの名無しさん mailto:sage [2015/11/07(土) 19:25:43.69 ID:Lam93S6q.net] ちゅーかVBScriptからもいけるじゃん 後付けコンポーネントってわけでもなさそうだし Officeいらないのかもしかして
508 名前:デフォルトの名無しさん [2015/11/07(土) 19:37:37.20 ID:sBJO9RQ1.net] SQLサーバのこといってんの?
509 名前:デフォルトの名無しさん mailto:sage [2015/11/07(土) 19:
] [ここ壊れてます]
510 名前:39:42.37 ID:Lam93S6q.net mailto: >>487-488 >Jetデータベースエンジンとは、Microsoft社が開発したリレーショナルデータベースエンジン。Microsoft Access用に開発されたもので、現在ではWindowsに統合され、様々な製品から利用されている。 だそうですよ [] [ここ壊れてます]
511 名前:デフォルトの名無しさん [2015/11/07(土) 19:47:42.23 ID:sBJO9RQ1.net] >>491 トン jetってAccess買わなくてもつかえるんだ。 ランタイムはしってたけど
512 名前:デフォルトの名無しさん mailto:sage [2015/11/07(土) 20:47:46.88 ID:nqO+al0X.net] windowsに統合されたjetの使い方はどうすれば?
513 名前:デフォルトの名無しさん [2015/11/07(土) 22:03:40.43 ID:cyCg/fRc.net] レポートをレコードごとに、pdf出力したく daoで以下のような感じで書いたんだが。 ファイルのフルパスが書いてある別クエリの中のレコードとレポートの項目が合致するレコードのフルパスにpdfを出力したいんだがどうしたらいいのかわからない。 Do Until rs.EOF DoCmd.OpenReport 〜 DoCmd.OutputTo acOutputReport, , acFormatPDF, "ファイルパス.pdf" DoCmd.Close acReport, レポート名 rs.MoveNext Loop
514 名前:デフォルトの名無しさん mailto:sage [2015/11/07(土) 22:57:08.01 ID:uMO3Ng54.net] SQL書いてそれをレコードセットに入れたら?
515 名前:デフォルトの名無しさん mailto:sage [2015/11/08(日) 02:11:48.41 ID:WbD4bkmm.net] JETだけでDB組むとか何の拷問だよ 素直にAccess使え
516 名前:デフォルトの名無しさん mailto:sage [2015/11/08(日) 12:15:44.95 ID:GC9rkdcu.net] Pythonで書いても楽
517 名前:デフォルトの名無しさん [2015/11/08(日) 13:04:28.61 ID:iWdr+l4l.net] で、Accessって 何に使えばいいの? (´・ω・`)
518 名前:デフォルトの名無しさん mailto:sage [2015/11/08(日) 14:01:11.47 ID:LxG8VZT7.net] >>498 一人で完結する仕事で面倒臭くて外注する予算もなくてなことを 自動化するのに使ってるよ。だから保守も自分でしかできない(笑) そんな仕事じゃないか?
519 名前:デフォルトの名無しさん [2015/11/08(日) 15:13:38.10 ID:QfP+cajQ.net] 社内の統計担当とかそんなポジションの人かな? 社内の簡単な統計ならほんと楽ちん。 Access使えるか使えないかでどえらい作業能力の差が生まれる。
520 名前:デフォルトの名無しさん mailto:sage [2015/11/08(日) 18:18:56.29 ID:dBATCu8V.net] m9 pgr
521 名前:デフォルトの名無しさん mailto:sage [2015/11/10(火) 21:11:26.36 ID:Ya5Yiifl.net] >>501 それは何?
522 名前:デフォルトの名無しさん mailto:sage [2015/11/11(水) 13:15:07.58 ID:vGX0No5x.net] むきゅー ぷぎゃー
523 名前:sage [2015/11/11(水) 19:27:14.97 ID:V8OM9GuG.net] access2013でフォームからの入力期間の金額を集計してレポート作成をしようとしています。 vbaでリボンにあるレポートボタンを押下した動作と同じコードは存在しますでしょうか。
524 名前:デフォルトの名無しさん mailto:sage [2015/11/11(水) 20:31:20.16 ID:RY0eiki2.net] マクロの操作を記録すれば出てくるでしょ
525 名前:デフォルトの名無しさん mailto:sage [2015/11/11(水) 22:30:56.87 ID:/+peIgnx.net] >>505 ACCESSにマクロの記録は無かったと思ったが 2013とかだと出来るようになってるのか?
526 名前:デフォルトの名無しさん mailto:sage [2015/11/11(水) 22:51:22.82 ID:oO+3Zy7C.net] 無いと思うよ
527 名前:デフォルトの名無しさん mailto:sage [2015/11/11(水) 22:55:33.44 ID:51LqdR7k.net] vba レポートでくぐったがはやいよ。
528 名前:デフォルトの名無しさん mailto:sage [2015/11/12(木) 04:28:05.37 ID:MeI9ns/Z.net] >>505 は?馬鹿はいちいちスレに出張って来るなよww 何がマクロの操作を記録だ馬鹿が。
529 名前:デフォルトの名無しさん mailto:sage [2015/11/12(木) 12:35:52.00 ID:pHlRdfiq.net] 普通にフォームと同じソースの「れぽーとほげ」を用意しておいて DoCmd, OpenReport "れぽーとほげ", acViewPreview ではダメな理由があるのかな? フォーム上でレポートに応用できるように画面設計 作り込むよりは専用のレポートで別制作しといたほうが何十倍も効率いいだろうにな
530 名前:デフォルトの名無しさん mailto:sage [2015/11/12(木) 12:42:12.51 ID:tbcgbggA.net] >>504
531 名前: ちょっと出来ない事があるとVBAに頼るのはよくない。 Officeの使い方をもっと勉強してからVBAに手を出すべきだよ。 「パラメータクエリ」と「フォーム」で作ればなんとかなるかな。 というわけで、VBA必要ないので↑の2つのキーワードでggrks [] [ここ壊れてます]
532 名前:511 mailto:sage [2015/11/12(木) 12:43:58.58 ID:tbcgbggA.net] パラメータクエリとレポートでも作れるわ。
533 名前:デフォルトの名無しさん mailto:sage [2015/11/12(木) 14:18:08.75 ID:Cdboni3Z.net] フォームからfrom日付-to日付を入力 ↓ テーブルから購入日が対象範囲のデータ取得 テーブル構造は シーケンスno.,氏名,購入品1,購入日1(購入日、購入品は6まで存在) ↓ クロス集計にて月毎の金額を集計 ↓ レポートに出力 入力する日付によってフィールド数が可変なため、レポートの作成はしていないです。 vbaを使う必要がなく可変レポートが作成出来るならスルーして下さい
534 名前:デフォルトの名無しさん mailto:sage [2015/11/12(木) 15:03:31.62 ID:m1A4y0ZB.net] >>513 クエリ作っときゃいいんじゃないの?集計の。 フィールド数が可変とはなんぞ。
535 名前:511 mailto:sage [2015/11/12(木) 16:03:58.58 ID:tbcgbggA.net] >>513 テーブルの基本設計からやり直せ。 購入品と購入日が1〜6って無いと思います。
536 名前:デフォルトの名無しさん mailto:sage [2015/11/12(木) 16:36:07.67 ID:Cdboni3Z.net] >>515 くそなテーブルだと思ってますが自分が作ったテーブルではないので変更出来ません
537 名前:511 mailto:sage [2015/11/12(木) 16:42:28.68 ID:tbcgbggA.net] >>516 レポート用にテーブル作っちゃうことはできないの?
538 名前:デフォルトの名無しさん mailto:sage [2015/11/12(木) 16:43:56.03 ID:m1A4y0ZB.net] >>516 だからクエリ作れよ。 select id,1 as 区分,氏名,購入日1 as 購入日,購入品1 as 購入品 union select id,2 as 区分,氏名,購入日2 as 購入日,購入品2 as 購入品 : select id,6 as 区分,氏名,購入日6 as 購入日,購入品6 as 購入品 で、あとはそれに対して、fromToでフィルタ掛ければいいんでないの?
539 名前:デフォルトの名無しさん mailto:sage [2015/11/12(木) 16:44:59.17 ID:Cdboni3Z.net] >>514 入力した期間に応じて月が増減します i.imgur.com/gnTtfzv.jpg 集計用のクエリは作成したのでリボンにあるレポートボタン同様に自動でリポート作成出来ないかと思ってます
540 名前:デフォルトの名無しさん mailto:sage [2015/11/12(木) 16:47:06.72 ID:m1A4y0ZB.net] >>519 帳票一枚に並べられる分の月数を元からつくっとけ。
541 名前:デフォルトの名無しさん mailto:sage [2015/11/12(木) 17:02:23.22 ID:Cdboni3Z.net] >>517 くえりをそのままレポートは難しそうだったのでテーブル化はしてあります
542 名前:デフォルトの名無しさん [2015/11/13(金) 20:45:36.98 ID:7WxIZdrP.net] 複雑になってるクエリが循環参照になってるようなのだが、読み解かずにテーブル作成して逃げようとしたらまたエラーなんとかならんかなー
543 名前:デフォルトの名無しさん mailto:sage [2015/11/13(金) 20:51:20.52 ID:etlrmpjh.net] >>519 クエリ出来てるなら、レポート作って保存しておけば好きなときに開くだけじゃん
544 名前:デフォルトの名無しさん mailto:sage [2015/11/13(金) 22:14:56.04 ID:fKrJSaVy.net] vbaでfilecopy(fsoも含む)でリムーバブルディスクにファイルをコピーするとハードウェアの安全な取り外しで ファイルが使用中とかでできない。まぁ警告のダイアログで続行を押すと取り外せるんだけど、これやると マイコンピュータからリムーバブルディスクが消えなかったりすることがある。 accessを終了すると普通に取り外せるんだけど、これをなんとかできないかなぁ。
545 名前:デフォルトの名無しさん mailto:sage [2015/11/14(土) 00:03:58.17 ID:Q8aVOdfz.net] >>524 Fsoでやるなら、 宣言で as new ...とかしない、最後にNothing入れとくを徹底したら無くなるんじゃないかな。
546 名前:デフォルトの名無しさん mailto:sage [2015/11/14(土) 00:13:34.12 ID:YdrOLc06.net] カレントフォルダとカレントドライブを明示的に リムーバブルじゃないとこに設定してやれば行ける見たいな事を聞いたことがある
547 名前:デフォルトの名無しさん mailto:sage [2015/11/14(土) 07:50:49.05 ID:ZUqvxiq2.net] >>524 それ、使用したメソッドがファイル掴んだままで、開放してないからでしょ。ちゃんとプログラミングのイロハ身につけてたらやらない。 使ったら
548 名前:必ず開放する。VBAユーザはなぜか使いっぱなしが多い。 [] [ここ壊れてます]
549 名前:デフォルトの名無しさん mailto:sage [2015/11/14(土) 08:28:36.61 ID:f21e1kim.net] .NETなんかだとマネージドは書いてもほぼ意味なかったりで使いっ放し推奨
550 名前:524 mailto:sage [2015/11/14(土) 10:27:44.88 ID:c/SicAL6.net] >>525 、527 Dim objFileSys As Object Set objFileSys = CreateObject("Scripting.FileSystemObject") objFileSys.CopyFile 元ファイル, コピー先フォルダ & "\" Set objFileSys = Nothing copyfileの部分だけをかいつまんで書くとこんな感じだけど、解放の仕方を教えてくれないか。 リムーバブルディスクにコピーしたファイルは開けるし削除もできるからロックされた感じじゃないんだよね。 安全なハードウェアの取り外しだけがうまくいかないんだよ。
551 名前:デフォルトの名無しさん mailto:sage [2015/11/14(土) 11:01:39.40 ID:ajpWryyv.net] getdriveとか適当なのを実行してみたら? カレントが移動するかも。
552 名前:524 mailto:sage [2015/11/14(土) 12:52:04.15 ID:c/SicAL6.net] >>526 、530 ありがとう。この方法で解決した。 ChDrive "c" って1行追加しただけでOKでした。言われないと気付かなかったから助かりました。 他のみなさんもありがとう。
553 名前:デフォルトの名無しさん mailto:sage [2015/12/06(日) 22:14:00.95 ID:ZiGqGoDJ.net] 重複した文言の多いcsvファイルの情報を読み込む時に、重複しない文言を蓄えたテーブルと、 文言テーブルのIDだけを入力したテーブルに分けて管理する事で容量を節約しようと思ってるんですが、 人が読める様にIDから元の文言を復元したテーブルを作りたいと思った時、 VBAで文言一つ一つ代入したテーブルを新たに作るしかないですかね?
554 名前:デフォルトの名無しさん mailto:sage [2015/12/07(月) 01:08:03.51 ID:D3MoacxB.net] IDでテーブル結合したview作るなりクエリにすりゃいいんじゃないの どちらにしろVBAとか関係ないと思う
555 名前:デフォルトの名無しさん mailto:sage [2015/12/10(木) 11:46:09.31 ID:V//Y2NlP.net] 質問です Access2007ファイルのショートカットをデスクトップに作ろうと思って https://www.moug.net/tech/acvba/0020025.html ここを参考にパスとかだけ変えて作ったんだけど、ショートカットが作成されません 解決策教えてください
556 名前:デフォルトの名無しさん mailto:sage [2015/12/10(木) 12:16:08.88 ID:gg94mj0B.net] うちはできたよ
557 名前:534 mailto:sage [2015/12/11(金) 16:06:56.86 ID:UbN3V6OX.net] 出来ました。
558 名前:デフォルトの名無しさん mailto:sage [2016/01/04(月) 04:37:40.84 ID:KKPx2R3A.net] mdbファイルのテーブル構造をADO.NET SqlCommandで取り出す方法を知りたいです。(データ定義言語的な取り出し) DoCmd.TransferDatabase acExportでできるテーブル構造のコピーと同じことを,ADO.NETで,元データなしで実現(テーブル生成)したり プログラム側が想定するテーブル構造と一致するか確認する処理をテーブル生成→比較とすることで一般化したりしたいのですが
559 名前:デフォルトの名無しさん [2016/01/04(月) 18:57:08.11 ID:uh/Y4MEw.net] ADODBEX
560 名前:デフォルトの名無しさん mailto:sage [2016/01/09(土) 22:01:59.03 ID:ytxGXkKI.net] Accessでプロマネの仕事頼まれたけど断ったわ もうVisualStudioが無いと何もできない体になってしまった
561 名前:デフォルトの名無しさん mailto:sage [2016/01/10(日) 01:26:39.26 ID:0BvJ+8Ai.net] プロマネの仕事は開発じゃない、とつっこみ
562 名前:デフォルトの名無しさん mailto:sage [2016/01/11(月) 08:38:46.37 ID:grtS6L7L.net] >>540 そういういかにも日本的で世界で通用しない回答は誰も期待していないし、 君みたいな奴は誰も求めていない。
563 名前:デフォルトの名無しさん mailto:sage [2016/01/11(月) 17:35:29.30 ID:ErJJ4Q3v.net] >>541 君には悲しいかもしれないけど、ここ日本なのよね
564 名前:デフォルトの名無しさん mailto:sage [2016/01/14(木) 21:12:26.51 ID:RI
] [ここ壊れてます]
565 名前:YdCmvc.net mailto: テーブルにインポートするとたまに失敗する変なゴミデータが入ったエクセルファイルをVBAでテーブルに登録しようとしてます。1レコード100フィールドほどあるもので、addnewで登録すると100件で20秒ほど掛かってしまいます。 Insertでも23秒でした。 全部で10万件あるのですが、高速登録する方法ないでしょうか? [] [ここ壊れてます]
566 名前:デフォルトの名無しさん mailto:sage [2016/01/14(木) 22:01:16.12 ID:fK8eMzuy.net] >>543 配列で受けると速くなるかもしれない dim ary as variant ary = Range("A1").CurrentRegion.value ' 1オリジンの2次元配列
567 名前:デフォルトの名無しさん mailto:sage [2016/01/14(木) 22:04:06.66 ID:fK8eMzuy.net] ゴミは数式やエラー値が混ざってるんだろうから配列にした段階で適当に変換する dim row, col for row = lbound(ary(), 1) to ubound(ary(), 1) for col= lbound(ary(), 2) to ubound(ary(), 2) if ゴミ?(ary(row, col)) then ary(row, col) = ゴミ処理(ary(row, col)) next next この後でテーブル登録する
568 名前:デフォルトの名無しさん mailto:sage [2016/01/14(木) 23:52:25.44 ID:SY7xxp+v.net] >>543 パフォーマンス重視ならレコードセットやExcelオブジェクトは扱わない方が良いですよ 1.インポート定義でインポート 2.リンクテーブルを作って追加クエリ 3.SQL の IN 句使って INSERT 4.OLE DB の Jet か ACE で接続して INSERT などなど... ゴミが混ざるならゴミを許容する作業テーブルにインポートしてから後始末をするとか 処理の仕方も色々あると思います、頑張ってください
569 名前:デフォルトの名無しさん mailto:sage [2016/01/14(木) 23:55:58.95 ID:SY7xxp+v.net] 書き忘れ インポート定義は文字列切り詰めなどが起きるかもしれないので 使うなら想定しておいた方が良いです
570 名前:デフォルトの名無しさん mailto:sage [2016/01/15(金) 00:07:44.49 ID:obwNql4P.net] レコード長とかPCのスペックとかもわからんが コードでもっと早くできる余地がいっぱいある気がするぞ というか、純粋な追加で時間かかってるのか? エラーチェックに時間かかってるんじゃないのか
571 名前:デフォルトの名無しさん mailto:sage [2016/01/17(日) 14:16:21.53 ID:A2o/pomn.net] access2013の質問がしたいのですがここでは不可でしょうか?探してもスレが見つからなかったので誘導していただけないでしょうか?
572 名前:デフォルトの名無しさん [2016/01/17(日) 18:47:14.28 ID:wzxdIUIG.net] 聞くがよい
573 名前:デフォルトの名無しさん mailto:sage [2016/01/18(月) 17:00:22.89 ID:cbTDZ81K.net] Access総合相談所 27 peace.2ch.net/test/read.cgi/bsoft/1424828244/
574 名前:デフォルトの名無しさん mailto:sage [2016/01/20(水) 21:12:14.20 ID:b2HKKJl2.net] access 2013での質問です。 テーブルAの構成要素は【id(オートナンバー)、写真(添付ファイルで複数値を持つフィールド)】となっております。 この状態で、テーブルAの任意のIDに写真が入っているか否かを確認したいと考えております。 今のところ dim RS As DAO.Recordset2 set RS = CurrentDb.OpenRecordset(
575 名前:デフォルトの名無しさん mailto:sage [2016/01/20(水) 21:13:28.67 ID:b2HKKJl2.net] すみません、途切れました set RS = CurrentDb.OpenRecordset("テーブルA") With RS .FindFirst "id = ○" End With で任意のIDに移動できるのですが、そこから写真フィールドにデータが入っているか否かをどのように確認したら良いかが分かりません。 一応複数値を持つフィールドということから Dim RS_写真 As DAO.Recordset2 Set RS_写真 = RS.Fields("写真").Value と代入し、 If RS_写真.Fields("FileName") = "" Then MsgBox "hoge" End If というように、if分を使ってみたのですが、上手く行きません。 お忙しいところ恐縮ですが、アドバイスを戴けると幸いです。
576 名前:デフォルトの名無しさん mailto:sage [2016/01/21(木) 00:33:33.20 ID:eWUPCZWU.net] 添付ファイルで複数値を持つフィールド ってのがよく
577 名前:からん そのフィールドのデータ型と 実際に内容をセットしてるコード出してみ [] [ここ壊れてます]