[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 02/26 17:50 / Filesize : 273 KB / Number-of Response : 1044
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Access VBA 質問スレ Part1



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


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]
事実、
ワンクッションのある無しで発生するんです。

303 名前:デフォルトの名無しさん mailto:sage [2015/04/19(日) 09:54:27.68 ID:S72BOy6b.net]
フィールドが100個くらいあるエクセルデータを同じように取り込んだときに経験したことある
ケド、、、、原因調べないでおわっちゃたなwそーいえばww
原因を探るためにDebug.Print入れたら登録がされるようになって、原因解明より先に仕事・・・・となって、そーいえばそのままww

304 名前:デフォルトの名無しさん mailto:sage [2015/04/20(月) 08:09:04.77 ID:ZV6mzr+5.net]
>>287
ここ、Accessスレですよ。

それとGoogleで調べれば分かるような内容の質問はどこのスレでも
禁止です。頭に叩き込んでおくといいですよ。

305 名前:デフォルトの名無しさん mailto:sage [2015/05/02(土) 06:47:20.55 ID:cQx6YORh.net]
中文(簡体)文字のファイル名をダイアログで取得して、コピーしたり開いたりしたいんですが、"見つかりません"と言うメッセージに。
中文文字の入ったファイル名やフォルダー名を取り扱う方法かヒント頂けないですか。



306 名前:デフォルトの名無しさん [2015/05/14(木) 12:50:18.83 ID:No/KpZZc.net]
二つ教えてください。

1コンボボックスコントロールの

307 名前:・が反応しない時がある

2リストボックスコントロールAからデータを取得するとき
A.BoundColumn=1
変数=A.ItemData(A.ListIndex)
A.BoundColumn=2
変数=A.ItemData(A.ListIndex)
A.BoundColumn=3
変数=A.ItemData(A.ListIndex)
A.BoundColumn=4
と一つの関数内で取得する列を変更してデータを取得しようとしても、データが取得できる場合と取得できない場合が発生するのはなぜでしょうか?
[]
[ここ壊れてます]






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<273KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef