Access VBA 質問スレ Part1
at TECH
192:デフォルトの名無しさん
14/02/02 23:15:37.86
>>191
ちゃんと検索できるっぽいけど
先頭文字に外字ってのは、検索対象のテーブルデータなのか、Likeに指定する文字列なのか?
193:デフォルトの名無しさん
14/02/03 09:59:08.52
>>192
先頭に含まれる外字は検索対象のテーブルデータです
文字列の中間に外字が含まれる場合は検索できるのに、
先頭だと検索されない減少が発生する…
194:デフォルトの名無しさん
14/02/03 16:26:19.10
>>193
かるく試したが再現しないな
OSかACCESSのバージョンによる問題か
単にお前の勘違いか
ACCESSでも限定された状況でのバグか
MDB(ACCDB)がぶっ壊れてるか
まあ、単に検索できないレコードに不正なデータが混じってるだけだと思うが
195:191
14/02/03 18:14:37.26
一応解決したっぽい
原因として、dbmagicにodbc経由でリンクテーブルに
したのがダメらしい
リンクテーブルをやめて、テーブルデータごとインポートしたら
通常通りに検索できた
みんなありがと
196:デフォルトの名無しさん
14/02/03 18:49:01.92
喰らえカスども、奥義「後出し特殊条件!」
197:デフォルトの名無しさん
14/02/03 18:58:14.00
生データインポ時に変換されただけとかは?
つまりODBC接続でもデータを相応しい変換しておけば解決できるのかも
198:デフォルトの名無しさん
14/02/03 22:22:24.80
そもそも外字サポートされてるのかどうかしらんが
たんにdbmagicで外字がバグってただけだろ
199:デフォルトの名無しさん
14/02/08 21:20:31.59
SQLのReplace Intoに相当する物って有るんですか?
200:デフォルトの名無しさん
14/02/10 01:08:00.70
フォームに伝票基本情報
サブフォームに詳細というか明細欄(だいたい30レコードくらい)配置して、
1売上1レコードになるようにしています。
サブフォームに、
内容 金額 委託 委託金
とフィールドがあり、委託したときに入力するですが、
(この委託の部分も、
1売上(外注)1レコードにできませんか?
201:デフォルトの名無しさん
14/02/10 01:42:27.90
誰か翻訳
202:デフォルトの名無しさん
14/02/10 11:01:12.98
>>199
そもそも標準的なSQLにそんな命令聞いた事ない
ACCESSでも聞いた事ない
203:デフォルトの名無しさん
14/02/10 11:05:35.28
>>200
なにがしたいか良くわからんが、サブデータシートとかサブフォームのネストとか
たぶんそれでできるんじゃね
204:デフォルトの名無しさん
14/02/12 15:25:40.29
>>199
MySQLの独自実装か?
SQL ServerにもPostgreSQLにもないが・・・。
どんな動きかググってまで答える気にならない。
205:デフォルトの名無しさん
14/02/16 11:19:02.87
>>202
>>204
ググレカス
206:デフォルトの名無しさん
14/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をまとめて判定するにはどのようにするのが美しいでしょう。
ご教授頂ければ嬉しいです。
207:デフォルトの名無しさん
14/02/27 11:20:17.13
>>206
まず24個も引数取るのを美しいか疑問に思えよ
その24個をまとめたコレクションなり配列なり用意するとか
その24個にあまり関連がないないならParamArrayつかえ
(その前提でまとめて同じ引数にするのおかしいけどな)
208:デフォルトの名無しさん
14/02/27 11:34:23.61
>>207
ParamArrayというのがあるんですね。ありがとうございます。調べてみます!
美しさに関しては超ごもっともなんですが、如何せん元のデータをいじる権限がなくてですね。
元データの開発者をぐーで殴りたいレベル。
識別コード(一意)|24ヶ月前|23ヶ月前|22ヶ月前|21ヶ月前|・・・|当月|
ってな感じなんですよ。
んでこの○ヶ月前ってのがParmになるんですけどコレクションにせよ配列にせよ、結局は同じことなので
AAA(24ヶ月前,...当月)ってやっちまったほうが早いかなと。
大変助かりました。ありがとうございます。
209:デフォルトの名無しさん
14/02/27 14:06:57.28
VBAにそんなもんあんのか?構造体使うのが普通だろ
ただしVBAの構造体は遅いけどな
210:デフォルトの名無しさん
14/02/27 14:09:36.05
有りますね、サーセンw
211:デフォルトの名無しさん
14/02/27 15:11:10.30
ACCESSなら元データはテーブルじゃないのか
だったらレコードセットなり渡せば済む話だとおもうが
212:デフォルトの名無しさん
14/03/12 22:15:26.86 W4Gp9YVD
設計の悪いDBだとたまに見る形だな
一々縦横変換とかしなきゃならんやつ
最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4207日前に更新/55 KB
担当:undef