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
202 名前:デフォルトの名無しさん [2014/02/08(土) 21:20:31.59 .net] SQLのReplace Intoに相当する物って有るんですか?
203 名前:デフォルトの名無しさん mailto:sage [2014/02/10(月) 01:08:00.70 .net] フォームに伝票基本情報 サブフォームに詳細というか明細欄(だいたい30レコードくらい)配置して、 1売上1レコードになるようにしています。 サブフォームに、 内容 金額 委託 委託金 とフィールドがあり、委託したときに入力するですが、 (この委託の部分も、 1売上(外注)1レコードにできませんか?
204 名前:デフォルトの名無しさん mailto:sage [2014/02/10(月) 01:42:27.90 .net] 誰か翻訳
205 名前:デフォルトの名無しさん mailto:sage [2014/02/10(月) 11:01:12.98 .net] >>199 そもそも標準的なSQLにそんな命令聞いた事ない ACCESSでも聞いた事ない
206 名前:デフォルトの名無しさん mailto:sage [2014/02/10(月) 11:05:35.28 .net] >>200 なにがしたいか良くわからんが、サブデータシートとかサブフォームのネストとか たぶんそれでできるんじゃね
207 名前:デフォルトの名無しさん mailto:sage [2014/02/12(水) 15:25:40.29 .net] >>199 MySQLの独自実装か? SQL ServerにもPostgreSQLにもないが・・・。 どんな動きかググってまで答える気にならない。
208 名前:デフォルトの名無しさん [2014/02/16(日) 11:19:02.87 .net] >>202 >>204 ググレカス
209 名前:デフォルトの名無しさん mailto:sage [2014/02/27(木) 09:57:10.80 .net] 練習がてらVBAでユーザー定義関数をつくろうかと思ったんですが思った通りのものが作れず困っています。 というか簡略化できないもんかと思っているわけですが。 OS XP Access 2003 Function AAA(Parm01,Parm02,Parm03...) AS String ’parmは最終的にParm24までできますがここでは簡略化 If
210 名前:Parm01 = "S" or Parm01 = "A" then AAA = "1" Exit Function Else AAA = "0" end if End function とすごく単純なものなのですが、Parm01〜Parm03(実際にはParmは24個)にはそれぞれS・A・B・Cのいずれかが入っているので それを数値に変換する仕組みを作りたいのです。 SかAだったら1を。それ以外(B・C)だったら0を返す。 上には記載していませんが最終的にはParmの中身を全て合計した値を返すようにいじる予定です。 で、問題なんですが、IF文の中でParmの中身を判定しているわけですが、これをParmの数だけ作るのはなんか美しくない。 Parm01〜24をまとめて判定するにはどのようにするのが美しいでしょう。 ご教授頂ければ嬉しいです。 [] [ここ壊れてます]
211 名前:デフォルトの名無しさん mailto:sage [2014/02/27(木) 11:20:17.13 .net] >>206 まず24個も引数取るのを美しいか疑問に思えよ その24個をまとめたコレクションなり配列なり用意するとか その24個にあまり関連がないないならParamArrayつかえ (その前提でまとめて同じ引数にするのおかしいけどな)
212 名前:デフォルトの名無しさん mailto:sage [2014/02/27(木) 11:34:23.61 .net] >>207 ParamArrayというのがあるんですね。ありがとうございます。調べてみます! 美しさに関しては超ごもっともなんですが、如何せん元のデータをいじる権限がなくてですね。 元データの開発者をぐーで殴りたいレベル。 識別コード(一意)|24ヶ月前|23ヶ月前|22ヶ月前|21ヶ月前|・・・|当月| ってな感じなんですよ。 んでこの○ヶ月前ってのがParmになるんですけどコレクションにせよ配列にせよ、結局は同じことなので AAA(24ヶ月前,...当月)ってやっちまったほうが早いかなと。 大変助かりました。ありがとうございます。
213 名前:デフォルトの名無しさん mailto:sage [2014/02/27(木) 14:06:57.28 .net] VBAにそんなもんあんのか?構造体使うのが普通だろ ただしVBAの構造体は遅いけどな
214 名前:デフォルトの名無しさん mailto:sage [2014/02/27(木) 14:09:36.05 .net] 有りますね、サーセンw
215 名前:デフォルトの名無しさん mailto:sage [2014/02/27(木) 15:11:10.30 .net] ACCESSなら元データはテーブルじゃないのか だったらレコードセットなり渡せば済む話だとおもうが
216 名前:デフォルトの名無しさん mailto:sage [2014/03/12(水) 22:15:26.86 ID:W4Gp9YVD.net] 設計の悪いDBだとたまに見る形だな 一々縦横変換とかしなきゃならんやつ
217 名前:デフォルトの名無しさん [2014/06/24(火) 13:28:55.21 ID:DxDJQaB9C] Accessをメインに仕事されてる方たちに質問。(データ入力は別) 年収どれくらいですか?
218 名前:デフォルトの名無しさん mailto:sage [2014/06/30(月) 22:54:27.08 ID:VWrrXenH.net] 続きです。 何かすっごく基本的な凡ミスな気がしてるのですが、何かここらあたりありますか? エスパーな質問で申し訳ないです。。
219 名前:デフォルトの名無しさん mailto:sage [2014/07/01(火) 00:30:57.04 ID:0DCE/lPo.net] メモ型はSQL使うと切れたり頭の255しか判定してくれなかったりするからなあ エクスポートインポートとかはバグで切れちゃうし 普通に文字列INSERTで入るか試してみて
220 名前:デフォルトの名無しさん [2014/07/21(月) 20:33:39.99 ID:ufWzAtLi.net] 171 名前:デフォルトの名無しさん[] 投稿日:2014/07/17(木) 02:49:51.87 ID:TFQGtdi0 www.ynsk.co.jp/nsk/knowhow/sendmail/sendmail5.htm こちらのサイトに公開されてるアクセスのコードなんですが Windowsの標準DLLを利用して、メールを受信、送信するプログラムを 実行したいのですが、うまく動かせません。 他のスレッドで質問しましたが、こちらに誘導されてきました。 無償で公開されてるソースコードが動かないのですが、わかる有志の方、いらっしゃいました
221 名前:ら 使い方おしえてください。 元スレッド:Excel VBA 質問スレ Part34 [] [ここ壊れてます]
222 名前:デフォルトの名無しさん mailto:sage [2014/07/21(月) 20:44:10.09 ID:KfqA2p34.net] どう動かないのかぐらい書けや
223 名前:デフォルトの名無しさん [2014/07/21(月) 21:01:38.49 ID:ufWzAtLi.net] ●MDBファイルの内容 ・ メールユーザ(テーブル)……利用するメールアカウントの情報を保存します。 ※ 以下のように設定して下さい。 メールアドレス POP3サーバ ユーザ パスワード SMTPサーバ リターン ← 受信時にサーバなどから通知されるメッセージが設定されます。 受信要求 ← 0(受信しない)または-1(受信する)を設定して下さい。 仮受信 ← -1(メールをサーバから消さない)または0(消す)を設定して下さい。 上記の説明通り、テーブルに必要事項を記入しましたが反応しません。 コンパイルはしました。UACを切ってファイルのアクセス権限をeveryoneに変更しました。。 動作確認済み環境が、Win2000とXPProのようで、office97、2000では動作の確認が取れてるみたいです。 自分の環境:Win7pro office2010pro
224 名前:デフォルトの名無しさん mailto:sage [2014/07/21(月) 21:04:27.24 ID:KfqA2p34.net] >>218 反応しないってどういうこと? テーブルにセットしただけでは何も起こらなくて当然だぞ
225 名前:デフォルトの名無しさん [2014/07/21(月) 21:44:14.81 ID:ufWzAtLi.net] メール受信(更新クエリというのが有るようですが、そのクエリが見当たりません。初歩的なところで止まっているような気はするのですが、外部からのデータ受ける部分のdllがwin7で動作できない理由と読んでるのですが。ご教授願います。
226 名前:デフォルトの名無しさん mailto:sage [2014/07/21(月) 22:38:52.22 ID:DpfIQ25M.net] ・ B_POP3(モジュール)……メールの受信とデコードを行います。 ※ このモジュールを実行するためには、作業用のフォルダが必要です。 B_POP3(モジュール)の中のコーディング 「Private Const BWorkDir As String = "c:\maildata"」と 「Private Const BWorkTempDir As String = "c:\maildata\temp"」で 作業用のフォルダを指定しています。 ダウンロードしたままの設定で操作する場合、 Cドライブ直下にmaildataというフォルダとmaildataフォルダのなかに tempというフォルダを作成して下さい。 別のフォルダを利用する場合、フォルダの指定を変更して下さい。 「Private Const c_WorkDir非消去 As Integer = -1」というコーディングがあります。 -1のままだと、1メールごとに上記作業用のフォルダの中身を削除しません。 1ユーザのメールが複数あって、それを受信した場合、作業用のフォルダには全件分のファイルを残しています。 デバック時に1ユーザごとに受信すれば、中間結果を追えるので、有効なことがあります。 ファイルには、「mail1.txt」,「mail2.txt」.....などの番号を付けています。 ファイルと受信したメールを照合させるため、テーブルに保存したメールの「件名」にも番号を付けています。 0にすると、作業用のフォルダには最後の1件分のファイルしか残りません。 安定した運用段階に入れば、0にした方がディスク負荷は小さくなります
227 名前:デフォルトの名無しさん [2014/07/22(火) 00:54:13.17 ID:aPcZAjL/.net] フォルダのアクセス権限の確認→念のため、everyoneに変更 ディスク負荷による動作停止の可能性→-1から0に変更したが変化なし そもそも、動作環境は古いマシンで行われていたので マシンスペックのリソース不足は考え難いと考えました。 もう少し、調べてみます。winsock.dllあたりが怪しいです。 パケットキャップとる以前に、ハードディスクの動作に変化が見られない。
228 名前:デフォルトの名無しさん mailto:sage [2014/07/22(火) 02:35:29.84 ID:aPcZAjL/.net] お騒がせしました。 原因は、accessの使い方がわからないまま クエリが非表示であることに気付かず、試そうとしたためです。 同じ環境をVM作成し、対象のクエリのSQLクエリが見えたのでそれをぱくりました。
229 名前:以上 [] [ここ壊れてます]
230 名前:デフォルトの名無しさん [2014/07/27(日) 15:01:49.68 ID:1777RigF.net] 基本的なことと思いますが、教えてください。 Public Function FuncSyohizei(ByVal kingaku As Double) As Double FuncSyohizei = kingaku * 1.05 End Function これを、イミディエイトウインドウから実行する場合 ?FuncSyohizei(100.0) ・・・型が一致しません。ちなみに、?FuncSyohizei(100)でも、同じ。 ?FuncSyohizei 100 → 100 ?FuncSyohizeiは、文字列とみなされ、無視された?。 ただしく、100と引数を渡したら、105と返ってくるようにするには イミディエイトウインドウに、どう入力すればいいんでしょうか。
231 名前:デフォルトの名無しさん mailto:sage [2014/07/27(日) 16:34:57.58 ID:fFsyojt4.net] ? @FuncSyohizei(100.0)
232 名前:224 mailto:sage [2014/07/27(日) 18:14:36.50 ID:02SmaVb3.net] いろいろやってみて、解決しました。 フォームモジュールに、これを作ったのがいけなかったようです。 標準モジュールにコピペして、?FuncSyohizei(100)したら 105が出ました。
233 名前:デフォルトの名無しさん mailto:sage [2014/07/28(月) 00:30:37.26 ID:ZjuZ26GB.net] Date, Now って Functionじゃなく Propertyなのな
234 名前:デフォルトの名無しさん mailto:sage [2014/07/28(月) 02:29:49.00 ID:4Zda3n2L.net] >>227 そんな事ないと思うが もしかしたらそう言う名前のプロパティを持つものもあるのかもしれんが ちなみに、何のプロパティだ?
235 名前:デフォルトの名無しさん mailto:sage [2014/07/28(月) 03:01:52.49 ID:ZjuZ26GB.net] >>228 オブジェクトブラウザ見てごらん
236 名前:デフォルトの名無しさん mailto:sage [2014/07/28(月) 13:08:38.66 ID:hu7LkKIJ.net] VBAの標準関数って、VBA組み込みオブジェクトのメンバして実装されてるのか しかし、メソッドとプロパティの使い分けの基準は謎だな
237 名前:デフォルトの名無しさん [2014/08/20(水) 13:35:49.89 ID:qA3YOzZv.net] Access2003でwebスクレイピングしてます。 Dim objHTML As MSHTML.HTMLDocument Dim objDoc As MSHTML.HTMLDocument If (objHTML Is Nothing) Then Set objHTML = New MSHTML.HTMLDocument Set objDoc = objHTML.createDocumentFromUrl(strURL, vbNullString) ってな感じでタグでデータを拾いたいのと、速度を重視してMSHTMLを使ってやってます。 が、createDocumentFromUrlのところでクッキーのセキュリティ警告が出てしまいます。 imgur.com/41wmxYi 回避する方法はないでしょうか? インターネットオプションをいろいろといじってみたけど、お手上げ状態です。 URLを変更して呼び出すたびに毎回出てくるので、処理を開始して放置しておくことができません。
238 名前:デフォルトの名無しさん mailto:sage [2014/08/20(水) 18:22:09.72 ID:aSpRdTpy.net] >>231 Windows再インストール後初めてプログラム実行したとき表示されたけど 許可して以降は出てないな。
239 名前:デフォルトの名無しさん [2014/08/21(木) 00:46:10.94 ID:Ue/CPgyd.net] >>232 本当ですか… とりあえずプライバシーの設定を最低にして全てのクッキーを受け入れるにしたら、でなくなりました。 が、少し怖い…
240 名前:デフォルトの名無しさん mailto:sage [2014/08/21(木) 02:13:22.51 ID:nSwAzUL+.net] >>233 IEの設定を全リセットしても出ない。 Win7x64+IE10
241 名前:デフォルトの名無しさん [2014/08/21(木) 02:28:53.95 ID:Ue/CPgyd.net] >>233 win7(32bit),ie11です。 今度クッキーとか履歴とか全部クリアして試します。 メッセージでくぐってもie5がってMSのサイトしかでないんですよね。 ちなみにat Homeの不動産情報サイトです。
242 名前:デフォルトの名無しさん [2014/08/21(木) 02:29:20.42 ID:Ue/CPgyd.net] >>234 でした。 すんません。
243 名前:デフォルトの名無しさん mailto:sage [2014/08/21(木) 02:32:53.11 ID:SlcBJ8S5.net] >>231 ちょっと状況違うみたいだけど www.f3.dion.ne.jp/~element/msaccess/AcTipsMSHTML.html にある
244 名前:objHTML.DesignMode = "on" 試してみた? [] [ここ壊れてます]
245 名前:デフォルトの名無しさん mailto:sage [2014/08/21(木) 16:24:32.22 ID:Ue/CPgyd.net] >>237 231です。 これも見ていたのですが、オンにするとスクリプトが実行されないとあるように、 ほしい情報がとれなくなってしまいました。 コメントありがとうございました。
246 名前:デフォルトの名無しさん [2014/10/23(木) 15:05:01.01 ID:RjBQcz8M.net] OLEオブジェクトにゼロデイ脆弱性、Microsoftが暫定対策プログラムを公開 www.forest.impress.co.jp/docs/news/20141022_672480.html
247 名前:デフォルトの名無しさん [2014/12/23(火) 20:32:46.30 ID:n+XpzPMA.net] 質問です。WIN7、ACCESS2010 初歩的な質問なのですが、 文字列を扱う変数では何文字の格納が可能でしょうか?
248 名前:デフォルトの名無しさん mailto:sage [2014/12/23(火) 21:36:03.42 ID:M59ZuSy9.net] vbaでgoogle driveにレポートをアップするやり方どこかに良いサンプルないかな。。。google driveのクライアントソフト入ってない場合でも使いたいんで。。。。
249 名前:デフォルトの名無しさん mailto:sage [2014/12/23(火) 21:50:29.64 ID:W51mY81m.net] >>240 2Gまでだったと思うけどヘルプ確認してくれ
250 名前:デフォルトの名無しさん [2014/12/23(火) 22:33:08.77 ID:n+XpzPMA.net] >>242 ありがとうございます。 では、500文字くらいはしょぼいレベルと捉えて良さそうですね。
251 名前:デフォルトの名無しさん mailto:sage [2014/12/24(水) 03:21:35.84 ID:Yxp0O6RL.net] >>240 ,242-243 2010や64ビットバージョンで変わってなければ 固定長なら約 63KB だけどな まあ、固定長文字列なんてめったに使う事ないけど >>241 レポートのアップってのが具体的に何を指してるのかしらんが そもそもVBAではHTTP通信とか直接サポートされてないから
252 名前:デフォルトの名無しさん [2014/12/24(水) 22:57:10.21 ID:vBpiiQ3c.net] >>240 で質問した者です。 変数に格納した、ただの文字列をテキストファイルに出力することは 可能でしょうか?
253 名前:デフォルトの名無しさん mailto:sage [2014/12/25(木) 03:42:32.22 ID:c/bUBZQc.net] >>245 可能か不可能かっていうならもちろん可能だけど やり方は色々あるぞ 純粋にVBAだけならPrint#だけど、あんまりこれ使ってるの見た事ないなw ACCES的に考えると、1回テーブルに格納してテキスト書き出しじゃないかな
254 名前:デフォルトの名無しさん [2014/12/25(木) 19:12:54.77 ID:wTh15/U7.net] 大量のAccessファイル含め移動するのですが、リンクテーブルのリンク先の一括張り替え機能を実装したいのですが、ご教示いただけないでしょうか?
255 名前:デフォルトの名無しさん mailto:sage [2014/12/25(木) 19:40:21.24 ID:/AazF+Ck.net] ADOXDB
256 名前:デフォルトの名無しさん [2014/12/25(木) 20:14:11.26 ID:GnPnKi4m.net] >>246 ありがとうございます。 最終的に長めの一文をテキストファイルに出力するためだけに ACCESSでテーブル作成したりクエリ組んだりしてるのです。 通常の使い方だとテーブルやクエリをエクスポートでいいんでしょうが なんせ一文のみなので、printというのを試してみます。
257 名前:デフォルトの名無しさん mailto:sage [2014/12/25(木) 22:18:03.24 ID:c/bUBZQc.net] >>247 DAOで CurrentDb().TableDefs("テーブル名").Connect 書き換えてから CurrentDb().TableDefs("テーブル名").RefreshLink
258 名前:デフォルトの名無しさん mailto:sage [2014/12/26(金) 09:32:55.94 ID:4ShwS6Rf.net] マルチだよ
259 名前:デフォルトの名無しさん [2014/12/27(土) 17:01:11.46 ID:Mse9t11G.net] >>244 レポートというかAccessから出力された成果物をGoogleDriveのクライアントソフトが 入っていない場合でもGoogleDriveにアップロードしたいということだったのでした。 そんなことをやる人もあまりいないみたいですね。 Pythonあたりでフィルをアップするプログラムを作ってアクセスから ファイルパスを引数に持たせて実行させるようなイメージで考えてみようかとお思います。 もっとかんたんにできるぉ。。っていう神がいれば教えてたも。。。
260 名前:デフォルトの名無しさん mailto:sage [2014/12/27(土) 18:42:52.92 ID:xcx8bYiC.net] >>252 VBAはHTTP通信サポートし
261 名前:てないから、どっちにしろVBAだけではできんが 俺ならC#(かVB.NET)でDLL作ってCOM公開だな C#のライブラリあるっぽいから、ほぼそれそのままCOM公開する形で行ける気がする 探せば誰かすでに作ってるかもしれんが [] [ここ壊れてます]
262 名前:デフォルトの名無しさん mailto:sage [2014/12/27(土) 18:46:25.06 ID:MwQYLNUR.net] >>252 pypiで検索してみ
263 名前:デフォルトの名無しさん [2014/12/27(土) 21:43:55.93 ID:N3QWsaPU.net] 情報ありがとうございました。 >>253 VisualStudioもPro同等品がフリーの時代ですからね。 勉強してみたいのですが、時間(&気力)が乏しく、、、まずは探してみます。 >>254 Python自体ほぼほぼ初心者なんで、、、、 探してみます。お勧めとかありませんか?
264 名前:デフォルトの名無しさん [2014/12/28(日) 01:48:08.62 ID:hWEKpKUx.net] 馬鹿には無理
265 名前:デフォルトの名無しさん [2014/12/29(月) 18:29:45.70 ID:EuG97dxJ.net] >>256 馬鹿なりにいろいろ考えますた。 GoogleCLで何とかできそうです。
266 名前:デフォルトの名無しさん [2015/01/06(火) 15:02:29.70 ID:L0NjGint.net] AC2000くらいぶりに2013で作るんだが、変わりすぎてて困るなこれ
267 名前:デフォルトの名無しさん mailto:sage [2015/01/07(水) 12:14:43.42 ID:HwRBQ0K9.net] お前の頭が老化してるんだよ
268 名前:デフォルトの名無しさん [2015/01/08(木) 11:57:49.05 ID:3EyWpOD1.net] 1)のデータの県名を元に、2)のように並べたいのですが、アクセスでやる方法はありますか? 1) 千葉 成田 空港 埼玉 秩父 蕎麦 埼玉 川越 イモ 栃木 日光 華厳 千葉 浦安 ネズミ 埼玉 秩父 三峯 栃木 日光 東照宮 栃木 宇都宮 餃子 千葉 館山 菜の花 ↓ 2) 千葉 成田 空港 館山 菜の花 埼玉 秩父 蕎麦 川越 イモ 秩父 三峯 栃木 日光 華厳 日光 東照宮 宇都宮 餃子
269 名前:デフォルトの名無しさん mailto:sage [2015/01/08(木) 12:16:44.21 ID:qIfkunGX.net] 浦安とネズミーランドはどこに入れば良い?
270 名前:デフォルトの名無しさん [2015/01/08(木) 13:16:48.72 ID:3EyWpOD1.net] すいません。書き直します。 1)のデータの県名を元に、2)のように並べたいのですが、アクセスでやる方法はありますか? 1) 千葉 成田 空港 埼玉 秩父 蕎麦 埼玉 川越 イモ 栃木 日光 華厳 千葉 浦安 ネズミ 埼玉 秩父 三峯 栃木 日光 東照宮 栃木 宇都宮 餃子 千葉 館山 菜の花 ↓ 2) 千葉 成田 空港 館山 菜の花 浦安 ネズミ 埼玉 秩父 蕎麦 川越 イモ 秩父 三峯 栃木 日光 華厳 日光 東照宮 宇都宮 餃子
271 名前:デフォルトの名無しさん mailto:sage [2015/01/08(木) 13:22:02.26 ID:qIfkunGX.net] 浦安とネズミーランドだけ順番入れ替える基準は?
272 名前:デフォルトの名無しさん mailto:sage [2015/01/08(木) 16:12:11.95 ID:qIfkunGX.net] 出来たからおしまい https://paiza.io/projects/kXqWvxUj1PG97Z7Vq1KNXA
273 名前:デフォルトの名無しさん mailto:sage [2015/01/09(金) 08:12:06.75 ID:rJhs2R4+.net] >>264 Runtime Errorがでました
274 名前:デフォルトの名無しさん mailto:sage [2015/01/09(金) 12:46:37.92 ID:Azg0g72t.net] >>262 横展開の数が固定なら https://social.msdn.microsoft.com/Forums/ja-JP/cf79c817-f15e-4375-8d9b-95990b2d00de/accesssql?forum=vbajp 増減するならVBAでワークテーブルに入れていくしかないと思う
275 名前:デフォルトの名無しさん mailto:sage [2015/02/19(木) 08:17:57.69 ID:CSqQB465.net] 質問です。 数万レコード程度のログファイルの集計(抽出)をしたいです。 抽出条件は、レコードに担当者と時刻が入っていて、 その時刻の+1分以上かつ+5分以下で、同じ担当者の物です。 最終的には、条件にあてはまるレコードの1つ目と2つ目以降という感じで並べたいです。 今はEXCELのCOUNTIFS関数で半分手作業でやってますが、 かなり手間なのでできればAccessVBAでやりたいです。 よろしくお願いします。
276 名前:デフォルトの名無しさん mailto:sage [2015/02/19(木) 10:34:22.43 ID:IO29hpKb.net] したいことは判りました。 次のかたどうぞ。
277 名前:デフォルトの名無しさん mailto:sage [2015/02/19(木) 16:00:09.30 ID:1peKWp+p.net] わからないなら黙ってろよアホか で、vbaからcountifを呼び出せばいいんじゃね
278 名前:えの? 思いついただけで試してないが [] [ここ壊れてます]
279 名前:デフォルトの名無しさん mailto:sage [2015/02/19(木) 16:34:11.57 ID:4dFHTBvU.net] >>267 VBAは必要ないでしょ。なにかその後バッチ処理をしてるっていう なら別だが。 普通に該当のテーブルを元にクエリつくって、パラメータクエリを 作る。フォームを用意して、入力させてその値をパラメータとして クエリの条件式に入れる。 1分以上5分以下という条件をbetween andで書いて2つパラメータ を時刻のカラムに入れる。これで抽出は完了。SQLでやってもいい んだがそこまでは必要ないでしょ。手軽にできるし。
280 名前:デフォルトの名無しさん mailto:sage [2015/02/25(水) 19:46:25.88 ID:u8BX93H2.net] 定時で帰ってるのがばれるじゃないか
281 名前:デフォルトの名無しさん mailto:sage [2015/02/27(金) 10:17:16.72 ID:ILfHzu6L.net] >>271 密度が違いますと言い張れば大丈夫。
282 名前:デフォルトの名無しさん mailto:sage [2015/04/11(土) 08:59:32.35 ID:5EmI+Hzg.net] Excelファイルで(表現上CSVで表現してますが、XLSXファイルの1つのシート上のデータだと思ってください。) 999,999,AAA,999・・・・・・ 999,999,BBB,999・・・・・・ 999,C ,999,999・・・・・・ 999,999,DDD,999・・・・・・ という4件のデータがあるとします。 これを、SELECT * FROM のクエリをDao.Recordsetで読み込みたいのですが、 Fileds(1)のところのタイプは数値型。 ここで、3行目のデータを見に行くと、フィールドの型が数値型なのに「C」が入っているためRS.Fields(2).Valueを参照しようとすると異常終了してしまいます。 全部のフィールドを強制的に文字列型で見る方法はないのでしょうか?
283 名前:デフォルトの名無しさん [2015/04/11(土) 09:00:28.88 ID:5EmI+Hzg.net] RS.Fields(2).Value を RS.Fields(1).Value に訂正。m(_ _)m
284 名前:デフォルトの名無しさん mailto:sage [2015/04/11(土) 18:29:40.40 ID:hFjl3X66.net] >>273 落ちる所のコードが無いから分からないけど dim aaa as long aaa=RS.Fields(1).Value みたいな使い方しているなら dim aaa as long dim bbb as string bbb=RS.Fields(1).Value bbbを数値判定してから本来のaaaに取得 判定方法はIsNumericやCIntやCLngなど
285 名前:デフォルトの名無しさん mailto:sage [2015/04/13(月) 17:40:35.62 ID:gbfuHaFd.net] Access2013です。 いろいろと作っているうちに突然コントロールソースに持っているユーザー定義関数が働かなくなり、#NAMEのエラーが出る様になりました。 ファイルが壊れたのでしょうか?
286 名前:デフォルトの名無しさん mailto:sage [2015/04/13(月) 18:03:17.07 ID:gbfuHaFd.net] >>276 自己解決しました。 関数名を英数字のみにしたら動きました。 ただ、動かなくなったきっかけがわからない。
287 名前:デフォルトの名無しさん mailto:sage [2015/04/14(火) 07:53:37.48 ID:0HPBZIqn.net] >>277 そもそも関数名に日本語使うそのセンスを疑う
288 名前:デフォルトの名無しさん mailto:sage [2015/04/14(火) 15:41:26.89 ID:b8Z+Xie9.net] だってイベントプロシージャは日本語名で動くじゃん
289 名前:デフォルトの名無しさん mailto:sage [2015/04/14(火) 19:08:51.74 ID:hqkBvwrA.net] 漢字カタカナを関数名にグイグイ使ってました。まあ今日も明日も使っちゃうんですが。
290 名前:デフォルトの名無しさん [2015/04/15(水) 22:25:26.57 ID:15xIuB57.net] IF文についてなのですが、 IIf(A = 0 Or B = 0 Or C = 0 And D = 0 ... という書き方の場合、「Aが0」もしくは「Bが0」もしくは「Cが0、かつDも0」のいずれかの場合、 という条件判定になるという考え方で良いでしょうか?
291 名前:デフォルトの名無しさん mailto:sage [2015/04/16(木) 08:12:50.91 ID:gzgbYtwZ.net] >>281 一緒といえ
292 名前:ホ一緒ですがIF?IIF?どちらでしょう? > という書き方の場合、「Aが0」もしくは「Bが0」もしくは「Cが0、かつDも0」のいずれかの場合、 > という条件判定になるという考え方で良いでしょうか? そうですね ハッキリさせたい時には()でくくると分かり易くなりますよ こんな風に IIf((A = 0 Or B = 0) Or (C = 0 And D = 0), "true", "false") IFならモジュールにテスト用の関数作って確認できますし IIFならもっと簡単にクエリー等でテスト出来ますよ まずは試してみる事をオススメします [] [ここ壊れてます]
293 名前:デフォルトの名無しさん mailto:sage [2015/04/16(木) 13:45:46.84 ID:OCYKBdEo.net] >>282 ありがとうございます、安心しました
294 名前:デフォルトの名無しさん [2015/04/18(土) 01:50:57.01 ID:pucpWveX.net] ExcelVBAをほんの少しいじった程度ですが、同じことがAccessVBAでもできますか? たぶんできたとして、データアクセスが目的ならExcelよりAccessのほうが早いのかな。
295 名前:デフォルトの名無しさん mailto:sage [2015/04/18(土) 03:55:58.31 ID:j/wjXDDU.net] WSH(VBScript, JScript), PowerShell からでも、 呼び出せるよ Accessはデータベースだから、 Excelよりもデータの整合性は、より安全で、 何々明細とかを扱う、本格的な業務に適している
296 名前:デフォルトの名無しさん mailto:sage [2015/04/18(土) 07:06:32.83 ID:elh8iJrV.net] >>284 Excel にデータエクスポートして開いてピボット集計して保管してzipにしてメール添付して送信、とかExcelの外から出来る。
297 名前:デフォルトの名無しさん mailto:sage [2015/04/18(土) 09:55:54.98 ID:QuJhi9bL.net] エクセルの65535行制限って解けたんだっけ?
298 名前:デフォルトの名無しさん mailto:sage [2015/04/18(土) 18:09:00.24 ID:05gN+8sT.net] xlsxファイルからDAO.RecordSetでデータを取り込んでいます dim A Do Until Rs.EOF=True For i=1 to 10 A=Rs.Fields(i).Value InsertRS.Addnew InsertRS.Fields(i).Value=Rs.Filds(i).Value Next Rs.MoveNext Loop のようにしてエクセルデータからデータベースに保存してます。 で、 A=Rs.Filds(i).Value は無意味なコードなのですが、 これがないと保存がされません。 ワンクッション?が必要なようなんです。 これ、原因や同じような症状でた人いますか?
299 名前:デフォルトの名無しさん mailto:sage [2015/04/18(土) 19:59:14.52 ID:C1NhVGiv.net] それ以前にAddnewしてる位置がおかしい気がするんだが
300 名前:デフォルトの名無しさん mailto:sage [2015/04/18(土) 21:20:04.66 ID:05gN+8sT.net] 書き間違えました。 実際は、Forのまえにaddnewしてnextのあとにupdateしてます。
301 名前:デフォルトの名無しさん mailto:sage [2015/04/19(日) 02:01:53.14 ID:WMQbPkw9.net] 書き間違いとか実際のコードじゃないもの出されてもなぁ お前の勘違いの可能性が圧倒的に高いと思うぞ
302 名前:デフォルトの名無しさん mailto:sage [2015/04/19(日) 07:19:00.86 ID:8d6tresr.net] 事実、 ワンクッションのある無しで発生するんです。