[過去ログ] Access VBA 質問スレ Part1 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
139: 【だん吉】 2013/09/01(日)09:31 AAS
自分はそうしてる
140: 2013/09/01(日)10:05 AAS
ウィザードにまかせてるとひどい目にあう
141: 2013/09/01(日)10:35 AAS
Access初心者なので、そのVBAのコードの書き方がわかりません
教えていただけませんか
142: 2013/09/01(日)10:36 AAS
いいですよ
143: 132 2013/09/01(日)19:42 AAS
>>131
www.nurs.or.jp/~ppoy/access/access/acX014.html
144: 2013/09/01(日)20:23 AAS
インポート漏れするデータ欲しい
試してみたい
145
(1): 2013/09/01(日)23:14 AAS
数字型のとこに文字入ってるデータとか用意したらいいんじゃね
146: 2013/09/01(日)23:38 AAS
>>145
うーん、そういうデータをインポートすると普通にエラーとして扱われて
「テーブル名_$インポート エラー」 ってテーブルが生成されるから
インポート漏れのレコードがわからなくて困る、なんて状況にはならないんだよね
147: 2013/09/02(月)10:35 AAS
インポート漏れのレコードがわからなくて困る、なんて状況になると言ってる人はいないが
148: 2013/09/02(月)10:57 AAS
おもろいな
149: 2013/09/05(木)23:50 AAS
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, _
strac, strxls, True, strrange
上記でインポート エラーになるので引数のacImportのところに、
作成したインポート定義にしたいのですができるのでしょうか
150: 2013/09/07(土)03:42 AAS
よし
151: 2013/09/07(土)16:59 AAS
そもそもワークシート変換にインポート定義とかないだろ
152: 2013/09/09(月)01:46 AAS
Accessの初心者です。
レポート印刷でページヘッダーのコードが変わったタイミングで改ページしたい
かつ詳細の明細行は4レコードだけで改ページさせる、両方の条件を満たせるには、
どうやって作成したらよいかご教授お願いします。
153
(2): 2013/09/09(月)02:08 AAS
ページヘッダーじゃなくて、その項目でグループ化してヘッダー作る
そのヘッダーかフッターで改ページを設定する

詳細の高さを4行分になるようにヘッダ、フッタや余白を調整する

つか、VBAまったく関係ない話
154
(1): 2013/09/09(月)07:18 AAS
>>153
ここはVBAのスレですよね?VBAと関係ある話をしてください。
VBAとまったく関係ない話をしたのはあなたです。VBAでお願いします。
155: 2013/09/09(月)13:03 AAS
VBAを一言で表すと
156
(2): 2013/09/09(月)13:20 AAS
>>154
マジレスしといてやるが、VBAでやるよりよっぽど>>153の方法の方が良いぞ
だがあえてVBAでやりたいなら
明細セクションの最初と最後に改ページコントロール(改ページ1,2)を配置して
Dim 行数 As Integer
Dim 前コード
Private Sub レポートヘッダー_Format(Cancel As Integer, FormatCount As Integer)
省21
157: 2013/09/09(月)13:22 AAS
う。 は空白に置換してくれ
つか普通に貼り付けできなくなったのかよ
158
(1): 2013/09/10(火)00:16 AAS
>>156
もう少し教えてください。。。
明細が5明細あった場合、

コードA
00001
00002
00003
省13
159: 2013/09/10(火)02:26 AAS
>>158
>>156が理解できないなら、VBAでやるのやめとけ
160
(3): sage 2013/09/17(火)19:50 AAS
Accessのクエリで、「クエリの並び替え条件を動的に変更する」方法を
教えて頂けないでしょうか。

現状は、下記のクエリを作成しましたが、並び替え条件として判定されません。

SELECT * FROM テーブル1
ORDER BY FORMS!画面1!テキスト1.Value

よろしくお願いします。
161
(1): 2013/09/17(火)20:22 AAS
>>160
SELECT * FROM テーブル1
ORDER BY FORMS!画面1!テキスト1.Value

これってどこに書いてるの?
162
(1): 2013/09/17(火)21:44 AAS
>>160
どうしてもやりたいならQueryDefとか使えばできるかもしれんが
動的にSQLつくってDoCmd.RunSqlでやる方がいいんじゃね
163: 160 2013/09/17(火)22:09 AAS
>>161
Accessの「クエリ」で定義していました。

