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
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 名前:からん そのフィールドのデータ型と 実際に内容をセットしてるコード出してみ [] [ここ壊れてます]
578 名前:デフォルトの名無しさん mailto:sage [2016/01/21(木) 07:45:42.44 ID:7TL6zMKQ.net] >>554 お返事ありがとうございます。 TABLEAのフィールド"写真"にデータをセットするのはフォーム上で行っております。 MsgBox TypeName(.Fields("写真")) で確認をしてみたところ、 Field2 オブジェクト (DAO) ttps://msdn.microsoft.com/ja-jp/library/office/ff194326.aspx と返ってきました。 これで伝わりますでしょうか?
579 名前:デフォルトの名無しさん mailto:sage [2016/01/21(木) 12:58:17.49 ID:zpe1QHZ3.net] 伝わったが答える気にはならなかった
580 名前:デフォルトの名無しさん mailto:sage [2016/01/21(木) 13:50:34.34 ID:tpiDrCnM.net] テーブルAのあるレコードでは【写真】に外部からデータが入っていて,違うレコードでは入っていないから,それを確認したいということ? RS_写真のeofとbofを調べれば良いだけだと思う. ttps://msdn.microsoft.com/ja-jp/library/office/ff194326.aspx ここにサンプルが有るから頑張って
581 名前:デフォルトの名無しさん mailto:sage [2016/01/21(木) 15:33:43.41 ID:zpe1QHZ3.net] これはひどい
582 名前:デフォルトの名無しさん mailto:sage [2016/01/21(木) 18:39:11.58 ID:eWUPCZWU.net] >>555 そのテーブルをデザインビューで開いたときに、そのフィールのデータ型は何になってる? フォームでセットとは具体的にどうやってるんだ?
583 名前:デフォルトの名無しさん mailto:sage [2016/01/21(木) 19:53:25.15 ID:dhgW0ru6.net] 添付ファイル型っていうのがあってだな云々・・・
584 名前:デフォルトの名無しさん [2016/01/21(木) 20:32:40.23 ID:xJzWoKjV.net] > If RS_写真.Fields("FileName") = "" Then FileData? データが入ってたらFileNameとは何を指すのだ
585 名前:デフォルトの名無しさん mailto:sage [2016/01/21(木) 20:50:12.31 ID:dhgW0ru6.net] フィールドに複数データが入るんだけど、ファイル名とファイル本体がセットになって入るイメージなんじゃないかな。 >>553 は配列のような捉え方で書いてるんだと思う。 フィールドがnullなのかを見ればいいんだろうけど、ファイル名を指定してそのファイル本体の有無を見たいのかな。 でもそれだとファイル名のみがあってファイル本体がないってことがあり得ることが前提になると思うんだけど。
586 名前:デフォルトの名無しさん mailto:sage [2016/01/21(木) 21:21:29.71 ID:eWUPCZWU.net] 添付ファイル型なら RS_写真のEOFと(MoveLastしてから)RecordCountみれば、添付されてるファイルの件数はわかる
587 名前:553 mailto:sage [2016/01/22(金) 16:35:45.14 ID:FxZxO26V.net] 皆様、お返事ありがとうございます。 当該フィールドは「添付ファイル」型です。 「添付ファイル」型の写真フィールドは、下位フィールド?として写真.FileData / 写真.FileName / 写真.FileTypeを持っているため、写真.FileNameの有無でNULLか否かを確認しようとしていました。 >>557 さんと >>563 さんのお陰でNULLか否かはRS_写真のEOFを見れば良いだけと気づき、 何とかやりたい操作ができそうです。 この度はご指摘戴き、誠にありがとうございました。
588 名前:デフォルトの名無しさん mailto:sage [2016/01/27(水) 16:39:25.69 ID:He5RGQG2c] Access2010のVBAの動作にて質問です。 現在クエリのデータをCSV形式にて出力をするために DoCmd.TransferText acExportDelim, ,"クエリ名","出力先\ファイル名.csv" と言う文を使っているのですが、クエリの行が複数の場合は1行ごとに出力をしたいのですがどうすればよろしいのでしょうか。
589 名前:デフォルトの名無しさん mailto:sage [2016/01/28(木) 08:27:25.34 ID:cOsSJrMS.net] Access2010のVBAの動作にて質問です。 現在クエリのデータをCSV形式にて出力をするために DoCmd.TransferText acExportDelim, ,
590 名前:デフォルトの名無しさん mailto:sage [2016/01/28(木) 09:02:23.84 ID:cOsSJrMS.net] 途中で切れてしまったので再度質問させていただきます。 Access2010のVBAの動作にて質問です。 現在クエリのデータをCSV形式にて出力をするために DoCmd.TransferText acExportDelim, ,"クエリ名","出力先\ファイル名.csv" と言う文を使っているのですが、クエリの行が複数の場合は1行ごとに出力をしたいのですがどうすればよろしいのでしょうか。
591 名前:デフォルトの名無しさん mailto:sage [2016/01/28(木) 09:25:27.95 ID:xQdz3S4b.net] >>567 連続出力するなら レコードセット開いてレコード毎に書き出しループ 連続出力しないなら フォーム上の値を参照するパラメータクエリ作って DoCmd.TransferTextで書き出し
592 名前:デフォルトの名無しさん [2016/02/01(月) 21:40:46.
] [ここ壊れてます]
593 名前:53 ID:uqBwC27M.net mailto: ACCESS VBAでoracleのデータを読み書きする場合は リンクテーブルを作ってやるのが普通でしょうか? それともリンクせずに直接ORACLEにアクセスするのがよいでしょうか? [] [ここ壊れてます]
594 名前:デフォルトの名無しさん mailto:sage [2016/02/01(月) 22:12:10.32 ID:HIlaIvm8.net] べつにSQL ServerでもORACLEでも同じだとおもうけど ケースバイケースとしか言えん
595 名前:デフォルトの名無しさん mailto:sage [2016/02/02(火) 09:04:52.93 ID:nmsl1byO.net] リンク使わないなら別にAccessじゃなくても良いよね、って回答はダメ?
596 名前:デフォルトの名無しさん [2016/02/02(火) 10:25:44.88 ID:OPpL3JBW.net] ハマってしまいました、cell とoffsetとloopの関係が解明できません。 エクセルデータから一行ずつhtmlファイルを作成するということをしたいです。 minitemplatorを使っています。 試しに3行でつくってみるとファイル名は変わるのですが、 set変数の箇所が一行目のままかわりません。 ↓こんなVBAにしてあります Private Const START_CELL =
597 名前:デフォルトの名無しさん [2016/02/02(火) 10:28:02.77 ID:OPpL3JBW.net] すみません Private Const START_CELL = "T3" Public Sub PushButton() ' Dim Cell As Range Dim Temp As MiniTemplator Set Temp = New MiniTemplator 'テンプレートファイルを読み込みます。 Temp.ReadTemplateFromFile ThisWorkbook.Path & "\h00_0.html" 'セルのスタート位置を設定します。 Set Cell = Range(START_CELL) '現在アクティブになっているシートの最終行まで以下を繰り返します。 Do While Cell.Row <= ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row Temp.SetVariable "TITLE", Cell.Offset(0, 1).Value Temp.SetVariable "CHAPTER", Cell.Offset(0, 2).Value Temp.SetVariable "PREVCHAPTER", Cell.Offset(0, 3).Value Temp.SetVariable "PREVPAGE", Cell.Offset(0, 4).Value Temp.SetVariable "INDEX", Cell.Offset(0, 5).Value Temp.SetVariable "NEXTPAGE", Cell.Offset(0, 6).Value Temp.SetVariable "NEXTCHAPTER", Cell.Offset(0, 7).Value Temp.AddBlock "htmls" Temp.GenerateOutputToFile ThisWorkbook.Path & "\" & Cell & ".html" Set Cell = Cell.Offset(1, 0) Loop End Sub
598 名前:571 mailto:sage [2016/02/02(火) 10:30:04.88 ID:OPpL3JBW.net] 申し訳ない!accessの方に書き込んでしまいました、excelの方へ移動いたしますorz
599 名前:デフォルトの名無しさん mailto:sage [2016/02/02(火) 15:13:01.55 ID:ml14fhOB.net] >>571 メインのDBはSQLServerやACCDBだけど、特定のデータだけ 別DBのORACLEからとって来たいなんて要件だったりしたら ORACLEにリンクテーブル作るほどでは無かったりするかもしれんだろ
600 名前:デフォルトの名無しさん [2016/02/02(火) 15:27:20.80 ID:chGMw9p3.net] これはひどい
601 名前:デフォルトの名無しさん mailto:sage [2016/02/02(火) 17:32:28.26 ID:nmsl1byO.net] >>575 質問者の質問内容は>>569 ですよ〜
602 名前:デフォルトの名無しさん mailto:sage [2016/02/02(火) 19:38:08.47 ID:ml14fhOB.net] >>577 何が言いたいのかわからん リンクテーブルかそれ以外でのアクセスかって質問に対して ACCCESSならリンクテーブル一択だろ、見たいな事を言うから そうじゃない状況もあるだろって言ってるんだが
603 名前:デフォルトの名無しさん mailto:sage [2016/02/02(火) 22:01:22.04 ID:nmsl1byO.net] >>578 質問者はOracleをAccessから操作する場合はどちらかを聞いている訳で その状況ならリンクで良いんじゃね、と答えただけ そこにお宅が勘違いして質問にないSQL Server絡めて否定してきたから ちゃんと質問内容見ろよ、と返しただけ
604 名前:デフォルトの名無しさん mailto:sage [2016/02/03(水) 16:11:02.04 ID:/VnwDmrp.net] 両成敗
605 名前:デフォルトの名無しさん mailto:sage [2016/02/04(木) 08:30:21.82 ID:aSn7db66.net] >>580 うるせぇよ、顔面男性器
606 名前:デフォルトの名無しさん mailto:sage [2016/02/04(木) 15:29:20.74 ID:oKzBZVFr.net] >>581 うん
607 名前:デフォルトの名無しさん mailto:sage [2016/02/07(日) 19:26:30.89 ID:PcQYM9su.net] Accessでエクセルファイル読もうと思ってExcelオブジェクトを作成した時、 既にエクセルを
608 名前:ァち上げているとマクロの挙動がおかしくなったり、 あるいは後からエクセルを立ち上げようとするとマクロが終了するまで画面が白いままなのですが、 これを避けてAccess側のみで扱えるエクセルオブジェクトを作ったり、あるいはエクセルと併用したりという事は出来ないでしょうか? スプレッドシートのインポートは暗号化の影響で上手くいかないので、エクセルオブジェクトを通す必要があります。 [] [ここ壊れてます]
609 名前:デフォルトの名無しさん mailto:sage [2016/02/08(月) 15:38:17.85 ID:qbvivMLd.net] >>583 できるよ
610 名前:デフォルトの名無しさん mailto:sage [2016/02/08(月) 18:15:52.92 ID:V9YCd2yR.net] つか普通にやればそうなってたと思ったけど CreateObjectって、インスタンスあったらそれ掴んで返すのか?
611 名前:デフォルトの名無しさん [2016/02/10(水) 00:18:50.90 ID:SmKUXNow.net] vbaでも知りたいのですが、accessで列見出しを行見出しにするには、どんなコードを書けばいいでしょうか?クロス集計ではできませんでした。
612 名前:デフォルトの名無しさん mailto:sage [2016/02/10(水) 09:07:48.34 ID:FkM1RfeE.net] >>586 行列入替えがしたいっての?それ、データベースのルールに反してる わけだが。 クロス集計クエリの場合にはデータ元がきちんとクロス集計できる形に なっていれば、できないということはない。
613 名前:デフォルトの名無しさん [2016/02/22(月) 10:46:47.09 ID:4/RFA0DI.net] 金はあるけど時間がない 経験値100倍くらいになる課金ないんか
614 名前:デフォルトの名無しさん mailto:sage [2016/02/22(月) 10:47:20.99 ID:4/RFA0DI.net] すまん 誤爆った
615 名前:デフォルトの名無しさん mailto:sage [2016/02/22(月) 12:20:31.39 ID:Y1bHL8fN.net] >>588 それな