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
http://toro.2ch.net/test/read.cgi/tech/1327763113/l50
探検
Access VBA 質問スレ Part1
■ このスレッドは過去ログ倉庫に格納されています
2012/02/06(月) 22:53:46.88
128デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN ODBCのミドル層で出てるダイアログだから、アクセス側からいじれるプロパティなんてないだろ
自分でIDとパスワード入力してもらうフォーム作ってそこに入力してもらえ
自分でIDとパスワード入力してもらうフォーム作ってそこに入力してもらえ
129デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN DBの持ち物か。すまん。
ダイアログの出る直前にACCESSで入力を固定して終わったら解除ってできないのかね。
(調べてない、ただの理想を述べてみた。)
ダイアログの出る直前にACCESSで入力を固定して終わったら解除ってできないのかね。
(調べてない、ただの理想を述べてみた。)
130デフォルトの名無しさん
2013/09/01(日) 00:30:06.54131デフォルトの名無しさん
2013/09/01(日) 02:59:29.29 Access初心者です。
VBAでExcelからデータをコマンドボタンで自動インポートさせる物を
作っています。
インポート漏れがないかのチェック処理もさせたいのですが、
どのようにすればいいかわかりません、ご教授お願いします。
VBAでExcelからデータをコマンドボタンで自動インポートさせる物を
作っています。
インポート漏れがないかのチェック処理もさせたいのですが、
どのようにすればいいかわかりません、ご教授お願いします。
132デフォルトの名無しさん
2013/09/01(日) 03:24:10.08 >>131
レコード数で比較すれば?
レコード数で比較すれば?
133デフォルトの名無しさん
2013/09/01(日) 03:48:29.03134デフォルトの名無しさん
2013/09/01(日) 03:59:24.56 ユニークキーで差分とれよ
少しは考えろよ
少しは考えろよ
135デフォルトの名無しさん
2013/09/01(日) 04:00:02.93136デフォルトの名無しさん
2013/09/01(日) 08:49:32.79 インポート漏れなんてあるの?
137デフォルトの名無しさん
2013/09/01(日) 09:02:48.06 結構ある
あと勝手にデータ変換されてたりもする
あと勝手にデータ変換されてたりもする
138デフォルトの名無しさん
2013/09/01(日) 09:25:38.41 そうか
ならインポートしてからチェックするより自前のコードでインポートした方がいいんじゃない?
ならインポートしてからチェックするより自前のコードでインポートした方がいいんじゃない?
139 【だん吉】
2013/09/01(日) 09:31:40.27 自分はそうしてる
140デフォルトの名無しさん
2013/09/01(日) 10:05:17.59 ウィザードにまかせてるとひどい目にあう
141デフォルトの名無しさん
2013/09/01(日) 10:35:21.42 Access初心者なので、そのVBAのコードの書き方がわかりません
教えていただけませんか
教えていただけませんか
142デフォルトの名無しさん
2013/09/01(日) 10:36:54.67 いいですよ
144デフォルトの名無しさん
2013/09/01(日) 20:23:21.63 インポート漏れするデータ欲しい
試してみたい
試してみたい
145デフォルトの名無しさん
2013/09/01(日) 23:14:50.69 数字型のとこに文字入ってるデータとか用意したらいいんじゃね
146デフォルトの名無しさん
2013/09/01(日) 23:38:03.38 >>145
うーん、そういうデータをインポートすると普通にエラーとして扱われて
「テーブル名_$インポート エラー」 ってテーブルが生成されるから
インポート漏れのレコードがわからなくて困る、なんて状況にはならないんだよね
うーん、そういうデータをインポートすると普通にエラーとして扱われて
「テーブル名_$インポート エラー」 ってテーブルが生成されるから
インポート漏れのレコードがわからなくて困る、なんて状況にはならないんだよね
147デフォルトの名無しさん
2013/09/02(月) 10:35:57.67 インポート漏れのレコードがわからなくて困る、なんて状況になると言ってる人はいないが
148デフォルトの名無しさん
2013/09/02(月) 10:57:43.03 おもろいな
149デフォルトの名無しさん
2013/09/05(木) 23:50:52.09 DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, _
strac, strxls, True, strrange
上記でインポート エラーになるので引数のacImportのところに、
作成したインポート定義にしたいのですができるのでしょうか
strac, strxls, True, strrange
上記でインポート エラーになるので引数のacImportのところに、
作成したインポート定義にしたいのですができるのでしょうか
150デフォルトの名無しさん
2013/09/07(土) 03:42:11.28 よし
151デフォルトの名無しさん
2013/09/07(土) 16:59:26.27 そもそもワークシート変換にインポート定義とかないだろ
152デフォルトの名無しさん
2013/09/09(月) 01:46:05.73 Accessの初心者です。
レポート印刷でページヘッダーのコードが変わったタイミングで改ページしたい
かつ詳細の明細行は4レコードだけで改ページさせる、両方の条件を満たせるには、
どうやって作成したらよいかご教授お願いします。
レポート印刷でページヘッダーのコードが変わったタイミングで改ページしたい
かつ詳細の明細行は4レコードだけで改ページさせる、両方の条件を満たせるには、
どうやって作成したらよいかご教授お願いします。
153デフォルトの名無しさん
2013/09/09(月) 02:08:51.60 ページヘッダーじゃなくて、その項目でグループ化してヘッダー作る
そのヘッダーかフッターで改ページを設定する
詳細の高さを4行分になるようにヘッダ、フッタや余白を調整する
つか、VBAまったく関係ない話
そのヘッダーかフッターで改ページを設定する
詳細の高さを4行分になるようにヘッダ、フッタや余白を調整する
つか、VBAまったく関係ない話
154デフォルトの名無しさん
2013/09/09(月) 07:18:08.57155デフォルトの名無しさん
2013/09/09(月) 13:03:59.99 VBAを一言で表すと
156デフォルトの名無しさん
2013/09/09(月) 13:20:44.56 >>154
マジレスしといてやるが、VBAでやるよりよっぽど>>153の方法の方が良いぞ
だがあえてVBAでやりたいなら
明細セクションの最初と最後に改ページコントロール(改ページ1,2)を配置して
Dim 行数 As Integer
Dim 前コード
Private Sub レポートヘッダー_Format(Cancel As Integer, FormatCount As Integer)
Me.改ページ1.Visible = False
Me.改ページ2.Visible = False
前コード = Me.フィールド5
End Sub
Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer)
If Me.フィールド5 <> 前コード Then
Me.改ページ1.Visible = True
行数 = 0
Else
Me.改ページ1.Visible = False
End If
前コード = Me.フィールド5
行数 = 行数 + 1
If 行数 > 4 Then
Me.改ページ2.Visible = True
行数 = 0
Else
Me.改ページ2.Visible = False
End If
End Sub
こんな感じ。この例ではフィールド5が変わったら改ページな
マジレスしといてやるが、VBAでやるよりよっぽど>>153の方法の方が良いぞ
だがあえてVBAでやりたいなら
明細セクションの最初と最後に改ページコントロール(改ページ1,2)を配置して
Dim 行数 As Integer
Dim 前コード
Private Sub レポートヘッダー_Format(Cancel As Integer, FormatCount As Integer)
Me.改ページ1.Visible = False
Me.改ページ2.Visible = False
前コード = Me.フィールド5
End Sub
Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer)
If Me.フィールド5 <> 前コード Then
Me.改ページ1.Visible = True
行数 = 0
Else
Me.改ページ1.Visible = False
End If
前コード = Me.フィールド5
行数 = 行数 + 1
If 行数 > 4 Then
Me.改ページ2.Visible = True
行数 = 0
Else
Me.改ページ2.Visible = False
End If
End Sub
こんな感じ。この例ではフィールド5が変わったら改ページな
157デフォルトの名無しさん
2013/09/09(月) 13:22:34.74 う。 は空白に置換してくれ
つか普通に貼り付けできなくなったのかよ
つか普通に貼り付けできなくなったのかよ
158デフォルトの名無しさん
2013/09/10(火) 00:16:36.47 >>156
もう少し教えてください。。。
明細が5明細あった場合、
コードA
00001
00002
00003
00004
改ページ
コードA
00005
改ページ
コードB
00001
00002
00003
改ページ
コードC
00001
こんな感じで出したいのですが
もう少し教えてください。。。
明細が5明細あった場合、
コードA
00001
00002
00003
00004
改ページ
コードA
00005
改ページ
コードB
00001
00002
00003
改ページ
コードC
00001
こんな感じで出したいのですが
159デフォルトの名無しさん
2013/09/10(火) 02:26:08.63160sage
2013/09/17(火) 19:50:09.24 Accessのクエリで、「クエリの並び替え条件を動的に変更する」方法を
教えて頂けないでしょうか。
現状は、下記のクエリを作成しましたが、並び替え条件として判定されません。
SELECT * FROM テーブル1
ORDER BY FORMS!画面1!テキスト1.Value
よろしくお願いします。
教えて頂けないでしょうか。
現状は、下記のクエリを作成しましたが、並び替え条件として判定されません。
SELECT * FROM テーブル1
ORDER BY FORMS!画面1!テキスト1.Value
よろしくお願いします。
161デフォルトの名無しさん
2013/09/17(火) 20:22:56.49162デフォルトの名無しさん
2013/09/17(火) 21:44:28.61163160
2013/09/17(火) 22:09:44.82164デフォルトの名無しさん
2013/10/20(日) 21:44:25.62 株価のデータベースを作りVBAで銘柄の抽出をしています
VBAを呼ぶ度にSQLで株価データを読み込んでるので日に何度もやると結構無駄です
そこでフォームをロードした時に纏めて銘柄毎のクラスオブジェクトを作り
フォームをアンロードするまで保持したいのですが可能でしょうか?
変数の保持はStaticで良いようですが、配列化してるオブジェクトの保持はどのようにするのでしょうか?
VBAを呼ぶ度にSQLで株価データを読み込んでるので日に何度もやると結構無駄です
そこでフォームをロードした時に纏めて銘柄毎のクラスオブジェクトを作り
フォームをアンロードするまで保持したいのですが可能でしょうか?
変数の保持はStaticで良いようですが、配列化してるオブジェクトの保持はどのようにするのでしょうか?
165デフォルトの名無しさん
2013/10/20(日) 22:06:18.65 view
166デフォルトの名無しさん
2013/10/20(日) 22:10:51.15 すごいVBA発見w
http://esuafai.digi2.jp/
http://esuafai.digi2.jp/
167164
2013/10/20(日) 22:56:11.74 フォームと連動させるのではなく、最初に実行させる時にStaticで保持し
2度目からオブジェクトが空ではないならデータを取りに行かずに
値渡しするようにして解決しました
2度目からオブジェクトが空ではないならデータを取りに行かずに
値渡しするようにして解決しました
168デフォルトの名無しさん
2013/10/21(月) 00:11:20.78 なんか色々つっこみどろこ満載だな
まあ、動いてるならいいか
まあ、動いてるならいいか
169デフォルトの名無しさん
2013/11/05(火) 18:56:30.39 VBAでリモートのデータベースにトランザクション処理を開始して、コミット/ロールバックするのはわかりました。
これをマクロのアクションだけではできないですよね。
Vbaを嫌がる仲間が同一プロジェクト内にいるので。
これをマクロのアクションだけではできないですよね。
Vbaを嫌がる仲間が同一プロジェクト内にいるので。
170デフォルトの名無しさん
2013/11/16(土) 13:17:48.50 初心者ですみません。コンパイルってなんですか?
171デフォルトの名無しさん
2013/11/16(土) 13:19:54.03 疲労困憊る
172デフォルトの名無しさん
2013/11/16(土) 13:40:52.90 コンパイルダー・オン
173デフォルトの名無しさん
2013/11/16(土) 15:59:42.46 昔広島にあったSTGや落ちゲーキャラゲー開発してた会社
174デフォルトの名無しさん
2013/11/16(土) 17:51:44.57 あったなぁ
175デフォルトの名無しさん
2013/11/16(土) 18:27:38.04 脳みそコネコネの会社?なくなったのか?
176デフォルトの名無しさん
2013/11/16(土) 18:29:57.41 マジレスしとこう
>>170
ソースプログラムを実行可能形式に変換する事
簡単に言えば、お前が書いたプログラムを実行できるように準備する作業
ACCESSなら勝手にやってくれるから、意識する必要はない
>>170
ソースプログラムを実行可能形式に変換する事
簡単に言えば、お前が書いたプログラムを実行できるように準備する作業
ACCESSなら勝手にやってくれるから、意識する必要はない
177デフォルトの名無しさん
2013/11/16(土) 19:25:11.96 >>175
1998年に無くなって、落ちゲー関係はセガが買い取った
1998年に無くなって、落ちゲー関係はセガが買い取った
178デフォルトの名無しさん
2013/11/16(土) 21:35:05.65179デフォルトの名無しさん
2013/11/25(月) 21:45:32.92 Accessの場合、ソースを中間コードに変換する作業をコンパイルと呼んでる。
その過程でソースにエラーがあるかどうかをチェックするから
実行時エラーとかの対策にはコンパイル通しておいた方が良いと思う。
その過程でソースにエラーがあるかどうかをチェックするから
実行時エラーとかの対策にはコンパイル通しておいた方が良いと思う。
180デフォルトの名無しさん
2013/11/26(火) 02:50:39.57 実行時エラーってのは普通、コンパイルは通った後に発生するエラーの事を言うんだが
まあ、実行時にコンパイルエラー出るのもなんだし、事前にコンパイルしとけってのは同意するが
まあ、実行時にコンパイルエラー出るのもなんだし、事前にコンパイルしとけってのは同意するが
181デフォルトの名無しさん
2014/01/31(金) 12:48:48.93 Access独自の便利機能なのか分かりませんが
テキスト型のフィールドで日付が含まれる文を「日付順にソート」出来るのですが
これをVBAでやるにはどうしたら良いのでしょうか?
テキストに規則性が無いためにOrderByなどでは対応出来ません
テキストフィールドに入ってる文字列の例:
"第3四半期決算を1月10日に発表済み"
"第3四半期決算を2月10日"
"本決算を2月13日"
"---"
このようになってても、テーブルのフィールドを選択してソートが出来るとは初めて知ったのですが
VBAからやる方法が分かりません
テキスト型のフィールドで日付が含まれる文を「日付順にソート」出来るのですが
これをVBAでやるにはどうしたら良いのでしょうか?
テキストに規則性が無いためにOrderByなどでは対応出来ません
テキストフィールドに入ってる文字列の例:
"第3四半期決算を1月10日に発表済み"
"第3四半期決算を2月10日"
"本決算を2月13日"
"---"
このようになってても、テーブルのフィールドを選択してソートが出来るとは初めて知ったのですが
VBAからやる方法が分かりません
182デフォルトの名無しさん
2014/01/31(金) 13:00:11.86183デフォルトの名無しさん
2014/01/31(金) 15:57:33.35 辞書順と偶然一致しただけなんじゃないの
184デフォルトの名無しさん
2014/01/31(金) 18:24:40.76 そもそも
>テキスト型のフィールドで日付が含まれる文を「日付順にソート」出来るの
これが怪しいんだが
どこでこんな事教えられたんだ
>テキスト型のフィールドで日付が含まれる文を「日付順にソート」出来るの
これが怪しいんだが
どこでこんな事教えられたんだ
185デフォルトの名無しさん
2014/01/31(金) 19:17:48.82 そうだな、俺も出来るとは思ってなかった
しかし、実際その通りに動くのだから仕方がないw
だから最初に「Access独自なのか」と思ってるのだが
これが出来るのは2013だからかもしれない
しかし、実際その通りに動くのだから仕方がないw
だから最初に「Access独自なのか」と思ってるのだが
これが出来るのは2013だからかもしれない
186デフォルトの名無しさん
2014/01/31(金) 19:30:53.46187デフォルトの名無しさん
2014/01/31(金) 19:54:34.74 分かった。ググったら出てきた
2007から出来るらしいけど、勝手に日付を解釈してるのではなく
正確にはテキスト部分を無視して数値順に並び替えてる、らしい
2007から出来るらしいけど、勝手に日付を解釈してるのではなく
正確にはテキスト部分を無視して数値順に並び替えてる、らしい
188デフォルトの名無しさん
2014/01/31(金) 21:40:18.27 ということはデータを統一しないといけませんね
189デフォルトの名無しさん
2014/01/31(金) 22:33:10.45 ソートの問題じゃなくて暗黙の型変換の問題な気はするけど
>テキスト部分を無視して数値順に並び替えてる
普通にソートすればテキストでソートするんだが
どうやったらそんなソートするんだ?
>テキスト部分を無視して数値順に並び替えてる
普通にソートすればテキストでソートするんだが
どうやったらそんなソートするんだ?
190デフォルトの名無しさん
2014/01/31(金) 22:39:33.21 どんな型変換すればそうなるのか、逆に聞いてみたい
191デフォルトの名無しさん
2014/02/01(土) 13:42:22.69 あいまいな検索をしたい場合はLike *検索文字列* だけど
これだと、先頭文字列に外字が含まれてる場合は検索されない
のだけれど、回避方法はある?
これだと、先頭文字列に外字が含まれてる場合は検索されない
のだけれど、回避方法はある?
192デフォルトの名無しさん
2014/02/02(日) 23:15:37.86193デフォルトの名無しさん
2014/02/03(月) 09:59:08.52194デフォルトの名無しさん
2014/02/03(月) 16:26:19.10 >>193
かるく試したが再現しないな
OSかACCESSのバージョンによる問題か
単にお前の勘違いか
ACCESSでも限定された状況でのバグか
MDB(ACCDB)がぶっ壊れてるか
まあ、単に検索できないレコードに不正なデータが混じってるだけだと思うが
かるく試したが再現しないな
OSかACCESSのバージョンによる問題か
単にお前の勘違いか
ACCESSでも限定された状況でのバグか
MDB(ACCDB)がぶっ壊れてるか
まあ、単に検索できないレコードに不正なデータが混じってるだけだと思うが
195191
2014/02/03(月) 18:14:37.26 一応解決したっぽい
原因として、dbmagicにodbc経由でリンクテーブルに
したのがダメらしい
リンクテーブルをやめて、テーブルデータごとインポートしたら
通常通りに検索できた
みんなありがと
原因として、dbmagicにodbc経由でリンクテーブルに
したのがダメらしい
リンクテーブルをやめて、テーブルデータごとインポートしたら
通常通りに検索できた
みんなありがと
196デフォルトの名無しさん
2014/02/03(月) 18:49:01.92 喰らえカスども、奥義「後出し特殊条件!」
197デフォルトの名無しさん
2014/02/03(月) 18:58:14.00 生データインポ時に変換されただけとかは?
つまりODBC接続でもデータを相応しい変換しておけば解決できるのかも
つまりODBC接続でもデータを相応しい変換しておけば解決できるのかも
198デフォルトの名無しさん
2014/02/03(月) 22:22:24.80 そもそも外字サポートされてるのかどうかしらんが
たんにdbmagicで外字がバグってただけだろ
たんにdbmagicで外字がバグってただけだろ
199デフォルトの名無しさん
2014/02/08(土) 21:20:31.59 SQLのReplace Intoに相当する物って有るんですか?
200デフォルトの名無しさん
2014/02/10(月) 01:08:00.70 フォームに伝票基本情報
サブフォームに詳細というか明細欄(だいたい30レコードくらい)配置して、
1売上1レコードになるようにしています。
サブフォームに、
内容 金額 委託 委託金
とフィールドがあり、委託したときに入力するですが、
(この委託の部分も、
1売上(外注)1レコードにできませんか?
サブフォームに詳細というか明細欄(だいたい30レコードくらい)配置して、
1売上1レコードになるようにしています。
サブフォームに、
内容 金額 委託 委託金
とフィールドがあり、委託したときに入力するですが、
(この委託の部分も、
1売上(外注)1レコードにできませんか?
201デフォルトの名無しさん
2014/02/10(月) 01:42:27.90 誰か翻訳
202デフォルトの名無しさん
2014/02/10(月) 11:01:12.98203デフォルトの名無しさん
2014/02/10(月) 11:05:35.28204デフォルトの名無しさん
2014/02/12(水) 15:25:40.29206デフォルトの名無しさん
2014/02/27(木) 09:57:10.80 練習がてらVBAでユーザー定義関数をつくろうかと思ったんですが思った通りのものが作れず困っています。
というか簡略化できないもんかと思っているわけですが。
OS XP
Access 2003
Function AAA(Parm01,Parm02,Parm03...) AS String ’parmは最終的にParm24までできますがここでは簡略化
If 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をまとめて判定するにはどのようにするのが美しいでしょう。
ご教授頂ければ嬉しいです。
というか簡略化できないもんかと思っているわけですが。
OS XP
Access 2003
Function AAA(Parm01,Parm02,Parm03...) AS String ’parmは最終的にParm24までできますがここでは簡略化
If 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をまとめて判定するにはどのようにするのが美しいでしょう。
ご教授頂ければ嬉しいです。
207デフォルトの名無しさん
2014/02/27(木) 11:20:17.13 >>206
まず24個も引数取るのを美しいか疑問に思えよ
その24個をまとめたコレクションなり配列なり用意するとか
その24個にあまり関連がないないならParamArrayつかえ
(その前提でまとめて同じ引数にするのおかしいけどな)
まず24個も引数取るのを美しいか疑問に思えよ
その24個をまとめたコレクションなり配列なり用意するとか
その24個にあまり関連がないないならParamArrayつかえ
(その前提でまとめて同じ引数にするのおかしいけどな)
208デフォルトの名無しさん
2014/02/27(木) 11:34:23.61 >>207
ParamArrayというのがあるんですね。ありがとうございます。調べてみます!
美しさに関しては超ごもっともなんですが、如何せん元のデータをいじる権限がなくてですね。
元データの開発者をぐーで殴りたいレベル。
識別コード(一意)|24ヶ月前|23ヶ月前|22ヶ月前|21ヶ月前|・・・|当月|
ってな感じなんですよ。
んでこの○ヶ月前ってのがParmになるんですけどコレクションにせよ配列にせよ、結局は同じことなので
AAA(24ヶ月前,...当月)ってやっちまったほうが早いかなと。
大変助かりました。ありがとうございます。
ParamArrayというのがあるんですね。ありがとうございます。調べてみます!
美しさに関しては超ごもっともなんですが、如何せん元のデータをいじる権限がなくてですね。
元データの開発者をぐーで殴りたいレベル。
識別コード(一意)|24ヶ月前|23ヶ月前|22ヶ月前|21ヶ月前|・・・|当月|
ってな感じなんですよ。
んでこの○ヶ月前ってのがParmになるんですけどコレクションにせよ配列にせよ、結局は同じことなので
AAA(24ヶ月前,...当月)ってやっちまったほうが早いかなと。
大変助かりました。ありがとうございます。
209デフォルトの名無しさん
2014/02/27(木) 14:06:57.28 VBAにそんなもんあんのか?構造体使うのが普通だろ
ただしVBAの構造体は遅いけどな
ただしVBAの構造体は遅いけどな
210デフォルトの名無しさん
2014/02/27(木) 14:09:36.05 有りますね、サーセンw
211デフォルトの名無しさん
2014/02/27(木) 15:11:10.30 ACCESSなら元データはテーブルじゃないのか
だったらレコードセットなり渡せば済む話だとおもうが
だったらレコードセットなり渡せば済む話だとおもうが
212デフォルトの名無しさん
2014/03/12(水) 22:15:26.86ID:W4Gp9YVD 設計の悪いDBだとたまに見る形だな
一々縦横変換とかしなきゃならんやつ
一々縦横変換とかしなきゃならんやつ
213デフォルトの名無しさん
2014/06/30(月) 22:53:54.92ID:VWrrXenH スイマセン。エクセルからACCESSのテーブルにADO接続してエクセルの行(256文字以上のテキスト)をINSERTしようとしています。ACCESS側で受けるフィールドをメモ型にしましたがエクセルからINSERTしても255文字以内しか残りません。
214デフォルトの名無しさん
2014/06/30(月) 22:54:27.08ID:VWrrXenH 続きです。
何かすっごく基本的な凡ミスな気がしてるのですが、何かここらあたりありますか?
エスパーな質問で申し訳ないです。。
何かすっごく基本的な凡ミスな気がしてるのですが、何かここらあたりありますか?
エスパーな質問で申し訳ないです。。
215デフォルトの名無しさん
2014/07/01(火) 00:30:57.04ID:0DCE/lPo メモ型はSQL使うと切れたり頭の255しか判定してくれなかったりするからなあ
エクスポートインポートとかはバグで切れちゃうし
普通に文字列INSERTで入るか試してみて
エクスポートインポートとかはバグで切れちゃうし
普通に文字列INSERTで入るか試してみて
216デフォルトの名無しさん
2014/07/21(月) 20:33:39.99ID:ufWzAtLi 171 名前:デフォルトの名無しさん[] 投稿日:2014/07/17(木) 02:49:51.87 ID:TFQGtdi0
http://www.ynsk.co.jp/nsk/knowhow/sendmail/sendmail5.htm
こちらのサイトに公開されてるアクセスのコードなんですが
Windowsの標準DLLを利用して、メールを受信、送信するプログラムを
実行したいのですが、うまく動かせません。
他のスレッドで質問しましたが、こちらに誘導されてきました。
無償で公開されてるソースコードが動かないのですが、わかる有志の方、いらっしゃいましたら
使い方おしえてください。
元スレッド:Excel VBA 質問スレ Part34
http://www.ynsk.co.jp/nsk/knowhow/sendmail/sendmail5.htm
こちらのサイトに公開されてるアクセスのコードなんですが
Windowsの標準DLLを利用して、メールを受信、送信するプログラムを
実行したいのですが、うまく動かせません。
他のスレッドで質問しましたが、こちらに誘導されてきました。
無償で公開されてるソースコードが動かないのですが、わかる有志の方、いらっしゃいましたら
使い方おしえてください。
元スレッド:Excel VBA 質問スレ Part34
217デフォルトの名無しさん
2014/07/21(月) 20:44:10.09ID:KfqA2p34 どう動かないのかぐらい書けや
218デフォルトの名無しさん
2014/07/21(月) 21:01:38.49ID:ufWzAtLi ●MDBファイルの内容
・ メールユーザ(テーブル)……利用するメールアカウントの情報を保存します。
※ 以下のように設定して下さい。
メールアドレス
POP3サーバ
ユーザ
パスワード
SMTPサーバ
リターン ← 受信時にサーバなどから通知されるメッセージが設定されます。
受信要求 ← 0(受信しない)または-1(受信する)を設定して下さい。
仮受信 ← -1(メールをサーバから消さない)または0(消す)を設定して下さい。
上記の説明通り、テーブルに必要事項を記入しましたが反応しません。
コンパイルはしました。UACを切ってファイルのアクセス権限をeveryoneに変更しました。。
動作確認済み環境が、Win2000とXPProのようで、office97、2000では動作の確認が取れてるみたいです。
自分の環境:Win7pro office2010pro
・ メールユーザ(テーブル)……利用するメールアカウントの情報を保存します。
※ 以下のように設定して下さい。
メールアドレス
POP3サーバ
ユーザ
パスワード
SMTPサーバ
リターン ← 受信時にサーバなどから通知されるメッセージが設定されます。
受信要求 ← 0(受信しない)または-1(受信する)を設定して下さい。
仮受信 ← -1(メールをサーバから消さない)または0(消す)を設定して下さい。
上記の説明通り、テーブルに必要事項を記入しましたが反応しません。
コンパイルはしました。UACを切ってファイルのアクセス権限をeveryoneに変更しました。。
動作確認済み環境が、Win2000とXPProのようで、office97、2000では動作の確認が取れてるみたいです。
自分の環境:Win7pro office2010pro
219デフォルトの名無しさん
2014/07/21(月) 21:04:27.24ID:KfqA2p34220デフォルトの名無しさん
2014/07/21(月) 21:44:14.81ID:ufWzAtLi メール受信(更新クエリというのが有るようですが、そのクエリが見当たりません。初歩的なところで止まっているような気はするのですが、外部からのデータ受ける部分のdllがwin7で動作できない理由と読んでるのですが。ご教授願います。
221デフォルトの名無しさん
2014/07/21(月) 22:38:52.22ID:DpfIQ25M ・ 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にした方がディスク負荷は小さくなります
※ このモジュールを実行するためには、作業用のフォルダが必要です。
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にした方がディスク負荷は小さくなります
222デフォルトの名無しさん
2014/07/22(火) 00:54:13.17ID:aPcZAjL/ フォルダのアクセス権限の確認→念のため、everyoneに変更
ディスク負荷による動作停止の可能性→-1から0に変更したが変化なし
そもそも、動作環境は古いマシンで行われていたので
マシンスペックのリソース不足は考え難いと考えました。
もう少し、調べてみます。winsock.dllあたりが怪しいです。
パケットキャップとる以前に、ハードディスクの動作に変化が見られない。
ディスク負荷による動作停止の可能性→-1から0に変更したが変化なし
そもそも、動作環境は古いマシンで行われていたので
マシンスペックのリソース不足は考え難いと考えました。
もう少し、調べてみます。winsock.dllあたりが怪しいです。
パケットキャップとる以前に、ハードディスクの動作に変化が見られない。
223デフォルトの名無しさん
2014/07/22(火) 02:35:29.84ID:aPcZAjL/ お騒がせしました。
原因は、accessの使い方がわからないまま
クエリが非表示であることに気付かず、試そうとしたためです。
同じ環境をVM作成し、対象のクエリのSQLクエリが見えたのでそれをぱくりました。
以上
原因は、accessの使い方がわからないまま
クエリが非表示であることに気付かず、試そうとしたためです。
同じ環境をVM作成し、対象のクエリのSQLクエリが見えたのでそれをぱくりました。
以上
224デフォルトの名無しさん
2014/07/27(日) 15:01:49.68ID:1777RigF 基本的なことと思いますが、教えてください。
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と返ってくるようにするには
イミディエイトウインドウに、どう入力すればいいんでしょうか。
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と返ってくるようにするには
イミディエイトウインドウに、どう入力すればいいんでしょうか。
225デフォルトの名無しさん
2014/07/27(日) 16:34:57.58ID:fFsyojt4 ? @FuncSyohizei(100.0)
226224
2014/07/27(日) 18:14:36.50ID:02SmaVb3 いろいろやってみて、解決しました。
フォームモジュールに、これを作ったのがいけなかったようです。
標準モジュールにコピペして、?FuncSyohizei(100)したら
105が出ました。
フォームモジュールに、これを作ったのがいけなかったようです。
標準モジュールにコピペして、?FuncSyohizei(100)したら
105が出ました。
227デフォルトの名無しさん
2014/07/28(月) 00:30:37.26ID:ZjuZ26GB Date, Now って
Functionじゃなく
Propertyなのな
Functionじゃなく
Propertyなのな
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【高田馬場・女性ライバー刺殺】「パソコンクラブの目立たない陰キャでした」サブカル少年が「闇堕ちした日」 ★3 [ぐれ★]
- 【世論調査】原発再稼働に賛成41%、反対29% 男女で賛否逆転… [BFU★]
- 商品券配布「歴代首相の慣例」 自民鳥取、舞立昇治参院議員 [どどん★]
- 【日米】関税が無ければカリフォルニア米5kg1295円 消費者には嬉しい価格だが、日本の農家への打撃の懸念も★6 [シャチ★]
- 「修学旅行が万博…USJが良かった」辛辣批判なぜ?55年前「月の石」超に期待も…メルカリ転売相次ぐ [七波羅探題★]
- 【社民】福島瑞穂“男が産めるのうんこだけ”大炎上コールの集会に参加も「あずかり知らない」逃げる説明に批判殺到 [ぐれ★]
- 【実況】博衣こよりのえちえち生誕Live振り返り🧪
- 「日本沈没」の逆に「日本海隆起」して大陸と地続きになったらどこの国の領土になるの?? [377482965]
- 日本人の「他者への寛容さ」衝撃の世界151位。そのくせ自分は「いい人」だと自己認識してる異常者の民族😨 [441660812]
- A V女優「銀座の老婆病院で整形手術したら失敗されて不細工に。予定してた作品💕の撮影をキャンセルした。」😭 [153490809]
- 【運命丿分岐】安倍シンゾーは、どうしたら助かっていたのか? [219241683]
- 人手不足がヤバすぎるから日本人の「おもてなし」のサービス質に期待しないほうがいいぞ、飲食店やホテルとか [943688309]