>>162
ご指摘を受けた点を参考にクエリを作成した所、うまく行きました。
ありがとうございます。
164
(1): 2013/10/20(日)21:44 AAS
株価のデータベースを作りVBAで銘柄の抽出をしています
VBAを呼ぶ度にSQLで株価データを読み込んでるので日に何度もやると結構無駄です

そこでフォームをロードした時に纏めて銘柄毎のクラスオブジェクトを作り
フォームをアンロードするまで保持したいのですが可能でしょうか?

変数の保持はStaticで良いようですが、配列化してるオブジェクトの保持はどのようにするのでしょうか?
165: 2013/10/20(日)22:06 AAS
view
166: 2013/10/20(日)22:10 AAS
すごいVBA発見w
外部リンク:esuafai.digi2.jp
167: 164 2013/10/20(日)22:56 AAS
フォームと連動させるのではなく、最初に実行させる時にStaticで保持し
2度目からオブジェクトが空ではないならデータを取りに行かずに
値渡しするようにして解決しました
168: 2013/10/21(月)00:11 AAS
なんか色々つっこみどろこ満載だな
まあ、動いてるならいいか
169: 2013/11/05(火)18:56 AAS
VBAでリモートのデータベースにトランザクション処理を開始して、コミット/ロールバックするのはわかりました。
これをマクロのアクションだけではできないですよね。
Vbaを嫌がる仲間が同一プロジェクト内にいるので。
170
(1): 2013/11/16(土)13:17 AAS
初心者ですみません。コンパイルってなんですか?
171: 2013/11/16(土)13:19 AAS
疲労困憊る
172: 2013/11/16(土)13:40 AAS
コンパイルダー・オン
173: 2013/11/16(土)15:59 AAS
昔広島にあったSTGや落ちゲーキャラゲー開発してた会社
174: 2013/11/16(土)17:51 AAS
あったなぁ
175
(1): 2013/11/16(土)18:27 AAS
脳みそコネコネの会社?なくなったのか?
176
(1): 2013/11/16(土)18:29 AAS
マジレスしとこう
>>170
ソースプログラムを実行可能形式に変換する事

簡単に言えば、お前が書いたプログラムを実行できるように準備する作業
ACCESSなら勝手にやってくれるから、意識する必要はない
177: 2013/11/16(土)19:25 AAS
>>175
1998年に無くなって、落ちゲー関係はセガが買い取った
178: 2013/11/16(土)21:35 AAS
>>176
なるほど。では、あえてコンパイルという作業をしなくてもOK
ってことですね。
あるがとうございます!
179: 2013/11/25(月)21:45 AAS
Accessの場合、ソースを中間コードに変換する作業をコンパイルと呼んでる。
その過程でソースにエラーがあるかどうかをチェックするから
実行時エラーとかの対策にはコンパイル通しておいた方が良いと思う。
180: 2013/11/26(火)02:50 AAS
実行時エラーってのは普通、コンパイルは通った後に発生するエラーの事を言うんだが
まあ、実行時にコンパイルエラー出るのもなんだし、事前にコンパイルしとけってのは同意するが
181
(2): 2014/01/31(金)12:48 AAS
Access独自の便利機能なのか分かりませんが
テキスト型のフィールドで日付が含まれる文を「日付順にソート」出来るのですが
これをVBAでやるにはどうしたら良いのでしょうか?

テキストに規則性が無いためにOrderByなどでは対応出来ません
テキストフィールドに入ってる文字列の例:

"第3四半期決算を1月10日に発表済み"
"第3四半期決算を2月10日"
省4
182: 2014/01/31(金)13:00 AAS
>>181
>テキストに規則性が無いためにOrderByなどでは対応出来ません

最初に書いたSQLが悪かったみたいで
これで出来ました。サーセン
183: 2014/01/31(金)15:57 AAS
辞書順と偶然一致しただけなんじゃないの
184: 2014/01/31(金)18:24 AAS
そもそも
>テキスト型のフィールドで日付が含まれる文を「日付順にソート」出来るの
これが怪しいんだが
どこでこんな事教えられたんだ
185: 2014/01/31(金)19:17 AAS
そうだな、俺も出来るとは思ってなかった
しかし、実際その通りに動くのだから仕方がないw

