[過去ログ] Access VBA 質問スレ Part1 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
491(1): 2015/11/07(土)19:39 ID:Lam93S6q(3/3) AAS
>>487-488
>Jetデータベースエンジンとは、Microsoft社が開発したリレーショナルデータベースエンジン。Microsoft Access用に開発されたもので、現在ではWindowsに統合され、様々な製品から利用されている。
だそうですよ
492: 2015/11/07(土)19:47 ID:sBJO9RQ1(2/2) AAS
>>491
トン
jetってAccess買わなくてもつかえるんだ。
ランタイムはしってたけど
493: 2015/11/07(土)20:47 ID:nqO+al0X(1) AAS
windowsに統合されたjetの使い方はどうすれば?
494: 2015/11/07(土)22:03 ID:cyCg/fRc(1) AAS
レポートをレコードごとに、pdf出力したく
daoで以下のような感じで書いたんだが。
ファイルのフルパスが書いてある別クエリの中のレコードとレポートの項目が合致するレコードのフルパスにpdfを出力したいんだがどうしたらいいのかわからない。
Do Until rs.EOF
DoCmd.OpenReport 〜
DoCmd.OutputTo acOutputReport, , acFormatPDF, "ファイルパス.pdf"
DoCmd.Close acReport, レポート名
省2
495: 2015/11/07(土)22:57 ID:uMO3Ng54(1) AAS
SQL書いてそれをレコードセットに入れたら?
496: 2015/11/08(日)02:11 ID:WbD4bkmm(1) AAS
JETだけでDB組むとか何の拷問だよ
素直にAccess使え
497: 2015/11/08(日)12:15 ID:GC9rkdcu(1) AAS
Pythonで書いても楽
498(1): 2015/11/08(日)13:04 ID:iWdr+l4l(1) AAS
で、Accessって
何に使えばいいの?
(´・ω・`)
499: 2015/11/08(日)14:01 ID:LxG8VZT7(1) AAS
>>498
一人で完結する仕事で面倒臭くて外注する予算もなくてなことを
自動化するのに使ってるよ。だから保守も自分でしかできない(笑)
そんな仕事じゃないか?
500: 2015/11/08(日)15:13 ID:QfP+cajQ(1) AAS
社内の統計担当とかそんなポジションの人かな?
社内の簡単な統計ならほんと楽ちん。
Access使えるか使えないかでどえらい作業能力の差が生まれる。
501(1): 2015/11/08(日)18:18 ID:dBATCu8V(1) AAS
m9 pgr
502: 2015/11/10(火)21:11 ID:Ya5Yiifl(1) AAS
>>501
それは何?
503: 2015/11/11(水)13:15 ID:vGX0No5x(1) AAS
むきゅー
ぷぎゃー
504(1): sage 2015/11/11(水)19:27 ID:V8OM9GuG(1) AAS
access2013でフォームからの入力期間の金額を集計してレポート作成をしようとしています。
vbaでリボンにあるレポートボタンを押下した動作と同じコードは存在しますでしょうか。
505(2): 2015/11/11(水)20:31 ID:RY0eiki2(1) AAS
マクロの操作を記録すれば出てくるでしょ
506: 2015/11/11(水)22:30 ID:/+peIgnx(1) AAS
>>505
ACCESSにマクロの記録は無かったと思ったが
2013とかだと出来るようになってるのか?
507: 2015/11/11(水)22:51 ID:oO+3Zy7C(1) AAS
無いと思うよ
508: 2015/11/11(水)22:55 ID:51LqdR7k(1) AAS
vba レポートでくぐったがはやいよ。
509: 2015/11/12(木)04:28 ID:MeI9ns/Z(1) AAS
>>505
は?馬鹿はいちいちスレに出張って来るなよww
何がマクロの操作を記録だ馬鹿が。
510: 2015/11/12(木)12:35 ID:pHlRdfiq(1) AAS
普通にフォームと同じソースの「れぽーとほげ」を用意しておいて
DoCmd, OpenReport "れぽーとほげ", acViewPreview
ではダメな理由があるのかな? フォーム上でレポートに応用できるように画面設計
作り込むよりは専用のレポートで別制作しといたほうが何十倍も効率いいだろうにな
511(3): 2015/11/12(木)12:42 ID:tbcgbggA(1/4) AAS
>>504
ちょっと出来ない事があるとVBAに頼るのはよくない。
Officeの使い方をもっと勉強してからVBAに手を出すべきだよ。
「パラメータクエリ」と「フォーム」で作ればなんとかなるかな。
というわけで、VBA必要ないので↑の2つのキーワードでggrks
512: 511 2015/11/12(木)12:43 ID:tbcgbggA(2/4) AAS
パラメータクエリとレポートでも作れるわ。
513(2): 2015/11/12(木)14:18 ID:Cdboni3Z(1/4) AAS
フォームからfrom日付-to日付を入力
↓
テーブルから購入日が対象範囲のデータ取得
テーブル構造は
シーケンスno.,氏名,購入品1,購入日1(購入日、購入品は6まで存在)
↓
クロス集計にて月毎の金額を集計
省4
514(1): 2015/11/12(木)15:03 ID:m1A4y0ZB(1/3) AAS
>>513
クエリ作っときゃいいんじゃないの?集計の。
フィールド数が可変とはなんぞ。
515(1): 511 2015/11/12(木)16:03 ID:tbcgbggA(3/4) AAS
>>513
テーブルの基本設計からやり直せ。
購入品と購入日が1〜6って無いと思います。
516(2): 2015/11/12(木)16:36 ID:Cdboni3Z(2/4) AAS
>>515
くそなテーブルだと思ってますが自分が作ったテーブルではないので変更出来ません
517(1): 511 2015/11/12(木)16:42 ID:tbcgbggA(4/4) AAS
>>516
レポート用にテーブル作っちゃうことはできないの?
518: 2015/11/12(木)16:43 ID:m1A4y0ZB(2/3) AAS
>>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 購入品
省1
519(2): 2015/11/12(木)16:44 ID:Cdboni3Z(3/4) AAS
>>514
入力した期間に応じて月が増減します
画像リンク[jpg]:i.imgur.com
集計用のクエリは作成したのでリボンにあるレポートボタン同様に自動でリポート作成出来ないかと思ってます
520: 2015/11/12(木)16:47 ID:m1A4y0ZB(3/3) AAS
>>519
帳票一枚に並べられる分の月数を元からつくっとけ。
521: 2015/11/12(木)17:02 ID:Cdboni3Z(4/4) AAS
>>517
くえりをそのままレポートは難しそうだったのでテーブル化はしてあります
522: 2015/11/13(金)20:45 ID:7WxIZdrP(1) AAS
複雑になってるクエリが循環参照になってるようなのだが、読み解かずにテーブル作成して逃げようとしたらまたエラーなんとかならんかなー
523: 2015/11/13(金)20:51 ID:etlrmpjh(1) AAS
>>519
クエリ出来てるなら、レポート作って保存しておけば好きなときに開くだけじゃん
524(4): 2015/11/13(金)22:14 ID:fKrJSaVy(1) AAS
vbaでfilecopy(fsoも含む)でリムーバブルディスクにファイルをコピーするとハードウェアの安全な取り外しで
ファイルが使用中とかでできない。まぁ警告のダイアログで続行を押すと取り外せるんだけど、これやると
マイコンピュータからリムーバブルディスクが消えなかったりすることがある。
accessを終了すると普通に取り外せるんだけど、これをなんとかできないかなぁ。
525(1): 2015/11/14(土)00:03 ID:Q8aVOdfz(1) AAS
>>524
Fsoでやるなら、
宣言で as new ...とかしない、最後にNothing入れとくを徹底したら無くなるんじゃないかな。
526(1): 2015/11/14(土)00:13 ID:YdrOLc06(1) AAS
カレントフォルダとカレントドライブを明示的に
リムーバブルじゃないとこに設定してやれば行ける見たいな事を聞いたことがある
527: 2015/11/14(土)07:50 ID:ZUqvxiq2(1) AAS
>>524
それ、使用したメソッドがファイル掴んだままで、開放してないからでしょ。ちゃんとプログラミングのイロハ身につけてたらやらない。
使ったら必ず開放する。VBAユーザはなぜか使いっぱなしが多い。
528: 2015/11/14(土)08:28 ID:f21e1kim(1) AAS
.NETなんかだとマネージドは書いてもほぼ意味なかったりで使いっ放し推奨
529: 524 2015/11/14(土)10:27 ID:c/SicAL6(1/2) AAS
>>525、527
Dim objFileSys As Object
Set objFileSys = CreateObject("Scripting.FileSystemObject")
objFileSys.CopyFile 元ファイル, コピー先フォルダ & "\"
Set objFileSys = Nothing
copyfileの部分だけをかいつまんで書くとこんな感じだけど、解放の仕方を教えてくれないか。
リムーバブルディスクにコピーしたファイルは開けるし削除もできるからロックされた感じじゃないんだよね。
省1
530: 2015/11/14(土)11:01 ID:ajpWryyv(1) AAS
getdriveとか適当なのを実行してみたら?
カレントが移動するかも。
531: 524 2015/11/14(土)12:52 ID:c/SicAL6(2/2) AAS
>>526、530
ありがとう。この方法で解決した。
ChDrive "c" って1行追加しただけでOKでした。言われないと気付かなかったから助かりました。
他のみなさんもありがとう。
532: 2015/12/06(日)22:14 ID:ZiGqGoDJ(1) AAS
重複した文言の多いcsvファイルの情報を読み込む時に、重複しない文言を蓄えたテーブルと、
文言テーブルのIDだけを入力したテーブルに分けて管理する事で容量を節約しようと思ってるんですが、
人が読める様にIDから元の文言を復元したテーブルを作りたいと思った時、
VBAで文言一つ一つ代入したテーブルを新たに作るしかないですかね?
533: 2015/12/07(月)01:08 ID:D3MoacxB(1) AAS
IDでテーブル結合したview作るなりクエリにすりゃいいんじゃないの
どちらにしろVBAとか関係ないと思う
534(1): 2015/12/10(木)11:46 ID:V//Y2NlP(1) AAS
質問です
Access2007ファイルのショートカットをデスクトップに作ろうと思って
外部リンク[html]:www.moug.net
ここを参考にパスとかだけ変えて作ったんだけど、ショートカットが作成されません
解決策教えてください
535: 2015/12/10(木)12:16 ID:gg94mj0B(1) AAS
うちはできたよ
536: 534 2015/12/11(金)16:06 ID:UbN3V6OX(1) AAS
出来ました。
537: 2016/01/04(月)04:37 ID:KKPx2R3A(1) AAS
mdbファイルのテーブル構造をADO.NET SqlCommandで取り出す方法を知りたいです。(データ定義言語的な取り出し)
DoCmd.TransferDatabase acExportでできるテーブル構造のコピーと同じことを,ADO.NETで,元データなしで実現(テーブル生成)したり
プログラム側が想定するテーブル構造と一致するか確認する処理をテーブル生成→比較とすることで一般化したりしたいのですが
538: 2016/01/04(月)18:57 ID:uh/Y4MEw(1) AAS
ADODBEX
539: 2016/01/09(土)22:01 ID:ytxGXkKI(1) AAS
Accessでプロマネの仕事頼まれたけど断ったわ
もうVisualStudioが無いと何もできない体になってしまった
540(1): 2016/01/10(日)01:26 ID:0BvJ+8Ai(1) AAS
プロマネの仕事は開発じゃない、とつっこみ
541(1): 2016/01/11(月)08:38 ID:grtS6L7L(1) AAS
>>540
そういういかにも日本的で世界で通用しない回答は誰も期待していないし、
君みたいな奴は誰も求めていない。
542: 2016/01/11(月)17:35 ID:ErJJ4Q3v(1) AAS
>>541
君には悲しいかもしれないけど、ここ日本なのよね
543(2): 2016/01/14(木)21:12 ID:RIYdCmvc(1) AAS
テーブルにインポートするとたまに失敗する変なゴミデータが入ったエクセルファイルをVBAでテーブルに登録しようとしてます。1レコード100フィールドほどあるもので、addnewで登録すると100件で20秒ほど掛かってしまいます。
Insertでも23秒でした。
全部で10万件あるのですが、高速登録する方法ないでしょうか?
544: 2016/01/14(木)22:01 ID:fK8eMzuy(1/2) AAS
>>543
配列で受けると速くなるかもしれない
dim ary as variant
ary = Range("A1").CurrentRegion.value ' 1オリジンの2次元配列
545: 2016/01/14(木)22:04 ID:fK8eMzuy(2/2) AAS
ゴミは数式やエラー値が混ざってるんだろうから配列にした段階で適当に変換する
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
省1
546: 2016/01/14(木)23:52 ID:SY7xxp+v(1/2) AAS
>>543
パフォーマンス重視ならレコードセットやExcelオブジェクトは扱わない方が良いですよ
1.インポート定義でインポート
2.リンクテーブルを作って追加クエリ
3.SQL の IN 句使って INSERT
4.OLE DB の Jet か ACE で接続して INSERT
などなど...
省2
547: 2016/01/14(木)23:55 ID:SY7xxp+v(2/2) AAS
書き忘れ
インポート定義は文字列切り詰めなどが起きるかもしれないので
使うなら想定しておいた方が良いです
548: 2016/01/15(金)00:07 ID:obwNql4P(1) AAS
レコード長とかPCのスペックとかもわからんが
コードでもっと早くできる余地がいっぱいある気がするぞ
というか、純粋な追加で時間かかってるのか?
エラーチェックに時間かかってるんじゃないのか
549: 2016/01/17(日)14:16 ID:A2o/pomn(1) AAS
access2013の質問がしたいのですがここでは不可でしょうか?探してもスレが見つからなかったので誘導していただけないでしょうか?
550: 2016/01/17(日)18:47 ID:wzxdIUIG(1) AAS
聞くがよい
551: 2016/01/18(月)17:00 ID:cbTDZ81K(1) AAS
Access総合相談所 27
2chスレ:bsoft
552: 2016/01/20(水)21:12 ID:b2HKKJl2(1/2) AAS
access 2013での質問です。
テーブルAの構成要素は【id(オートナンバー)、写真(添付ファイルで複数値を持つフィールド)】となっております。
この状態で、テーブルAの任意のIDに写真が入っているか否かを確認したいと考えております。
今のところ
dim RS As DAO.Recordset2
set RS = CurrentDb.OpenRecordset(
553(2): 2016/01/20(水)21:13 ID:b2HKKJl2(2/2) AAS
すみません、途切れました
set RS = CurrentDb.OpenRecordset("テーブルA")
With RS
.FindFirst "id = ○"
End With
で任意のIDに移動できるのですが、そこから写真フィールドにデータが入っているか否かをどのように確認したら良いかが分かりません。
一応複数値を持つフィールドということから
省8
554(1): 2016/01/21(木)00:33 ID:eWUPCZWU(1/3) AAS
添付ファイルで複数値を持つフィールド ってのがよくわからん
そのフィールドのデータ型と
実際に内容をセットしてるコード出してみ
555(1): 2016/01/21(木)07:45 ID:7TL6zMKQ(1) AAS
>>554
お返事ありがとうございます。
TABLEAのフィールド"写真"にデータをセットするのはフォーム上で行っております。
MsgBox TypeName(.Fields("写真")) で確認をしてみたところ、
Field2 オブジェクト (DAO)
外部リンク[aspx]:msdn.microsoft.com
と返ってきました。
省1
556: 2016/01/21(木)12:58 ID:zpe1QHZ3(1/2) AAS
伝わったが答える気にはならなかった
557(1): 2016/01/21(木)13:50 ID:tpiDrCnM(1) AAS
テーブルAのあるレコードでは【写真】に外部からデータが入っていて,違うレコードでは入っていないから,それを確認したいということ?
RS_写真のeofとbofを調べれば良いだけだと思う.
外部リンク[aspx]:msdn.microsoft.com
ここにサンプルが有るから頑張って
558: 2016/01/21(木)15:33 ID:zpe1QHZ3(2/2) AAS
これはひどい
559: 2016/01/21(木)18:39 ID:eWUPCZWU(2/3) AAS
>>555
そのテーブルをデザインビューで開いたときに、そのフィールのデータ型は何になってる?
フォームでセットとは具体的にどうやってるんだ?
560: 2016/01/21(木)19:53 ID:dhgW0ru6(1/2) AAS
添付ファイル型っていうのがあってだな云々・・・
561: 2016/01/21(木)20:32 ID:xJzWoKjV(1) AAS
> If RS_写真.Fields("FileName") = "" Then
FileData?
データが入ってたらFileNameとは何を指すのだ
562: 2016/01/21(木)20:50 ID:dhgW0ru6(2/2) AAS
フィールドに複数データが入るんだけど、ファイル名とファイル本体がセットになって入るイメージなんじゃないかな。
>>553 は配列のような捉え方で書いてるんだと思う。
フィールドがnullなのかを見ればいいんだろうけど、ファイル名を指定してそのファイル本体の有無を見たいのかな。
でもそれだとファイル名のみがあってファイル本体がないってことがあり得ることが前提になると思うんだけど。
563(1): 2016/01/21(木)21:21 ID:eWUPCZWU(3/3) AAS
添付ファイル型なら
RS_写真のEOFと(MoveLastしてから)RecordCountみれば、添付されてるファイルの件数はわかる
564: 553 2016/01/22(金)16:35 ID:FxZxO26V(1) AAS
皆様、お返事ありがとうございます。
当該フィールドは「添付ファイル」型です。
「添付ファイル」型の写真フィールドは、下位フィールド?として写真.FileData / 写真.FileName / 写真.FileTypeを持っているため、写真.FileNameの有無でNULLか否かを確認しようとしていました。
>>557 さんと >>563 さんのお陰でNULLか否かはRS_写真のEOFを見れば良いだけと気づき、
何とかやりたい操作ができそうです。
この度はご指摘戴き、誠にありがとうございました。
565: 2016/01/28(木)08:27 ID:cOsSJrMS(1/2) AAS
Access2010のVBAの動作にて質問です。
現在クエリのデータをCSV形式にて出力をするために
DoCmd.TransferText acExportDelim, ,
566(1): 2016/01/28(木)09:02 ID:cOsSJrMS(2/2) AAS
途中で切れてしまったので再度質問させていただきます。
Access2010のVBAの動作にて質問です。
現在クエリのデータをCSV形式にて出力をするために
DoCmd.TransferText acExportDelim, ,"クエリ名","出力先\ファイル名.csv"
と言う文を使っているのですが、クエリの行が複数の場合は1行ごとに出力をしたいのですがどうすればよろしいのでしょうか。
567: 2016/01/28(木)09:25 ID:xQdz3S4b(1) AAS
>>566
連続出力するなら
レコードセット開いてレコード毎に書き出しループ
連続出力しないなら
フォーム上の値を参照するパラメータクエリ作って
DoCmd.TransferTextで書き出し
568(1): 2016/02/01(月)21:40 ID:uqBwC27M(1) AAS
ACCESS VBAでoracleのデータを読み書きする場合は
リンクテーブルを作ってやるのが普通でしょうか?
それともリンクせずに直接ORACLEにアクセスするのがよいでしょうか?
569: 2016/02/01(月)22:12 ID:HIlaIvm8(1) AAS
べつにSQL ServerでもORACLEでも同じだとおもうけど
ケースバイケースとしか言えん
570(1): 2016/02/02(火)09:04 ID:nmsl1byO(1/3) AAS
リンク使わないなら別にAccessじゃなくても良いよね、って回答はダメ?
571(1): 2016/02/02(火)10:25 ID:OPpL3JBW(1/3) AAS
ハマってしまいました、cell とoffsetとloopの関係が解明できません。
エクセルデータから一行ずつhtmlファイルを作成するということをしたいです。
minitemplatorを使っています。
試しに3行でつくってみるとファイル名は変わるのですが、
set変数の箇所が一行目のままかわりません。
↓こんなVBAにしてあります
Private Const START_CELL =
上下前次1-新書関写板覧索設栞歴
あと 431 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.022s