NotFound404 の回答履歴

全675件中81~100件表示
  • ネットワーク上のMSアクセスを閉じる

    Win7Pro Office2010Proです。 私のPCにネットワークドライブのHドライブがありABC.accdbがその中にあります。 Hドライブシェアー元はBさんのPCで、このPCがABC.accdbを常に開いております。これはAccessのタイマーにて夜中にデータをアップデートするために常に開いております。私のPCからある作業をするためにこのシェアー元PCで開いているABC.accdbを閉じて作業が終わった後再びこのABC.accdbをシェアー元PC上で開きたいと思っております。 リモードアクセス等でBさんPCに入る以外で何かよい方法はございませんでしょうか。 再び開く方はシェアー元PC側のタスクスケジューラーにて夜中のアップデート前に再起動をかけてスタートアップにABC.accdbが開く様にするつもりです。 しかし閉じる方はネットワーク上のPCですのでどうしてよいのかわかりません。VBAにて閉じる方法を検索しましたが自分のPC上のものは閉じることができますが、ネットワーク上のものについては書かれておりません。できないのであれば仕方がないので諦めますが、何かよい方法があれば教えて頂ければと思います。(VBAは人並に理解できます。) よろしくお願い致します。

  • 複数ファイルを一瞬で開いて配置できますか?

    業務用に32インチのワイドモニタを使用しております。 よく利用するシーンだと、Windows7にて以下のファイルを開いて作業しております。 ■利用するファイル メモ帳 2つ ブラウザ エクセル フォルダ(画像一覧) 専用ソフト 2つ 上記の各種ファイルをデスクトップ画面の作業しやすい位置に配置しておりますが、いつもスタートするまでに時間がかかってしまい、時間の無駄だなと思っております。 ショートカットキーのような技で、もしくは専用のソフトを使用し、指定したファイルを一括で開いて、なおかつ定められた位置に各種ファイルを配置することは可能でしょうか? 使用しているOSはwindows7です。 何か良い方法があれば教えて下さい。

    • ベストアンサー
    • noname#233083
    • Windows 7
    • 回答数5
  • Access バーコード下に表示される文字のサイズ

    お世話になります。 Access2010 レコードソースとなるテーブルに「ラベル」というフィールドがあり、 テキスト型で"000000015311"のようなデータが登録されてます。 この「ラベル」をバーコード化しました。 レポートを作成し、バーコード自体は問題無く表示されるのですが、 バーコード下に表示される文字のサイズが大きかったり(これが標準?) 小さかったりします。 ※表示される文字は「ラベル」の内容です。 レポートのページ設定⇒レイアウト にて、列数を「2」とし印刷方向は 「左から右」にしてます。なお紙は横向きです。 この状態で、印刷プレビューで見てみると、添付のように1列目のバーコード下に 表示される文字のサイズは大きい(標準?)ですが、2列目の先頭から 5行目までが、文字が小さく表示され、2列目の6~8行目は大きい(標準)です。 ※18レコードあるのですが、1列目に10行、2列目に8行表示されてます。 なお、縦向きにすると1列目に15行、2列目に3行表示されますが、 1列目は問題無し、2列目の3行が小さく表示されます。 デザインでバーコードのサイズを広げ見たり、縮めてみたり色々さわってみると、 都度、文字が小さくなる箇所が変わります。。 どのようなことが考えられますでしょうか。 2列目以降が全て小さいなら、列が変わったことによって何かあるかと思うの ですが、中途半端な箇所が小さくなってしまう状況です。 なんとなく、Accessのバグのような気がするのですが。。 ご教示の程、宜しくお願い致します

  • Access バーコード下に表示される文字のサイズ

    お世話になります。 Access2010 レコードソースとなるテーブルに「ラベル」というフィールドがあり、 テキスト型で"000000015311"のようなデータが登録されてます。 この「ラベル」をバーコード化しました。 レポートを作成し、バーコード自体は問題無く表示されるのですが、 バーコード下に表示される文字のサイズが大きかったり(これが標準?) 小さかったりします。 ※表示される文字は「ラベル」の内容です。 レポートのページ設定⇒レイアウト にて、列数を「2」とし印刷方向は 「左から右」にしてます。なお紙は横向きです。 この状態で、印刷プレビューで見てみると、添付のように1列目のバーコード下に 表示される文字のサイズは大きい(標準?)ですが、2列目の先頭から 5行目までが、文字が小さく表示され、2列目の6~8行目は大きい(標準)です。 ※18レコードあるのですが、1列目に10行、2列目に8行表示されてます。 なお、縦向きにすると1列目に15行、2列目に3行表示されますが、 1列目は問題無し、2列目の3行が小さく表示されます。 デザインでバーコードのサイズを広げ見たり、縮めてみたり色々さわってみると、 都度、文字が小さくなる箇所が変わります。。 どのようなことが考えられますでしょうか。 2列目以降が全て小さいなら、列が変わったことによって何かあるかと思うの ですが、中途半端な箇所が小さくなってしまう状況です。 なんとなく、Accessのバグのような気がするのですが。。 ご教示の程、宜しくお願い致します

  • Excel2016で郵便番号入力で住所

    OS:Windows10 Pro 64bit Office2016 Home & Business Premium Excel2016で郵便番号を入れただけで住所を出力する方法を教えてください。 9F:9I 郵便番号、9J:9Z 住所 Microsoft IMEIMEのシステム辞書には郵便番号辞書は入っています。 出来れば関数を使った方法はないでしょうか?

  • Accessへの大量データ登録

    Access VBAの初心者です。 現在、VBAにてAccessのテーブルに100万レコード程度のデータを登録しようとしています。 最初は1レコード毎、SQLでinsertしようとしていたのですが、時間が想定以上にかかるので断念しました。 次に、CSVに一回書き出してDocmd.TransferTextすることを検討しましたが、読み込んだテーブルにselectした結果が安定しないため色々調べたところ、DoCmdは非同期で動くらしいです。 とすると次のクエリをかけるにはちゃんと全レコード読み込んだかを確認し、読み込んでいなければウェイトをかける処理を入れる必要があり、これも馬鹿馬鹿しいのでやりたくありません。 そこでお聞きしたいのですが、このような場合、どのような処理をするのが定石なのでしょうか。 皆様のお知恵をお借りできれば幸いです。 宜しくお願いいたします。

  • Accessでのグラフ化

    いつもお世話になっております。 掲題について、グラフ化に関する情報はインターネットで大量に見つかるのですが、 どれも複雑なものばかりで、意外とシンプルなもののやり方が分かりません。 具体的には、Access2010で売上管理を作ったのですが、 (例) 得意先コード 得意先名  今月売上目標額  現在時点の売上実績額  達成率 -------------------------------------------------------------------------------------------------------------------- 00001   A社       1,000,000     300,000    30.0% 00002   B社      15,000,000     4,250,000   28.3% このようなテーブルがあって、各得意先の達成率を横棒グラフあるいは円グラフで 得意先ごとに表示したいのです。 30.0%であれば、グラフですぐ30%がイメージできればよいだけです。 このテーブルにグラフのフィールドを作って、そこに記憶させてもよいし、フォーム上に表示させたり、レポートで印刷ができるだけでも構いません。 最初は簡単に思えたのですが、どうやったらよいか困っておりますので、是非ご教授をお願い致します。

  • 【VBScript】ファイル整形

    以下の流れのプログラムを作成したく、 進めています。 下記コードの続きは、どういった感じで作りこんでいけば、 この操作が実現しますでしょうか。 恐れ入りますが、ご教示いただけますと幸いです。 ・vbsファイルにテキストファイルをドラッグする ・インプットボックスに抽出したい文字列を入力する ・テキストファイルを読み込んで、抽出した文字列を含む行を注した  別名のテキストファイル(末尾に_YYYYMMDDをつける)を生成する Option Explicit Dim intc, strf, strArguments, strInput, strmsgbox intc = 0 If WScript.Arguments.Count = 0 Then WScript.Echo "引数が指定されていません。" Else For Each strArguments In WScript.Arguments intc = intc + 1 strf = strArguments Next If intc > 1 Then MsgBox "2つ以上のファイルが指定されています。" & vbCr _ & "ファイルを指定し直してください。", 48, "Error" Else WScript.Echo strf strInput = InputBox("抽出したい文字列を入力してください。") strmsgbox = MsgBox strInput & "を抽出しました。" & vbCr _ & strInput & "を変換しますか?", 4 + 32 + 0, "確認" End If End If

  • アクセスフィールドの抽出条件について。

    アクセスに取り込んだデータに 連続番号があったとします。 クエリの抽出条件で 連続番号が奇数の場合のレコードを抽出 連続番号が偶数の場合のレコードを抽出というように 奇数偶数の作業列を作らず 抽出条件を一気に判定することは出来ますでしょうか。 一応試したのが作業列を作る方法ですが 例えば50フィールドあるクエリを作成し 連続番号をキーに フィールド mod 2 とすると 奇数偶数の判定が出来 抽出条件は満たすのですが フィールドのmodの判定で 連続番号が上書きされてしまいます。 また http://www.mahoutsukaino.com/ac/ac2000/ac2000/nigyo/gyo02.htmの ようにすると フィールド数が足りなく すべてのフィールドが追加出来なくなります。 どなたかアドバイスよろしくお願いします。

  • 時間が来るとスリープするしないを簡単に切り替えたい

    Windows7を使っていますが、 DVD/BRディスクにファイルをコピー中に時間がくると、 コピーの途中でもスリープ状態になって、 その後、正しく続行できなくなってしまいます。 このため、DVD/BRディスクにコピーする時だけ、 コントロールパネルの電源オプションで コンピューターをスリープ状態にするの時間を、 なしにしたり、長めにして、 DVD/BRディスクへのコピーが終わったら、 元の短い時間に戻していますが、毎回、 コントロールパネルを開いて設定するのが とても手間です。 (1) DVD/BRディスクにコピーしている時は、   時間が来てもスリープ状態にならないように   することはできるのでしょうか。 (2) コントロールパネルを開かなくても、   簡単な操作で、   時間が来てもスリープ状態にならないモードと   時間が来るとスリープ状態になるモードを   切り替えることはできないでしょうか。 (3)「スタート」=> 「コントロールパネル」=>   「システムとセキュリティ」=> 「電源オプション」の   「コンピューターがスリープ状態になる時間を変更」   という手順でスリープ状態になる時間を設定する画面を   表示していますが、この画面を、(デスクトップの   ショートカットアイコンをダブルクリックなどで)、   一発で開くようにするようなことはできないでしょうか。

  • VBScript フォント名出力

    仕事で預かったフォントが、Dドライブの「Fonts」フォルダにあります。 このフォントのファイル名一覧は、VBScriptで簡単に作れました(テキストファイルに出力)。 しかし、ファイル名では、どんなフォントか分からないので、「フォント名」(「MS 明朝」など)も同時に出力したいのですが、フォント名の取得の仕方が分かりません。 VBScriptで、「フォント名」を取得する具体的な方法、または、書かれているサイトをご存じの方がおられましたら、お教えください。 それなりにサイトを調べたつもりなのですが、分かりませんでした。 よろしくお願いします。

  • windows xpの初期化

    富士通FMV-C8220で、リカバリーディスク(6枚)を使い、windows xpを初期化をしましたが、ネット接続できません。 コントロールパネルから"ネットワークとインターネット接続"、"ネットワーク接続"を開いてみると、何もアイコンが無く、新しい接続を作成してもネットに繫がりません。 コマンドプロンプトで調べてみると、LANドライバが感知せれていないようで、また、リカバリーディスクの「LANドライバ」を挿入しても、"lan"フォルダのに"E1004878"というアイコンがあるのみで、開いてみても、何もしません。 お教えの程、何卒よろしくお願いします。

  • 画面のちらつきをやめるにはどうすればいいでしょうか

    アクセスです。 Sub test() Set objAcc = CreateObject("Access.Application") objAcc.OpenCurrentDatabase "C:\test.accdb", False objAcc.Run "プロシージャー" objAcc.Quit Set objAcc = Nothing End Sub ------------------------- 上記のプロシージャーを実行して、他のファイルのプロシージャーを実行しているのですが 毎回ファイルが立ち上がってしまいます。 画面のちらつきをやめるにはどうすればいいでしょうか? DoCmd.SetWarnings False と DoCmd.SetWarnings True を入れてみましたが、無意味でした。 objAcc.OpenCurrentDatabase でアクセスが起動し、 objAcc.Quit で閉じます。 エクセルで例えるのなら、 Application.ScreenUpdating = False みたいなことがやりたいです。

  • ADO ファイルを閉じるには?

    アクセスからエクセルへ Sub Sample() Dim cn As Object Dim rs As Object Set cn = CreateObject("ADODB.Connection") With cn .Provider = "Microsoft.ACE.OLEDB.12.0" .Properties("Extended Properties") = "Excel 12.0" .Properties("Data Source") = "D:\Book1.xlsx" .Open End With Set rs = CreateObject("ADODB.Recordset") rs.Open "SELECT * FROM [sheet1$]", cn, 3 Debug.Print rs.RecordCount rs.Close: cn.Close Set rs = Nothing : Set cn = Nothing End Sub このコードでシートの行数を取得してるのですが このコードを実行後もファイルが開いたままなのですが 閉じるにはどうすればいいのでしょうか? .Openでファイルが開くので cn.Close でファイルが閉じるのかと思ったら閉じません。 cn.Quitを追記してみましたが 実行時エラー -2147467259 選択クエリを実行できません。 となりました。 どうすればファイルを閉じることが出来るのでしょうか?

  • access 住所入力支援の機能を変更したいです

    Windows7 Access2010です。 郵便番号を入れると、自動的に住所が表示される住所入力支援を使っています。 大変便利ですが、我々の市は、住所に「大字・小字」が入ります。 郵便番号欄に「464-0871」と入力すると、住所欄に「名古屋市千種区天白町植田」と表示される。 住所欄の「植田」の前に「大字」と入力すると、郵便番号欄のハイフンから4桁が「0000」になってしまう。 「0000」を「0871」に打ち直すと、今度は住所欄が更新され「大字」が消えてしまう 「大字」を再入力すると、「0871」が「0000」に変わってしまう……以下ループ。 結局、「大字」を入れることを断念するしかありません。 住所欄のプロパティで「住所入力支援」欄を空白にすれば回避できました。 しかし…相互支援しているからか、郵便番号なしで直接住所欄に住所を入力した場合、郵便番号欄に自動的に郵便番号が表示してくれます。 この機能自体はありがたいので欲しいのです。 何か解決策はありますでしょうか?

  • メールの仕組み(認証)について

    お世話になります。 Windows7Pro メールの仕組み(認証)についてご教示願います。 以下はWireSharkにてパケットキャプチャしたものです。 1.方法1でメールを送信した場合、   S: 220 MDaemon.ドメイン名 ESMTP MDaemon 15.0.3; Thu, 08 Oct 2015 14:15:42 +0900  C: EHLO 当該PC名  S: 250 MDaemon.ドメイン名 Hello 当該PC名, pleased to meet you | 250 ETRN | 250 AUTH LOGIN CRAM-MD5 PLAIN | 250 8BITMIME | 250 ENHANCEDSTATUSCODES | 250 STARTTLS | 250 SIZE  C: AUTH LOGIN  S: 334 VXNlcm5hbWU6  となります(途切れている感じで終了します)。  結果としてはメール送信できません。 2.方法2でメールを送信した場合、   S: 220 MDaemon.ドメイン名 ESMTP MDaemon 15.0.3; Thu, 08 Oct 2015 14:47:01 +0900  C: EHLO 当該PC名  S: 250 MDaemon.ドメイン名 Hello 当該PC名, pleased to meet you | 250 ETRN | 250 AUTH LOGIN CRAM-MD5 PLAIN | 250 8BITMIME | 250 ENHANCEDSTATUSCODES | 250 STARTTLS | 250 SIZE  C: MAIL FROM:<送信元アドレス>  S: 250 2.1.0 Sender OK  C: RCPT TO:<送信先アドレス>  S: 250 2.1.5 Recipient OK  C: DATA  S: 354 Enter mail, end with <CRLF>.<CRLF>  C: DATA fragment, 265 bytes  C: DATA fragment, 82 bytes  C: DATA fragment, 2 bytes  from: 送信元アドレス, subject: 件名, (text/plain)  25→51121 [ACK] Seq=331 Ack=441 Win=65024 Len=0  S: 250 2.6.0 Ok, message saved  51121→25 [ACK] Seq=441 Ack=360 Win=65280 Len=0  となります。  メール送信はできます。 3.方法3でメールした場合、  S: 220 MDaemon.ドメイン名 ESMTP MDaemon 15.0.3; Fri, 09 Oct 2015 14:33:39 +0900  C: HELO ドメイン名  S: 250 MDaemon.ドメイン名 Hello ドメイン名, pleased to meet you  C: MAIL From:<送信元アドレス>  S: 250 2.1.0 Sender OK  C: RCPT To:<送信先アドレス>  S: 250 2.1.5 Recipient OK  C: DATA  S: 354 Enter mail, end with <CRLF>.<CRLF>  from: 送信元アドレス, subject: 件名, (text/plain)  S: 250 2.6.0 Ok, message saved <Message-ID: <5FD10253ED1586送信元?アドレス>>  C: QUIT  S: 221 2.0.0 See ya in cyberspace  となります。  メール送信はできます。 <質問> ・方法1について   SMTPサーバーが認証方法を提示し、それに対してクライアントが  「AUTH LOGIN」を返答。SMTPサーバーがユーザー名を要求するも、  クライアントが未返答のように見受けられるのですが、このようになってしまう  原因としてはどういうことが考えられますでしょうか。 ・方法2について   SMTPサーバーが認証方法を提示し、それに対してクライアントが送信元アドレス   を応答しておりますが、これは結局何の認証方法を行っているのでしょうか。 ・方法3について   HELOなのでSMTPサーバーは認証方法を提示せず、そのまま送信元/送信先   アドレス、本文件名をクライアントが応答しているように見受けられるのですが、   認識は合ってますでしょうか。   ※要するに方法1と2は「EHLO」だからサーバーは認証方法を提示している? なお、  方法1:タスクスケジューラの「電子メールの送信」でメール送信したものです。  方法2:HDD監視ツール(CrystalDiskInfo)からのメール通知です。  方法3:メーラー(秀丸メール)からの送信です。  ※方法2、3については、あえてユーザー名及びパスワードを空白の設定にし送信。 勉強不足で大変恐縮ですが、宜しくお願い致します。

  • メールの仕組み(認証)について

    お世話になります。 Windows7Pro メールの仕組み(認証)についてご教示願います。 以下はWireSharkにてパケットキャプチャしたものです。 1.方法1でメールを送信した場合、   S: 220 MDaemon.ドメイン名 ESMTP MDaemon 15.0.3; Thu, 08 Oct 2015 14:15:42 +0900  C: EHLO 当該PC名  S: 250 MDaemon.ドメイン名 Hello 当該PC名, pleased to meet you | 250 ETRN | 250 AUTH LOGIN CRAM-MD5 PLAIN | 250 8BITMIME | 250 ENHANCEDSTATUSCODES | 250 STARTTLS | 250 SIZE  C: AUTH LOGIN  S: 334 VXNlcm5hbWU6  となります(途切れている感じで終了します)。  結果としてはメール送信できません。 2.方法2でメールを送信した場合、   S: 220 MDaemon.ドメイン名 ESMTP MDaemon 15.0.3; Thu, 08 Oct 2015 14:47:01 +0900  C: EHLO 当該PC名  S: 250 MDaemon.ドメイン名 Hello 当該PC名, pleased to meet you | 250 ETRN | 250 AUTH LOGIN CRAM-MD5 PLAIN | 250 8BITMIME | 250 ENHANCEDSTATUSCODES | 250 STARTTLS | 250 SIZE  C: MAIL FROM:<送信元アドレス>  S: 250 2.1.0 Sender OK  C: RCPT TO:<送信先アドレス>  S: 250 2.1.5 Recipient OK  C: DATA  S: 354 Enter mail, end with <CRLF>.<CRLF>  C: DATA fragment, 265 bytes  C: DATA fragment, 82 bytes  C: DATA fragment, 2 bytes  from: 送信元アドレス, subject: 件名, (text/plain)  25→51121 [ACK] Seq=331 Ack=441 Win=65024 Len=0  S: 250 2.6.0 Ok, message saved  51121→25 [ACK] Seq=441 Ack=360 Win=65280 Len=0  となります。  メール送信はできます。 3.方法3でメールした場合、  S: 220 MDaemon.ドメイン名 ESMTP MDaemon 15.0.3; Fri, 09 Oct 2015 14:33:39 +0900  C: HELO ドメイン名  S: 250 MDaemon.ドメイン名 Hello ドメイン名, pleased to meet you  C: MAIL From:<送信元アドレス>  S: 250 2.1.0 Sender OK  C: RCPT To:<送信先アドレス>  S: 250 2.1.5 Recipient OK  C: DATA  S: 354 Enter mail, end with <CRLF>.<CRLF>  from: 送信元アドレス, subject: 件名, (text/plain)  S: 250 2.6.0 Ok, message saved <Message-ID: <5FD10253ED1586送信元?アドレス>>  C: QUIT  S: 221 2.0.0 See ya in cyberspace  となります。  メール送信はできます。 <質問> ・方法1について   SMTPサーバーが認証方法を提示し、それに対してクライアントが  「AUTH LOGIN」を返答。SMTPサーバーがユーザー名を要求するも、  クライアントが未返答のように見受けられるのですが、このようになってしまう  原因としてはどういうことが考えられますでしょうか。 ・方法2について   SMTPサーバーが認証方法を提示し、それに対してクライアントが送信元アドレス   を応答しておりますが、これは結局何の認証方法を行っているのでしょうか。 ・方法3について   HELOなのでSMTPサーバーは認証方法を提示せず、そのまま送信元/送信先   アドレス、本文件名をクライアントが応答しているように見受けられるのですが、   認識は合ってますでしょうか。   ※要するに方法1と2は「EHLO」だからサーバーは認証方法を提示している? なお、  方法1:タスクスケジューラの「電子メールの送信」でメール送信したものです。  方法2:HDD監視ツール(CrystalDiskInfo)からのメール通知です。  方法3:メーラー(秀丸メール)からの送信です。  ※方法2、3については、あえてユーザー名及びパスワードを空白の設定にし送信。 勉強不足で大変恐縮ですが、宜しくお願い致します。

  • パソコンのインストール日を取得

    VBAでパソコンのインストール日を取得することは可能ですか? コマンドプロンプトでsyteminfoで出てくる 「最初のインストール日付」を取得したいです。 win8,オフィス2010です。

  • エクセルVBAの処理速度アップについて

    以下のエクセルVBAを組んでいるのですが、処理の速度をあげたいです。 無駄な記述があると思うのですが、調べても試行錯誤しても、上手くいきません。 処理速度をあげる記述をご教示願います。よろしくお願い申し上げます。 ※別ファイルのAccessファイルをデータベースとして、「今年」テーブルと、「前年」テーブルそれぞれから条件抽出して、受注数量を合計させるものです。 ※SQLのVBAです。なお、実際ファイルのVBAは、以下記述の5倍量あります(内容は、セル範囲が違うだけで同じ。現在速度:約30秒)。 ※「配列」というのを活用すれば速くなるようなのですが、理解できませんでした。。。 ーーーー【以下、VBA】----------- Sub DSUM集計() Application.ScreenUpdating = False Dim db As ADODB.Connection Dim rs As ADODB.Recordset Dim mySQL As String Dim cmd As ADODB.Command Dim AA As Variant AA = "AND 営業箇所" & Range("C13") & " AND 拒 IS NULL AND 販売伝票 <" & Range("D13") & " AND 品名 " & Range("E13") & " AND 得意先名 " & Range("F13") & " AND 請求先名 " & Range("G13") & " AND 出荷先名 " & Range("H13") Set db = New ADODB.Connection db.Provider = "Microsoft.Ace.OLEDB.12.0" db.Open "\\▲▲▲\ACCESS.accdb" With Worksheets("補助計算") mySQL = " SELECT SUM(受注数量) FROM 今年 " mySQL = mySQL & "WHERE 納入期日=" & Range("B13") & AA Set rs = New ADODB.Recordset Set cmd = New ADODB.Command Set cmd.ActiveConnection = db cmd.CommandText = mySQL Set rs = cmd.Execute Range("I13").CopyFromRecordset rs mySQL = " SELECT SUM(受注数量) FROM 今年 " mySQL = mySQL & "WHERE 納入期日=" & Range("B14") & AA Set rs = New ADODB.Recordset Set cmd = New ADODB.Command Set cmd.ActiveConnection = db cmd.CommandText = mySQL Set rs = cmd.Execute Range("I14").CopyFromRecordset rs mySQL = " SELECT SUM(受注数量) FROM 前年 " mySQL = mySQL & "WHERE 納入期日=" & Range("K14") & AA Set rs = New ADODB.Recordset Set cmd = New ADODB.Command Set cmd.ActiveConnection = db cmd.CommandText = mySQL Set rs = cmd.Execute Range("M14").CopyFromRecordset rs    mySQL = " SELECT SUM(受注数量) FROM 前年 " mySQL = mySQL & "WHERE 納入期日=" & Range("K15") & AA Set rs = New ADODB.Recordset Set cmd = New ADODB.Command Set cmd.ActiveConnection = db cmd.CommandText = mySQL Set rs = cmd.Execute Range("M15").CopyFromRecordset rs rs.Close Set rs = Nothing Set db = Nothing Application.ScreenUpdating = True End With End Sub ーーーーーーーーーーーーーーーーーーーー 以上

  • エクセルVBAの処理速度アップについて

    以下のエクセルVBAを組んでいるのですが、処理の速度をあげたいです。 無駄な記述があると思うのですが、調べても試行錯誤しても、上手くいきません。 処理速度をあげる記述をご教示願います。よろしくお願い申し上げます。 ※別ファイルのAccessファイルをデータベースとして、「今年」テーブルと、「前年」テーブルそれぞれから条件抽出して、受注数量を合計させるものです。 ※SQLのVBAです。なお、実際ファイルのVBAは、以下記述の5倍量あります(内容は、セル範囲が違うだけで同じ。現在速度:約30秒)。 ※「配列」というのを活用すれば速くなるようなのですが、理解できませんでした。。。 ーーーー【以下、VBA】----------- Sub DSUM集計() Application.ScreenUpdating = False Dim db As ADODB.Connection Dim rs As ADODB.Recordset Dim mySQL As String Dim cmd As ADODB.Command Dim AA As Variant AA = "AND 営業箇所" & Range("C13") & " AND 拒 IS NULL AND 販売伝票 <" & Range("D13") & " AND 品名 " & Range("E13") & " AND 得意先名 " & Range("F13") & " AND 請求先名 " & Range("G13") & " AND 出荷先名 " & Range("H13") Set db = New ADODB.Connection db.Provider = "Microsoft.Ace.OLEDB.12.0" db.Open "\\▲▲▲\ACCESS.accdb" With Worksheets("補助計算") mySQL = " SELECT SUM(受注数量) FROM 今年 " mySQL = mySQL & "WHERE 納入期日=" & Range("B13") & AA Set rs = New ADODB.Recordset Set cmd = New ADODB.Command Set cmd.ActiveConnection = db cmd.CommandText = mySQL Set rs = cmd.Execute Range("I13").CopyFromRecordset rs mySQL = " SELECT SUM(受注数量) FROM 今年 " mySQL = mySQL & "WHERE 納入期日=" & Range("B14") & AA Set rs = New ADODB.Recordset Set cmd = New ADODB.Command Set cmd.ActiveConnection = db cmd.CommandText = mySQL Set rs = cmd.Execute Range("I14").CopyFromRecordset rs mySQL = " SELECT SUM(受注数量) FROM 前年 " mySQL = mySQL & "WHERE 納入期日=" & Range("K14") & AA Set rs = New ADODB.Recordset Set cmd = New ADODB.Command Set cmd.ActiveConnection = db cmd.CommandText = mySQL Set rs = cmd.Execute Range("M14").CopyFromRecordset rs    mySQL = " SELECT SUM(受注数量) FROM 前年 " mySQL = mySQL & "WHERE 納入期日=" & Range("K15") & AA Set rs = New ADODB.Recordset Set cmd = New ADODB.Command Set cmd.ActiveConnection = db cmd.CommandText = mySQL Set rs = cmd.Execute Range("M15").CopyFromRecordset rs rs.Close Set rs = Nothing Set db = Nothing Application.ScreenUpdating = True End With End Sub ーーーーーーーーーーーーーーーーーーーー 以上