だから最初に「Access独自なのか」と思ってるのだが
これが出来るのは2013だからかもしれない
186: 2014/01/31(金)19:30 AAS
テキスト型だから、文字数順に並び替えてるのかと思って試してみた

"本決算を2月13日"、これを"本決算を1月13日"に書き換えて試すと
日付順に並び替わる>>181の例で言うと真ん中に来る

更に"第3四半期決算を2月10日"、これを"第2四半期決算を2月10日"
とやっても日付順に並び替わるので間違いない、>>181の例で言うと一番最初に来る

しかし、2月3日と02月03日表記では並び方が変わる
具体的にはMD表記郡の中でソートされ、MMDD表記郡の中でソートされる
187: 2014/01/31(金)19:54 AAS
分かった。ググったら出てきた
2007から出来るらしいけど、勝手に日付を解釈してるのではなく
正確にはテキスト部分を無視して数値順に並び替えてる、らしい
188: 2014/01/31(金)21:40 AAS
ということはデータを統一しないといけませんね
189: 2014/01/31(金)22:33 AAS
ソートの問題じゃなくて暗黙の型変換の問題な気はするけど
>テキスト部分を無視して数値順に並び替えてる
普通にソートすればテキストでソートするんだが
どうやったらそんなソートするんだ?
190: 2014/01/31(金)22:39 AAS
どんな型変換すればそうなるのか、逆に聞いてみたい
191
(2): 2014/02/01(土)13:42 AAS
あいまいな検索をしたい場合はLike *検索文字列* だけど
これだと、先頭文字列に外字が含まれてる場合は検索されない
のだけれど、回避方法はある?
192
(1): 2014/02/02(日)23:15 AAS
>>191
ちゃんと検索できるっぽいけど
先頭文字に外字ってのは、検索対象のテーブルデータなのか、Likeに指定する文字列なのか?
193
(1): 2014/02/03(月)09:59 AAS
>>192
先頭に含まれる外字は検索対象のテーブルデータです
文字列の中間に外字が含まれる場合は検索できるのに、
先頭だと検索されない減少が発生する…
194: 2014/02/03(月)16:26 AAS
>>193
かるく試したが再現しないな
OSかACCESSのバージョンによる問題か
単にお前の勘違いか
ACCESSでも限定された状況でのバグか
MDB(ACCDB)がぶっ壊れてるか

まあ、単に検索できないレコードに不正なデータが混じってるだけだと思うが
195: 191 2014/02/03(月)18:14 AAS
一応解決したっぽい

原因として、dbmagicにodbc経由でリンクテーブルに
したのがダメらしい
リンクテーブルをやめて、テーブルデータごとインポートしたら
通常通りに検索できた

みんなありがと
196: 2014/02/03(月)18:49 AAS
喰らえカスども、奥義「後出し特殊条件!」
197: 2014/02/03(月)18:58 AAS
生データインポ時に変換されただけとかは?
つまりODBC接続でもデータを相応しい変換しておけば解決できるのかも
198: 2014/02/03(月)22:22 AAS
そもそも外字サポートされてるのかどうかしらんが
たんにdbmagicで外字がバグってただけだろ
199
(2): 2014/02/08(土)21:20 AAS
SQLのReplace Intoに相当する物って有るんですか?
200
(1): 2014/02/10(月)01:08 AAS
フォームに伝票基本情報
サブフォームに詳細というか明細欄(だいたい30レコードくらい)配置して、
1売上1レコードになるようにしています。
サブフォームに、
内容 金額 委託 委託金
とフィールドがあり、委託したときに入力するですが、
(この委託の部分も、
省1
201: 2014/02/10(月)01:42 AAS
誰か翻訳
202
(1): 2014/02/10(月)11:01 AAS
>>199
そもそも標準的なSQLにそんな命令聞いた事ない
ACCESSでも聞いた事ない
203: 2014/02/10(月)11:05 AAS
>>200
なにがしたいか良くわからんが、サブデータシートとかサブフォームのネストとか
たぶんそれでできるんじゃね
204
(1): 2014/02/12(水)15:25 AAS
>>199
MySQLの独自実装か?
SQL ServerにもPostgreSQLにもないが・・・。

どんな動きかググってまで答える気にならない。
205: 2014/02/16(日)11:19 AAS
>>202
>>204
ググレカス
206
(1): 2014/02/27(木)09:57 AAS
練習がてらVBAでユーザー定義関数をつくろうかと思ったんですが思った通りのものが作れず困っています。
というか簡略化できないもんかと思っているわけですが。

OS XP
Access 2003

Function AAA(Parm01,Parm02,Parm03...) AS String ’parmは最終的にParm24までできますがここでは簡略化

If Parm01 = "S" or Parm01 = "A" then
     AAA = "1"
省12
207
(1): 2014/02/27(木)11:20 AAS
>>206
まず24個も引数取るのを美しいか疑問に思えよ
その24個をまとめたコレクションなり配列なり用意するとか
その24個にあまり関連がないないならParamArrayつかえ
(その前提でまとめて同じ引数にするのおかしいけどな)
208: 2014/02/27(木)11:34 AAS
>>207
ParamArrayというのがあるんですね。ありがとうございます。調べてみます!

美しさに関しては超ごもっともなんですが、如何せん元のデータをいじる権限がなくてですね。
元データの開発者をぐーで殴りたいレベル。

識別コード(一意)|24ヶ月前|23ヶ月前|22ヶ月前|21ヶ月前|・・・|当月|

ってな感じなんですよ。
んでこの○ヶ月前ってのがParmになるんですけどコレクションにせよ配列にせよ、結局は同じことなので
省2
209: 2014/02/27(木)14:06 AAS
VBAにそんなもんあんのか?構造体使うのが普通だろ
ただしVBAの構造体は遅いけどな
210: 2014/02/27(木)14:09 AAS
有りますね、サーセンw
211: 2014/02/27(木)15:11 AAS
ACCESSなら元データはテーブルじゃないのか
だったらレコードセットなり渡せば済む話だとおもうが
212: 2014/03/12(水)22:15 ID:W4Gp9YVD(1) AAS
設計の悪いDBだとたまに見る形だな
一々縦横変換とかしなきゃならんやつ
213: 2014/06/30(月)22:53 ID:VWrrXenH(1/2) AAS
スイマセン。エクセルからACCESSのテーブルにADO接続してエクセルの行(256文字以上のテキスト)をINSERTしようとしています。ACCESS側で受けるフィールドをメモ型にしましたがエクセルからINSERTしても255文字以内しか残りません。
214: 2014/06/30(月)22:54 ID:VWrrXenH(2/2) AAS
続きです。
何かすっごく基本的な凡ミスな気がしてるのですが、何かここらあたりありますか?
エスパーな質問で申し訳ないです。。
215: 2014/07/01(火)00:30 ID:0DCE/lPo(1) AAS
メモ型はSQL使うと切れたり頭の255しか判定してくれなかったりするからなあ
エクスポートインポートとかはバグで切れちゃうし
普通に文字列INSERTで入るか試してみて
216: 2014/07/21(月)20:33 ID:ufWzAtLi(1/3) AAS
171 名前:デフォルトの名無しさん[] 投稿日:2014/07/17(木) 02:49:51.87 ID:TFQGtdi0
外部リンク[htm]:www.ynsk.co.jp

こちらのサイトに公開されてるアクセスのコードなんですが
Windowsの標準DLLを利用して、メールを受信、送信するプログラムを
実行したいのですが、うまく動かせません。

他のスレッドで質問しましたが、こちらに誘導されてきました。
無償で公開されてるソースコードが動かないのですが、わかる有志の方、いらっしゃいましたら
省2
217: 2014/07/21(月)20:44 ID:KfqA2p34(1/2) AAS
どう動かないのかぐらい書けや
218
(1): 2014/07/21(月)21:01 ID:ufWzAtLi(2/3) AAS
AA省
219: 2014/07/21(月)21:04 ID:KfqA2p34(2/2) AAS
>>218
反応しないってどういうこと?
テーブルにセットしただけでは何も起こらなくて当然だぞ
1-
あと 783 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.019s