★Microsoft Access★at TECH
★Microsoft Access★ - 暇つぶし2ch175:デフォルトの名無しさん
05/10/24 19:59:46
>>173
一ヶ月近く放置されているスレによく質問する気になったな。感心した。

176:デフォルトの名無しさん
05/10/25 07:17:02
奥が深いよなaccessは

177:デフォルトの名無しさん
05/10/25 11:08:26
>>174
やっぱり設定では無理なんですね。その部分は設定で何とかしたかった。

178:デフォルトの名無しさん
05/10/25 11:57:35
プログラム板だからやっぱVBAで処理しないとな。
入力モードのプロパティを半角カタカナに設定するのは板違いになっちゃうからダメだよな、うんうん。

179:デフォルトの名無しさん
05/10/27 13:34:55
質問させていただきます。
AテーブルのIDという項目が、オートナンバーで、Bテーブルにリンクを張っているんですが、
SQLserverへ、アップサイジングすると、Bテーブルのデータがまったく作成されません。
どうしたらよろしいですか??


180:179
05/10/27 14:50:06
補足です。
Aテーブルと、Bテーブルは、1対多の関係で、Aテーブルを開くと左側に、+印があり
それを、開くとそのレコードと繋がっているBテーブルのレコードがのぞける状態です。

説明下手で、申し訳ありません。

181:デフォルトの名無しさん
05/10/28 01:40:44
accessってネットワーク共有できますか?

182:デフォルトの名無しさん
05/10/28 11:08:56
ビジネスsoft板かデータベース板で聞けばいいのに……

183:デフォルトの名無しさん
05/11/01 18:33:42
>>181 mdbを共有するのは地獄への入り口

184:デフォルトの名無しさん
05/11/01 18:41:38
ほんっとに簡単にデータ壊れるよな。おじさんびっくりした。

185:デフォルトの名無しさん
05/11/02 12:44:42
サブフォーム(連結フォーム)の連結を一時的に切って、非表示可したりできますか?
その部分だけ外部DB+クエリが重いので、メインフォームしか使わないときは非連結にしておきたいです。


186:デフォルトの名無しさん
05/11/02 13:43:58
ヘルプ見れ

SubFormオブジェクト
SourceObjectプロパティ

187:デフォルトの名無しさん
05/11/03 20:13:38
>>186
サンクス!
ついでにSourceObjectプロパティを設定しなおした場合のデータのRefresh方法も教えてください

188:デフォルトの名無しさん
05/11/03 20:20:07
obj.requery

189:デフォルトの名無しさん
05/11/03 20:30:37
>>188
ありがとう
サブフォームのほうでレコード移動時に発生するイベントがあるんだけど
そいつって元のフォームから走らせることできる?

190:デフォルトの名無しさん
05/11/03 20:48:31
やってみてから聞けよ

191:デフォルトの名無しさん
05/11/03 20:55:50
>>190
できなかったから聞いてるんだけど・・・

192:デフォルトの名無しさん
05/11/03 20:57:34
発生すらしなかった?

193:デフォルトの名無しさん
05/11/03 21:14:19
>>192
うん、ページロードは発生したけどページカレントは無理だった
ロード時だと、コントロールの中にあるデータ使えないから駄目なんだよね。。。

194:デフォルトの名無しさん
05/11/03 21:19:07
サブフォームでも普通にレコード移動時イベント発生するはずなんだが。
多分、コード書く場所間違っているかコントロールの参照指定がおかしいんだろうな。

Private Sub Form_Current()
MsgBox ""
End Sub

↑だけ書いて何も起きないんだったら後は知らん。

195:デフォルトの名無しさん
05/11/03 21:25:04
>>194
ごめんなさい・・・他のコードが邪魔してました
イベントとれて解決しました

ありがとうありがとう

196:デフォルトの名無しさん
05/11/07 16:10:41
別の掲示板で質問してみたのですが、回答がいただけなかったのでこちらで質問
させてください。
OS:2000 Access:2000
フォームに貼り付けたコントロールボックスにPCにインストールされているフォ
ントの一覧を表示したいのですがやり方がどうにもわかりません。
アドバイスお願いします。

197:デフォルトの名無しさん
05/11/07 16:27:31
>>196
API使うしか無いような希ガス。詳しくは知らない。

198:デフォルトの名無しさん
05/11/07 16:47:32
>>196
オマエ回答をもらった直後にそれはないんじゃないか。

URLリンク(www2.moug.net)

199:デフォルトの名無しさん
05/11/07 17:03:00
API使うのは嫌なのか……

200:デフォルトの名無しさん
05/11/07 18:03:18
>>198
回答いただいていたとはわかりませんでした。お騒がせしました。

201:デフォルトの名無しさん
05/11/09 13:50:13
ご質問します。
Aフォームのテキストボックスへ、
BフォームのサブフォームであるBサブフォームの
テキストボックスの値を取得したいとき、
Aフォームのテキストボックスの、コントロールソースに

=[Forms]![B]![Bサブ].[Forms]![Bサブテキストボックス名]

と記述したのですが、値を取得できません。
なぜでしょう。
ご指導のほど、よろしくおねがいします。

202:デフォルトの名無しさん
05/11/09 14:05:35
> =[Forms]![B]![Bサブ].[Forms]![Bサブテキストボックス名]

=[Forms]![B]![Bサブ].[Form]![Bサブテキストボックス名]

じゃないの。

203:201
05/11/09 14:05:50
訂正です。

=[Forms]![B]![Bサブ].[Form]![Bサブテキストボックス名]

と入力しています。
よろしくおねがいします。


204:201
05/11/09 14:07:20
>>202
すいません。訂正遅かったようです。
=[Forms]![B]![Bサブ].[Form]![Bサブテキストボックス名]
と入力しているのですが、値を取得できません・・・



205:デフォルトの名無しさん
05/11/09 15:13:44
で、値を取得できずにどうなってるの?

○○エラーになるとか、給料減らされたとか、
何か現状ってのがあるだろう。

206:201
05/11/09 15:32:03
何もなりません。
空白ですね。
MDB最適化したら直りました。
ご迷惑おかけしました。


207:デフォルトの名無しさん
05/11/09 19:37:15
どう見ても精子です。
ありがとうございました。

208:デフォルトの名無しさん
05/11/15 15:39:46
メインフォームの非連結のテキストボックスに納品日を入力したら
サブフォームのテーブルにそのデータを反映させるやり方がわかりません
どなたかご指導よろしくお願いします

209:デフォルトの名無しさん
05/11/15 16:12:02
>>208
AfterUpdateイベント

210:デフォルトの名無しさん
05/11/29 17:24:15
Access2000です
帳票フォームについて質問があります

オプションボタンのはい、いいえを選択し、
値によってテキストボックスの色を変更したり仕様不可にしたいと考えています
backcolorやEnabledプロパティを変更すると
全てのレコードの色が変わってしまったり仕様不可になったりしてしまいます
特定のレコードのみ行うということは出来ますでしょうか?



211:デフォルトの名無しさん
05/11/29 17:27:16
できません

212:デフォルトの名無しさん
05/11/29 17:27:59
ああ、でも条件付き書式でなら一応は可能。
オプションボタンの値をレコードに保存してないとダメだろうけど。

213:デフォルトの名無しさん
05/11/30 17:43:15
>>210をよく読まずにカキコ

入力内容については更新前処理やら更新後処理やらで特定の条件時に事実上
テキストボックスに値を入れさせない処理はできるはず。

テキストボックスの色をレコード毎に変えるのは不可能。

が、
※色が透明なテキストボックスは作れる。
☆詳細セクションに連結オブジェクトフレームは配置できる。
ΨテーブルにはOLEオブジェクトを保存する事が出来る。
♪連結オブジェクトフレームのコントロールソースにはDlookup関数が指定できる

まあ、がんばれ(手間を掛ける価値があるのなら)

214:デフォルトの名無しさん
06/02/07 00:39:46
test

215:デフォルトの名無しさん
06/02/07 00:42:01
このスレ、dat落ちしたと思ってたんだけど、まだ生きていたんだな

216:デフォルトの名無しさん
06/02/13 20:19:44
access2000のVBAで質問です。
あるルーチンの処理時間を測定したいのですが、
ミリ秒くらいの精度で測定する方法を教えてください。


217:デフォルトの名無しさん
06/02/13 21:16:36
API

218:デフォルトの名無しさん
06/02/13 21:16:56
APIの
GetTickCount()とか
timeGetTime()。
1msecの精度があるといわれているのはtimeGetTime()
つか、Accessでmsec単位必要なの?

219:デフォルトの名無しさん
06/02/13 22:19:07
>>218
ども。やってみます。
ロジックによる処理速度の違いをアンポンタンに分かるように数字で見せる必要があったので。。。


220:デフォルトの名無しさん
06/02/14 00:00:17
access2003での質問です。

フォームのテキストボックスに規定値を与えようとしてます。
そのとき、欠番を取得するクエリを利用したいのですが、うまく動きません。
テキストボックスのプロパティ、規定値へ、クエリを参照して指定しています。
表示される内容は#Name?となっています。
クエリ単体での動作は確認とれました。

規定値へクエリを埋め込む場合、何か注意が必要ですか?

221:デフォルトの名無しさん
06/02/14 07:22:35
規定値にクエリ使えるなんて初耳。勉強になるなぁ。

222:デフォルトの名無しさん
06/02/17 17:27:15
access2003の質問です。
VBA上からレポートのVBAコードをエクスポートしたいのですが、

Dim appAccess As Object
Set appAccess = CreateObject("Access.Application.9")
appAccess.OpenCurrentDatabase "target.mdb"
appAccess.VBE.ActiveVBProject.VBComponents("レポート").Export "hoge.vbs"

とモジュールと同じような感じでやってみると
エラーになってしまいます。
何か良い方策はないでしょうか。

223:デフォルトの名無しさん
06/02/17 18:39:10
そういやageないと誰も気づきませんね....orz

224:デフォルトの名無しさん
06/02/24 02:09:01
「レポート」っていうのは、レポート名?
モジュール名なら、「Report_レポート名」で指定しないと。

225:デフォルトの名無しさん
06/02/25 01:00:42
アクセスmdbから、サイト上のmdbに接続することって可能でしょうか?

226:デフォルトの名無しさん
06/02/25 02:15:24
サイト

〔at sight(一覧で、提示あり次第、の意)から〕手形などの決済期限。

227:デフォルトの名無しさん
06/02/25 11:21:02
webサイトのことだとして

サイトがローカルのWindowsネットワーク上にあるなら可能。
サイトがWANの向こうでも、VPN接続したり
Web Services Toolkit みたいな仕組みを取り入れたりして頑張れば可能。

228:デフォルトの名無しさん
06/03/07 21:40:27
ACCESS+SQL ServerでADO開発を行うのですが、お勧め本とか
あったら教えて下さい。
特に、排他制御等のトランザクション制御に関して、詳しい情報を
探しています。

229:デフォルトの名無しさん
06/03/07 22:09:05
ここの住人にアクセスメインな人はいないと思われ。
ビジネスsoftかデータベースにでも移ったら?

230:デフォルトの名無しさん
06/03/08 09:52:17
>>229
お前がそんなレスするから>>228が向こうでマルチしまくってるじゃないか

231:デフォルトの名無しさん
06/03/08 11:25:34
マルチの原因はスレのミスマッチ
あるべき所に必要なスレが望ましい

232:http://www.vector.co.jp/soft/win95/util/se072729.html
06/03/18 21:59:37
TextSS のWindowsXP(Professional)64bit対応化おながいします

もしくは64bitにネイティブ対応したテキスト置換ソフトありますか?

そういや64bitにネイティブ対応している2chブラウザてありましたっけ?

233:デフォルトの名無しさん
06/04/03 17:54:54
Excel VBA では
dim d1 as double,d2 as double
d1 = 3
d2 = Application.NormSDist(d1)
msgbox d2

といったコードで標準正規分布が得られるのですが
AccessのVBAではエラーになるのです。
Accessで標準正規分布を得るにはどうすればいいでしょうか。

234:デフォルトの名無しさん
06/04/04 06:21:54
自己解決しますた

VBエディタを開く
メニュー/ツール/参照設定/Microsoft Excel 9.0 or 10.0 Object Libraly をチェック
d2 = Excel.Application.NormSDist(d1)

しかし遅い遅い

235:デフォルトの名無しさん
06/04/04 22:50:03
Access 2002 で clone とか find とかつかったらすぐコケるんだが、
(find は2度目使うと)
なんでだろ?


236:デフォルトの名無しさん
06/04/05 00:38:20
日本語でおk

237:235
06/04/05 18:35:57
>>236
それかよ _| ̄|○ili 俺にはどうしようもない
(゚∀゚)さすがにどうしようもないな。ああ、どうしようもない。 どうしようもないのだよ。

238:デフォルトの名無しさん
06/04/05 22:44:10
日本語が不自由な方がいますね

239:デフォルトの名無しさん
06/04/10 23:13:10
こんばんわ。
唐突に、先輩から「この原因調べて」と言われてあたふたしてます

XP+Access2003でCSVからtransfertextでインポートするVBAプログラムなのですが・・・
以下簡単なCSV

"aaa","bbb","ccc"
__________"aaa2","bbb2","ccc2"
__________"aaa3","bbb3","ccc3"
__________

こんなCSVファイルをとりこんだ時、2データ目からはエラーで取り込めません
何故2データ目から空白が先頭にあるのかも聞いてもわからない、でした
ACCESS97では普通に取り込みが出来たそうです。

このファイル、テキストで開くと空白が確認できますが、Excelで開くと空白を無視して
ちゃんと表示されています。
なので、ACCESSでも何かしてやれば先頭の空白を無視して取り込めるのではないか、
と思うのですが・・・なんともならないでしょうか?

240:デフォルトの名無しさん
06/04/11 09:01:14
インポートする前に置換処理すればいいじゃない

241:239
06/04/11 22:06:28
まあ、今日のところは結局開いて空白消すような処理放り込んで凌ぎましたorz
何十万件単位であるらしいから1行読んで消してなので重くなるかな・・・と。

でもお客さんの操作は今までの通りで、って事だしとまあ挟み撃ち(´・ω・`)
引き続き自分でも原因等調査ですよ・・・

242:デフォルトの名無しさん
06/08/18 01:27:37
未だに97使いなんですが質問してもいいですか?

243:デフォルトの名無しさん
06/08/18 03:01:32
>>242
どぞー

244:デフォルトの名無しさん
06/08/18 06:25:22
>>243
ありがとうございます。

早速なんですが
クロス集計を使ってグラフ表示をしようと思って居るんですが、なかなかうまくいきません。

具体的にはクロス集計時に、ダイレクトに集計条件をクエリ内に記述すると問題ないのですが
条件に

[Forms]!フォーム名]!コントロール名]

で絞り込みを使用とすると

<名前> を有効なフィールド名、または式として認識できません。

のエラーがでてうまくいきません。 ほかの選択フォームなどでは問題なく出来ていた方法なの
ですが、クロス集計では集計の絞り込み条件をフォームからコントロールしたい場合特別な記述
方法があるのでしょうか?
ご存じの方おられましたら、よろしくお願いします<_o_>

245:デフォルトの名無しさん
06/08/18 09:33:31
>>244
角括弧

[Forms]![フォーム名]![コントロール名]

246:245
06/08/18 12:35:57
>245

申し訳ないです。 コピ編集のミスでそうなってますが、クエリではきちんと記述は出来ています

選択クエリとクロス集計での記述法に違いがあるような情報を見つけられなかったのですが
他の方法をとらないとだめなんでしょうか? 

247:デフォルトの名無しさん
06/08/18 13:09:10
>>244
色々試してみたらどうでしょう

Forms!フォーム名.コントロール名
Form_フォーム名.コントロール名


問題部分がココ以外にあるのならその部分のコードを見ないことにはアドバイスのしようがないけどね

248:デフォルトの名無しさん
06/08/18 13:34:34
Eval("[Forms]![フォーム名]![コントロール名]")

249:245
06/08/18 23:37:10
>>248

ありがとうございます! うまく抽出できました。

これでまた進めることが出来ます。
ありがとうございました

250:245
06/08/18 23:39:11
ご意見くださった方々、本当にありがとうございました。

本格的に使ってこなかったので、皆さんのご意見励みになりました。
また助けていただくこともあろうかと思いますが、よろしくお願いします。

251:デフォルトの名無しさん
06/08/23 19:10:46
ACCESSで作った住所録を地域別に3つに分割して、
それぞれで入力・修正した後、結合したいと思います。
※これらはLANで繋がってはいません

これらの個々のデータは自動でIDがふられるようになっています。
このままですと3つのアプリで同じIDがふられてしまいます。
これを回避する方法をお教えください。






252:デフォルトの名無しさん
06/08/23 20:52:07
GUIDでも振っとけば?

253:デフォルトの名無しさん
06/08/25 08:53:45
教えてください

openformで where以下の条件を記載するとき、order byを記入するとエラーになります。

このときに降順表示をさせるためにはどのように記入すればいけるのでしょうか?
クエリ内への記載はその時々により条件が変更されるために、とるとこが出来ません。

よろしくお願いします。



254:デフォルトの名無しさん
06/08/26 11:55:05
> openformで where以下の条件を記載するとき、order byを記入するとエラーになります。

WhereCondition 引数は、Where 句を指定するところであって、
「where以下の条件を」全部書けるところじゃねぇよ。
ちゃんとヘルプ嫁。

OpenArgs 引数で OrderBy の条件渡して、開かれるフォーム側で
処理するか、呼び出し側から直接 OrderBy ブチ込めば。

255:デフォルトの名無しさん
06/08/30 04:39:22
意外と機能してるんだなこのスレw

256:質問です。
06/10/08 00:40:58


Accessに画像データ・動画(mpg / avi)等を保存するにはどうすれば良い
でしょうか?

あと、すれ違いかもしれませんが上記と同様の事をDB2・Oracle等にも
行う事は可能でしょうか?


257:デフォルトの名無しさん
06/10/08 08:49:16
>>256
OLEオブジェクトを埋め込みすれば可能だが、MDBのファイルサイズがすごいことになってしまうので
ファイルは普通のフォルダに格納してAccessでファイル名やパスだけ管理するほうがよい。
ファイルの操作はVBのファイル操作ステートメントやFileSystemObjectを使えば出来る。

また、Access2007では添付ファイルを格納できる新機能があるらしい。

258: 256
06/10/08 17:32:00

>>257さん
ご回答ありがとうございます。
これから試してみます。



259:デフォルトの名無しさん
06/10/12 12:45:34
Accessの整理をするために、全てのフォームの全てのコントロールやその種類などを取得したいと思ってます
対象のフォームを開かずに1つのmdbファイルの全てのフォームとコントロールを取得する方法を教えて頂けないでしょうか?

260:デフォルトの名無しさん
06/10/12 12:56:50
使い勝手はよくないけど、とりあえず、
ツール→解析→データベース構造の解析
ダイアログの「フォーム」「すべて選択」「OK」で
プロパティ、コントロールとかもろもろの一覧が表示される。

261:デフォルトの名無しさん
06/10/16 14:07:46
こんにちは、CHRISと申します。

サーバー上にMDBを置いて、2台の端末を使って1つのレコードの同じ項目を
同時に更新しようとしました。そしたら、「マシン 'XXX' のユーザー 'YYY' に
よってロックされているので、更新できません」というエラーメッセージが
表示されて、2台の内1台のマシンで更新処理ができませんでした。

MDB自体にロックがかかっているのか、レコード単位でロックがかかっている
のか分かりません。ASPを使っているのですが、MDBを開いてSQLを発行している
処理で落ちているようです。2台の端末を使ってMDBを同時に更新する場合、
更新のタイミングが遅かった方は何秒おき毎かでリトライをして、どうしても
更新できない場合はエラーメッセージを表示させて、「落ちない」ようにする
というような、具体的な何かよい解決方法はありませんか?

よろしくお願いします。


262:デフォルトの名無しさん
06/10/22 00:15:39

質問させて下さい。

Accessとして格納出来るデータ容量に関する質問です。

Q1.最大MDBとして何ギガバイト迄格納する事が出来ますか?
Q2.本格的な業務システムを構築しようと思っているのですが(低コストの為)
   .NET( C# or VB.net) + Access
   VBA + Access
   どちらの方が良いでしょうか?

263:デフォルトの名無しさん
06/10/22 00:33:01
A1.2G
A2.悪いことは言わんから業務システムのDBにMDB
使うのはやめとけ。

264:デフォルトの名無しさん
06/10/22 00:38:17
>>263
どうもありがとうございます。
因みにSQLserverでしたら何ギガバイトまで可能でしょうか?


265:デフォルトの名無しさん
06/10/22 00:54:36
MDB 2GByte
MSDE 2GByte
MS SQLServerにファイルサイズによる上限はない

266:デフォルトの名無しさん
06/10/22 01:03:16


>>265
ご丁寧にありがとうございます。

267:デフォルトの名無しさん
06/10/24 00:43:18
Prepared使うとAccessごと落ちるな。。。
DBはSQL ServerでクライアントにAccess使ってる。

Insert Into hoge (idNo) values(?)
って感じの単純なInsertなんだがな。

268:とら
06/10/25 01:55:46
データベース(例えばDB2)とかなら一度作成したテーブルの上で
右クリック→DDLの生成とすれば、そのテーブルのDDL(CREATE文等)を
簡単に生成する事が出来るのですが、Accessではそういったコトは
出来ないでしょうか?



269:デフォルトの名無しさん
06/10/25 20:23:44
出来ない。
フリーウェアを探すか自作汁。

270:とら
06/10/26 00:34:19

>>269
そうでしたか、、、
使えませんね。Access。
因みにフリーウェア名とか知っていたら教えて頂けないでしょうか?

271:269
06/10/26 01:11:59
3万円以上する外国製のシェアウェアなら、たまたま知っている。

フリーウェアがあるのかどうかは、知らない。

272:とら
06/10/26 02:30:11


271
>>シェアウェアの名前は何ですか?


273:デフォルトの名無しさん
06/10/26 15:51:11
>>272
それがCREATEだけの話なら、選択クエリを作ってそれをテーブル作成クエリにしたらいいんじゃね?



274:271
06/10/26 20:29:37
>>272
> シェアウェアの名前は何ですか?

DBExplorer

▼スクリーンショット
URLリンク(www.slik.co.nz)

▼サイト
URLリンク(www.sliksoftware.co.nz)

汎用の DB 管理ソフトで、別に DDL 生成用ではないが、機能の一部として
DDL 生成機能もあるらしい。自分は、実際に使ったことは無いので、詳しい
ことは知らない。
評価版を DL できるので、興味があれば落として確認するとよい。

ただし Access のテーブルには DDL では作れないプロパティもあるので、
汎用ツールで生成された DDL での再現率には限度がある点を承知おかれたい。

275:tora
06/10/26 21:42:13
>>273
なる程。そういう手がありましたね。ありがとうございます。


>>274
これから確認してみます。


276:デフォルトの名無しさん
06/11/09 10:06:15
すいません、質問させてください

現在Access97+MDBで動いているシステムを
Access2000+SQLServerに移行しました

ですが、直後から残像が残るといわれまして確認したところ
1:ただ、リフレッシュされていない
2:フォームから取得する値を間違えて取っているような挙動をしているもの
の二通りがありました
1に関してはリフレッシュ、リペイントの厳密性の違いなのでしょうか・・・?
直ったには直ったのですが少し不思議でしたので

2に関してですが明細クエリの検索条件にフォームのコンボボックスに入れてある値を
[Forms]![サブフォーム名]![サブフォーム内のコンボボックス名]で取っているのですが
コンボボックスを空にして検索しても空になっているとクエリが判断せずに
以前の値を参照しつづけているようなのです
多分これも97から2000に移行した際の不具合だとは思うのですが皆目検討がつきません

もしよければ教えて頂けないでしょうか
よろしくおねがいします。

277:276
06/11/09 14:55:54
すいません、書き忘れました
2の以前の値を参照し続ける状態ですが
毎回起こるわけではないようです

普段はコンボボックス内容が変われば自動で変わるんですが
変わらない時があり、一度変わらないようになると
その画面自体を終了させないことには直らない状態です

278:デフォルトの名無しさん
06/11/09 15:30:38
>276-277
同様のトラブル(起こることは稀で、現象出すための操作はある程度つかめている)を持ったことがあるよ。
もしかして、VIEW表間に噛ませて、FormとSQLサーバでやりとりしてない?
どうも複数のFormを開いたり、トランザクションがぶつかったりして(デッドロック?)、
使っているVIEW表を解放していないようなんだよな。

279:276
06/11/09 15:35:22
>278さん
VIEW表というのはSQLServerのVIEWでしょうか
それともAccess側のクエリでしょうか

今回はSQLServerをリンクテーブルとして読み込み、それをAccessクエリで一部項目を
抽出し、画面に出力している状態です。

280:デフォルトの名無しさん
06/11/09 15:44:31
自分の場合は、同一SQLサーバVIEW表を使った別々のAccess側クエリで問題ありと問題なしがはっきりでたので
ACCESS側クエリに問題ありであった模様のようだった

281:276
06/11/09 15:47:58
情報ありがとうございます!

対策としては
・AccessクエリをSQLServerのViewにあげてそれを直接参照する
・クエリを使わずSQL文でそのつどレコードセットに格納する

くらいですかね…?
何か他に妙案あったら教えてください。

282:デフォルトの名無しさん
06/11/09 16:06:11
できるだけSQLサーバのDBMSの機能に乗っかるのも手の一つだと思うけど、
やはりクライアント側の一時表は使わないと、ロックの粒度がきつくなるから、
値の取得、参照に限って言うなら、
同一の人、同一のクライアントであっても、クエリごとに別クライアントと考えて、
新たにクライアント側に一時表を作ってあげるのも手の一つではないかなと。

283:276
06/11/09 16:24:00
すいません

>新たにクライアント側に一時表を作ってあげる
というのがいまいち理解しきれなかったので詳しく教えていただけると幸いです
一時表、というのはどのような形で作ればいいのでしょう・・・

284:デフォルトの名無しさん
06/11/09 16:38:22
いや単に、
一時表=クエリ(ACCESS側)・或いはVIEW作ってる?(ACCESS側)
です
一時表の利点としては、「見る」という動作に限ると(予約等を含むなら別ですが)、
一時表を作った後は、他を解き放てるので、いくつ作ってもデッドロックのリスクは少ないでしょう。
「見る」という動作に限ると、クエリをクエリで流用したりとか、そういうことはやめて、直接SQLサーバを参照するクエリを新しくどんどん作っていってはどうかと。
そこで、
・AccessクエリをSQLServerのViewにあげてそれを直接参照する
をよくよく読んでみるとそういう意味なのかなと思ったりするので、そうであったらすみません。

285:276
06/11/09 16:55:40
ふむ・・・要するにクエリ1を使用してクエリ2を作るような事をせず
SQLServerのテーブルを直接参照してクエリ2を作れって事ですかね?

いろいろとありがとうございました
どの方法が一番ベストか、ちと検討してみます。

286:デフォルトの名無しさん
06/11/16 00:57:15
すみません。レポートのプレビュー画面で、「ファイル」、「編集」などの
「メニューバー」を非表示にしたいのですが。どうすればよろしいので
しょうか。お願いします。

287:デフォルトの名無しさん
06/11/19 03:14:15
Private Sub Form_Open(Cancel As Integer)
CommandBars("Menu Bar").Enabled = False
End Sub

288:デフォルトの名無しさん
06/11/28 15:28:45
Windowsのタスクを使わずに、MDBファイル自身で
マクロを9時~16時の間だけ一時間置きに実行させることはできますか?

289:デフォルトの名無しさん
06/11/28 18:09:15
フォームにはタイマーイベントがある。

290:デフォルトの名無しさん
06/12/17 06:13:06
すみません。Accessでも、アプリは作れますか?

291:デフォルトの名無しさん
06/12/17 06:28:36
フォームとかあるじゃん。
VBとほぼ同じ仕様でほぼ同じことが出来るよ。

292:290
06/12/17 06:33:55
>>291
ありがとうございます。AccessでもVBレベルのアプリが作れるとは、、、

293:デフォルトの名無しさん
06/12/18 14:44:31
動的にコントロールを生成できなかったり
コントロールを配列にできなかったり
描画処理ができないのに  VBA でVBレベルのアプリが組めるんですか?

294:デフォルトの名無しさん
06/12/19 05:30:22
>>292 から >>293 に至る伏線はどこか別スレにあるんだろうか

295:デフォルトの名無しさん
06/12/19 19:48:24
ADPの場合、ローカルにテーブルは作れませんが、一体全体どうすれば
いいんですか?

296:デフォルトの名無しさん
06/12/20 22:29:18
>>293
おまえがアフォなだけ

297:デフォルトの名無しさん
06/12/21 00:46:20
レポートでヘッダーを縦印刷、詳細を横印刷、フッターを縦印刷って
可能でしょうか?
レポートのコードで
ヘッダーにPrinter.Orientation = acPRORPortrait
詳細にPrinter.Orientation = acPRORLandscape
を指定してもずっと縦か横にしか印刷されませんでした。

298:デフォルトの名無しさん
06/12/21 03:01:23
>>296
素人は力仕事でなんでもできると思っているが。。。VBAは所詮VBA

299:デフォルトの名無しさん
06/12/21 10:06:45
VBでmdbにデータを保存/読出を行うソフトを作ったんだが、
accessが入ってないパソコンにそのソフトをインストールして使用する場合、
どうすればいいの?accessを入れるしかないの?


300:デフォルトの名無しさん
06/12/21 12:42:46
そうだお

301:デフォルトの名無しさん
06/12/21 18:35:09
>>295
正解はココ
<a href="URLリンク(www2p.biglobe.ne.jp)

302:デフォルトの名無しさん
06/12/21 20:42:44
>>301
さんきう。
色々方法あるのね、、SQLServerのストアドは権限の問題で使えないので、
やっぱ素直にMDB使うことにする。



303:デフォルトの名無しさん
06/12/21 21:25:24
>>299
> VBでmdbにデータを保存/読出を行うソフトを作ったんだが、

そこを詳しく書け。
Accessオートメーションなら当然Accessが必要だし、
DAO/ADOオンリーなら元からAccessは関係ないだろ。

304:デフォルトの名無しさん
06/12/22 17:42:50
>>299
っていうか、そのテストはすぐに出来るだろ。
Access入ってないパソコンで実行してみればいいだけだ。
それくらいやれよ

305:デフォルトの名無しさん
06/12/25 19:53:55
>>299
MDAC でググレカス


306:デフォルトの名無しさん
06/12/27 16:23:41
質問です。(access97・winXP)

プロシージャで、Month([日付])関数が働きません。

同じプロシージャ内のYear([~])やDay([~])も、
同db内のクエリーのMonth([~])も出来るのに…。

何故でしょうか?

307:デフォルトの名無しさん
06/12/27 20:50:38
どんなエラーが出るか書け
話はそれからだ

308:306
06/12/28 18:31:17
「日付」コントロールを持つ、フォームAの「更新ボタン」クリック時、
フォームBの「日付2」に一年後の日付を入れる…というのが目的で、

日付2 = DateSerial(Year([日付])+1,Month([日付]),Day([日付]))としたら

実行時エラー13
型が一致しません

と出ます。

Month([日付])の部分を、1とか数字にすると、一応「日付2」に値は入ります。(無意味な値ですが;)
また、プロシージャを書いている際に、monthと小文字で書いても自動でMが大文字にはなりません。



ちなみに、日付2 = DateAdd("yyyy", 1, [日付])にしたら成功したので、今回は結果オーライなんですが…。

309:デフォルトの名無しさん
06/12/28 20:44:29
参照設定で
Visual Basic For Applicationsをトップにもってくる

310:306
06/12/28 20:56:55
>>309
開いてみたら、既にトップでした。

以下は
Microsoft Access 8.0 Object Library
Microsoft Dao3.51 Object Library
Microsoft Office Web Components 11.0
Microsoft activeX Data Objects 2.8 Library

…となっております。

311:デフォルトの名無しさん
06/12/28 22:03:44
MsgBox TypeName([日付].Value)
がDate?

312:306
06/12/28 22:32:58
>>311
はい。Dateです。

313:デフォルトの名無しさん
06/12/29 01:31:56
オブジェクトブラウザでグローバルオブジェクトの
monthが
Function Month(Date)
VBA.DateTime のメンバ
になってる?

314:306
07/01/06 19:43:50
レス遅れてすみません。自己解決しました。

dbの中に「month」という名のコンボボックスとクエリーが有り、(仮作成のままでした)
それらの名前を変更したら、>>308
>日付2 = DateSerial(Year([日付])+1,Month([日付]),Day([日付]))
が成功しました。(未だmonth小文字のままですが)

>オブジェクトブラウザ を示して頂いた>>313のお陰で気付きましたが、
初歩的なミスでお恥ずかしい。。。(/ω\)

お手数割いて頂いた方々、ありがとうございました。

315:デフォルトの名無しさん
07/01/09 17:58:04
起動時の設定で「すべてのメニューを表示する」というチェックを外すと
ファイル、ウィンドウ、ヘルプしか表示されなくなりますが、
これをVBAから元のチェックの付いた状態に戻すことは可能ですか?
CommandBars("Menu Bar").Visible=True
としてもダメでした。

316:デフォルトの名無しさん
07/01/10 12:57:03
>>CommandBars("Menu Bar").Visible

どうみても消えるだけだが・・・
も少し見てみれば判ると思う
チェックの状態のぷろぱちぃがあるだろうに

317:デフォルトの名無しさん
07/01/10 21:53:12
>>316
CurrentDb.Properties("AllowFullMenus")=True
これでいけました。どうもでした。

318:デフォルトの名無しさん
07/01/10 22:26:20
便乗だけど、それAccess再起動しないといけないよね?


319:デフォルトの名無しさん
07/01/18 01:04:25
魔法使いの開発工房ってサイトで昔ちょこっと勉強してたんだけど、
サイトが消えちゃったみたい。
結構有名なサイトらしいんだけど、だれかアーカイブしてたらうp汁!

320:デフォルトの名無しさん
07/01/19 16:48:49
フォーム上のテキストボックスのプロパティの書式で
日付データを mm/dd としています。

Access95ではちゃんと表示されているのですが
Access2003では実際には yyyy/mm/dd で表示されてしまいます。

どうしたら mm/dd で表示されるか教えてください。
MDBのフィールド定義はテキスト型で yyyy/mm/dd のデータになっています。

321:デフォルトの名無しさん
07/01/19 23:12:24
>>320
こんっとロールパネル→地域と言語オプション
カスタマイズ→日付にある短い形式をいじる


322:デフォルトの名無しさん
07/01/20 19:35:12
>>321
サンクスです。
でもそれだと個々のPCの設定になりますし、エクスプローラー等の表示にも影響しますよね。
で、コントロールソースでFormat関数をあてる方法がわかりましたので
その方法をとることにしました。

323:デフォルトの名無しさん
07/01/21 19:44:19
Backup DatabaseとかのSQL文を実行するにはどうしたらよいのでしょうか?
ぐぐってみたのですが、サンプルが書かれたページが見つかりません。
どうぞ宜しくお願いいたします。

324:デフォルトの名無しさん
07/01/21 20:18:15
>>323
クエリ
デザインビューでクエリを作成する
閉じる
(ツールバーの)SQL

325:デフォルトの名無しさん
07/01/21 21:59:38
>>324
それだと、DELETE、INSERT、PROCEDURE、SELECT、UPDATEしか使えないのでは?
Backup Databaseを書いてもエラーになるのですが。

326:デフォルトの名無しさん
07/01/22 04:43:12
パススルークエリー

327:デフォルトの名無しさん
07/01/24 17:45:05
他のDBMファイルを開いて、そこにテーブルやフォームを作ったり
プロシージャを作成したりするにはどうすればいいですか?

328:デフォルトの名無しさん
07/01/25 11:21:07
AccessからVBAでって事か?
set db = openDatabase(~)
db.TableDefs.add(~)
みてーな感じ。 詳細はヘルプ見るなりググるなりしろ。

329:デフォルトの名無しさん
07/01/25 12:59:37
>>328
ここまでは分かりました。
Dim app As Access.Application
Dim frm As Access.Form
Dim db As Database
Dim mdbPath, frmName As String

mdbPath = CurrentProject.path & "\db1.mdb"

Set app = New Access.Application
With app
.Visible = True
.OpenCurrentDatabase mdbPath, True
Debug.Print app.CurrentDb.Name
Set frm = .CreateForm
frmName = frm.Name
.DoCmd.Save acForm, frm.Name
.Forms(frmName).Name = "ふぉーむ作りのてすと" '←エラー
'.DoCmd.Close acForm, frm.Name
End With

このあと、フォーム名をどうやって変えたらいいのかさっぱり分かりません。

330:デフォルトの名無しさん
07/01/25 18:32:26
そのエラーメッセージ見ろよ。 それが答えだ。
まーAccessの仕様も結構アレだが。ヘタに「オブジェクト指向w」を名乗るマクロ付けたから無理があるんだよな。

名前変えるなら

DoCmd.Save acForm, frm.Name
frmName = frm.Name
DoCmd.Close acForm, frm.Name
DoCmd.Rename "hoge", acForm, frmName

って感じか。
createForm の初期名はいじれないから、作る・閉じる・名前変更 の3ステップが必要。

331:デフォルトの名無しさん
07/01/25 20:34:14
>>330
どうもありがとうございます。
Renameメソッドで上手くいきました。

ところでついでに質問なんですが、GUIを通してできる
Accessの操作のほぼ全てはVBAで出来るんでしょうか?
またそれならなぜAccessにはExcelのようなマクロの記録がないんでしょうか?

332:デフォルトの名無しさん
07/01/26 00:06:37
あの…試験で、JAVAプログラミングのIf文、For文ってのが出るんですけど、つまりどういう事なんですか?誰か詳しく教えて下さいm(__)m

333:デフォルトの名無しさん
07/01/26 03:49:24
スレタイ100回嫁

334:デフォルトの名無しさん
07/01/26 11:05:25
>>331
全て確認したわけじゃないが、ほぼ全て出来ると思っていいよ。
DoCmd のメソッドってメニューとほぼ対応してるし。

AccessでExcelのように「操作した内容をVBAとして記録」が出来ない理由は知らん。MSに聞け。
Accessが元々MS製じゃないからかもしらんし、VBAではない古い「マクロ」があるが故に
下位互換性の関係で仕様を合わせられないのかもしらん。 DoCmdとかヘンでしょ。

335:デフォルトの名無しさん
07/01/26 22:58:27
VBAからモジュールを追加する方法を誰か教えてください
ApplicationクラスにCreateForm()やCreateReport()があって、
なんでcreateModuleやCreateMacroがないんでしょ

336:デフォルトの名無しさん
07/01/26 23:12:48
モジュールについては書き込んだ後に発見しました。
どうもすいませんでした。
URLリンク(support.microsoft.com)

337:デフォルトの名無しさん
07/02/04 18:53:15
Sub unko()
With Assistant
.Visible = True
With .NewBalloon
.Text = "ウンコ産まれそう"
.Button = msoButtonSetOK
.Show
End With
.Visible = False
End With
End Sub

338:デフォルトの名無しさん
07/02/15 07:56:52
可愛いレジ店員がいるコンビニでバレンタインチョコを買う

袋は要らないと断り、チョコをレジに置いて釣り銭を財布に入れる

わざとチョコを置き忘れて足早に店を出て車に乗り込もうとする

可愛い店員が追いかけてチョコを手渡しに来る

「あの・・・これ・・・」

( ゚д゚ )あ、ありがとう


339:デフォルトの名無しさん
07/02/19 22:31:18
可愛いレジ店員がいるコンビニでバレンタインチョコを買う

袋は要らないと断り、チョコをレジに置いて釣り銭を財布に入れる

わざとチョコを置き忘れて足早に店を出て車に乗り込もうとする

誰も来ない

( 'A`)

340:デフォルトの名無しさん
07/03/16 19:43:05
Access2000で質問があります

半角カナ文字が大量に入っているデータをインポートした場合
元のテキスト状態に対してMDBファイルが2倍近い容量になってしまい困っています

データベースの内部はunicodeな為に半角カナ文字をunicode化してるのが
原因だと思うのですがこれを回避して、バイナリのまま取り込む方法は無いでしょうか?
(このフィール度に対して検索などは行いません)

よろしくお願いします


341:デフォルトの名無しさん
07/03/19 01:48:14
初歩的な質問ですがAccess2007で
一つのフィールドのデータ型を「日付/時刻型」
にして異なるレコードに同じ日付を入力したら

インデックス、主キー、またはリレーションシップで値が重複しているので、
テーブルを変更できませんでした。重複するフィールドの値を変更するか、
インデックスを削除してください。。または重複する値を使用できるように
再定義してください。

とでてきました。重複する値(日付)を使用するための再定義とはどうすればできますか?


342:デフォルトの名無しさん
07/03/19 15:58:00
初歩的な質問ですが、Accessのバージョン管理ってどうやっていらっしゃるんですか?
VSSでできるとは思うんですが、ちと高いですよね?



343:デフォルトの名無しさん
07/04/01 13:40:48
>>341
その日付/時刻型のフィールド以外にもう1つのフィールドにキーを設定する。

>>342
Accessを使うような開発はバージョン管理自体してないと思う。

344:デフォルトの名無しさん
07/04/02 01:37:02
>>342

VBA だけを出力して、Subversion にて、バージョン管理しています。

345:デフォルトの名無しさん
07/04/02 23:01:36
 どなたかわかる方教えて下さい。
 表形式のフォームを開いた瞬間に、一番下のレコード行まで自動で
スクロールさせる方法はあるでしょうか?
 「これを使えば出来るよ~」といった回答でOKです。
 FAQだったらすみません。

346:デフォルトの名無しさん
07/04/02 23:32:26
>>345
Call DoCmd.GoToRecord(, , acNewRec)
でどう?

347:デフォルトの名無しさん
07/04/02 23:34:33
重り、キーが沈むくらいの

348:345
07/04/03 00:21:23
>>346
 できました。ありがとうございました。
>>347
 なるほど、そんな手もあったか!(笑)

349:デフォルトの名無しさん
07/04/05 00:33:27
すみません。H3.3.3とテキストで入力したとき。表示をH03.03.03という形
で前ゼロをつけるには、どのようにすればよろしいのでしょうか。
よろしくお願いします。

350:デフォルトの名無しさん
07/04/05 00:46:16
test

351:デフォルトの名無しさん
07/04/08 16:42:53
>>340
リンクして使えば。

352:デフォルトの名無しさん
07/04/13 20:27:48
>>349
テーブルデザインビューで日付時刻型のフィーるどの書式をgee\.mm\.ddにするのはダメ?
入力はH3/3/3で表示はH03.03.03になるみたい。
Access2000でやてみた。

353:デフォルトの名無しさん
07/04/13 20:30:53
>>340
Unicode圧縮ってASCII文字みたいのじゃないと圧縮にならんのね。
元テキストが大量でmdbファイルがでかすぎなら他のDBのほうがいいのかも。

354:デフォルトの名無しさん
07/05/01 10:05:15
教えてくれ。
突然なんのエラー表示もなくAccessが落ちたりするんだけど、
原因はどんなことが考えられるかな?

WindowsXP Pro
Access2000 + ADO
よろしく


355:デフォルトの名無しさん
07/05/02 00:43:07
たまたま2kのファイルを2003で開いてVBA動かすと画面吹っ飛ばない?
ウチだけ?
あとファイルサイズが1GB越えるとMDB壊れやすくなんない?


356:デフォルトの名無しさん
07/05/02 01:48:10
>>354
いかずち

357:デフォルトの名無しさん
07/05/02 01:49:32
>>355
つかいかたしだい
つなぎかたしだい
つなぐものしだい

358:デフォルトの名無しさん
07/05/07 03:00:06
>>354
新規MDBを作成して、全オブジェクトをインポートしてみたらどう?

359:デフォルトの名無しさん
07/05/07 03:00:10
>>354
新規MDBを作成して、全オブジェクトをインポートしてみたらどう?

360:デフォルトの名無しさん
07/05/07 05:29:42
>>354
いつまで正常に動いてた?
プログラムやその他書き換えた部分はある?

ウィルスチェックソフトがマクロウィルス検索して死ぬケースもあったから
一旦チェックを無効にしてみるとかはどう?



361:デフォルトの名無しさん
07/05/07 06:55:43
違うPCがあるならそちらでも実行してみよう

あとプログラムやフォーム等修正するときは
こまめにバックアップ取りましょう


362:sake
07/05/10 04:25:40
Set Access = Nothing

363:デフォルトの名無しさん
07/06/17 09:49:17
とりあえずアクセスについてるサンプルの在庫管理というのをを作ってそれをmdeに変換しようとしたのですがmdeのメニューがグレー化になっていて作れません。
どうしてでしょうか?

364:ひろみつ
07/06/17 17:53:02
SQLiteつかえ。ばかやろう。

365:デフォルトの名無しさん
07/06/17 23:52:22
>>363
バージョンが違うという可能性はないのかい。
Access 2002-2003でも、MDBファイルを新規作成すると、互換性のために
既定ではAccess 2000形式のファイルになるはず。
もし変換元のMDBがアプリと違う形式なら、いったん使っているバージョンと
同じファイル形式(Access 2002使ってるなら2002形式、2003使っているなら
2002-2003形式)に変換してみるとか。

関係ないなら、せめてバージョン情報を出してもらわんと、アドバイスもしづらい。

366:デフォルトの名無しさん
07/07/02 14:55:25
access97&winXPproです

★オートメーションエラー ってなんですか?(ノД`)★

Dim 【cnn As Database】
Dim rs As DAO.Recordset

の【~】内の部分が青く反転してます。


帳票フォームからフィルタをかけて単票フォームを開き
単票フォームの「更新ボタン」を押すと
そのレコード更新&新規レコードを追加するモジュール(DAO)で、最初は動いていました。

帳票>単票のフィルタに、最初クエリ使っていて、
次にVBA
DoCmd.OpenForm "単票フォーム", , , "ID = " & Forms!帳票!ID&
に変えてみた処、単票フォームは同じように開くのに、
モジュールを動かすところに来て「オートメーションエラー」です。。

一度、クエリのフィルタに戻して大丈夫だったのですが
単票フォームをあちこち改良してるうちに、再発しました。

モジュールが悪いのか単票フォームなのか帳票フォームなのか、
そもそも既にクエリ&フォームで開いている元テーブルにデータ追加が出来ないってことなのか・・・


367:デフォルトの名無しさん
07/07/02 15:39:37
自己レスです

【~】部分、一度消して書き直したら、何故か治りました。。。
フィルタも、クエリでもVBAでも、どっちでもイケルし・・・


なんだったんだー!1週間も悩んだのにぃぃぃ~~~~(゚Д゚#)

368:366
07/08/02 19:49:55
治ったと思った↑のオートメーションエラーが頻発します・・・(/_;)

>>367の書き直しすると一時出なくなりますが、また忘れた頃に出てくる。。。


根本的解決法ありませんか?


369:デフォルトの名無しさん
07/08/13 16:26:28
質問があります。

ACCESSで作られたアプリケーションがあるのですが、
それをVBのソースコードとして読めるようにする方法はありますか?

アプリケーションを実行するためのEXEと同じフォルダに、
CABファイルがあり、それを解凍するとDLL,MDBなどのファイルがあります。
MDBを開くと、アプリケーションの中で利用しているデータが格納されている
のですが、肝心のフォームが見つかりません。

DLLのなかにフォームははいっているのでしょうか?
DLLを逆コンパイル(?)すればVBのソースが出てくるのでしょうか?
またはまったく別のことをしているのでしょうか私は(涙)

お手数ですが、よろしくお願いします。

370:デフォルトの名無しさん
07/08/14 00:16:54
muri

371:369
07/08/14 13:49:34
>>370
ありがとうございます。
あきらめます。

372:デフォルトの名無しさん
07/08/14 23:04:01
フォームが無くてもモジュールがある場合もある
mdbをテーブルリンク先としてしか使ってないならむり

373:デフォルトの名無しさん
07/08/14 23:49:18
>>372
Accessで作られたって書いてあるんだからそれはないだろ


374:デフォルトの名無しさん
07/08/20 16:53:02
Access2007の機能である
作成タブ->複数のアイテム
でSelect文の結果を一覧で表示するところまで出来たのですが,
これはインタフェース上から値の変更はできないんでしょうか?

テキストボックスやコンボボックスを配置しても変更が一切変更できません.
データベースの値変更は手動でやるから攻めて見た目だけでも変わってくれたらと思いますが,なにか方法はないものでしょうか?
よろしくお願いします.

375:デフォルトの名無しさん
07/08/20 23:02:28
新規フォームが出来てるだけだから名前漬けて保存してもう一回開けば編集できたよ


376:デフォルトの名無しさん
07/08/21 14:53:58
何度か保存,再起動したことはありますが,だめでした.

とりあえず今のところはクエリでなく,テーブルを直接フォームに表示させるなら編集できるようだったので,
Select発行 すべてテーブルに値コピー フォームで編集 差分を本来のテーブルに反映
っていうとんでも仕様で動かしてます...

377:デフォルトの名無しさん
07/08/22 02:53:33
SELECTの内容をここにうp汁


378:デフォルトの名無しさん
07/08/22 02:54:53
>>376
>Select発行 すべてテーブルに値コピー フォームで編集 差分を本来のテーブルに反映
>っていうとんでも仕様で動かしてます...

とんでも仕様っつーか、普通のアプリはみんなそうだから気にしなくていいよ。


379:デフォルトの名無しさん
07/08/22 13:45:18
みなさん反応ありがとうございます.

>>377
あまりにも長いので割愛させていただきます
やってることは単純で7つのテーブルからJoinしたくらいで,OrderやWhereは与えていません

>>378
そんなもんなんですか?
フォームを開くたびに2分ほど値コピーの時間待ちがあります.
もっとスマートな方法がある気がしたので投稿させてもらいました.

380:デフォルトの名無しさん
07/08/26 09:13:10
PC1からVB6で作ったアプリでPC2に置いたAccessMDBにDAOで接続して"SELECT Now()"という
SQL投げてもPC2のシステム日付じゃなくてPC1のシステム日付が返されてしまいます。。。
PC2のシステム日付を取得する方法はあるのでしょうか?ADOとかならいけるんでしょうか?

他スレで返答がもらえなかったのでマルチしちゃいました。すいません。

381:デフォルトの名無しさん
07/08/26 12:20:56
Jetエンジンはローカルで動いてるのでリモートのシステム日付は取れないよ

382:デフォルトの名無しさん
07/08/26 15:30:22
winsockなりTTマクロなりで、telnetから取るとか。
自分はそれくらいしか思いつかない。

383:デフォルトの名無しさん
07/08/26 18:31:22
WMI

384:デフォルトの名無しさん
07/08/26 20:43:26
なるほど。
「PC2」ってののOSも知りたいところだね。

385:デフォルトの名無しさん
07/08/30 15:24:04
vistaでaccessフォームのテキストボックスに
aaaaaaaaaaaaaという文字列の間に12345という文字列を追加させると
aaaaaa12345aaaaaaaとなるはずがaaaaaa12345というように
挟んだ文字列以降の文字列が消えてしまいます。
vista以外のOSではちゃんとできます。
access2000で作成して 実行させるPCもaccess2000です

解決方法があれば教えていただけますか?


386:デフォルトの名無しさん
07/08/30 16:07:52
OSをデグレードする

387:デフォルトの名無しさん
07/08/30 21:57:31
>>385
Microsoft Office 97、2000 の各 OS での対応表
URLリンク(www.microsoft.com)

388:デフォルトの名無しさん
07/10/30 19:55:41
Accessを使った経験がないのにVBAエキスパート(スタンダード)の資格を取ろうとしています。 が、なかなかうまくいきません。
翔泳社の「VBAエキスパート教科書 Access VBAスタンダード」をすでに5往復くらい学習して、試験も2回受けたのですが落ちました(1回目500点、2回目550点) 。
Microsoft Office Specialist Access version 2002の資格は持っています。ただ、試験勉強を独学でやっただけで、仕事でAccessを使った経験はありません。
現在失業中なので、とにかく履歴書に書くための資格がほしい、というところなのですが。
まずはAccessの使い方を学習したほうが良いのでしょうか?

389:デフォルトの名無しさん
07/10/30 20:37:48
VBAのAはAccessのAじゃないぞ

390:388
07/10/30 23:00:25
>389
はい、それは知っています。
VBAエキスパート Excel 2002 VBAスタンダードは取得したので、今度はAccess VBAをと思っているのですが。

391:デフォルトの名無しさん
07/10/30 23:38:40
マ板の話題だな

392:388
07/10/31 09:52:13
たびたびすみません、マ板てなんですか?
【PC等】のWindows板のことですか?

393:デフォルトの名無しさん
07/11/04 20:57:12
ググれば一発ですが?

394:デフォルトの名無しさん
07/11/06 19:03:03
VBAを使ってOracleにODBC接続して
クエリで抽出したデータを.csvファイルに書き込みたいんだけど、
抽出されたデータを.csvファイルに書き出す方法が分かりません。


クエリの結果がそのままファイルに出力されるような方法があるのか、
それともクエリの結果をどっかの変数に格納してその変数をファイル
に出力するような感じになるのかその変もよくわならないす。


現状ではボタンを押したらクエリが実行されて抽出されたデータが表示
されるところまでできたんですけど、表示しないで
.csvファイルで出力してほしいんですが、どうしたらいいのでしょうか。
答えでなくても、参考になるサイトでもなんでもいいので教えてください。

395:デフォルトの名無しさん
07/11/06 22:29:48
>>394
DoCmd.TransferText

396:デフォルトの名無しさん
07/11/07 21:15:21
AccessにはDate型の現在時間を取得する方法があるらしいですけど、
テーブルの中にDate型でない単なる文字列形式で20071107みたいに
日付データが入っているときに、日付がある範囲内におさまってるデータ
だけ抜き出したいってとき、どうしたらいいんでしょう。
Date型と文字列を比較してもうまくいかないっすよね??

397:デフォルトの名無しさん
07/11/07 21:23:01
Date.StringValue

398:デフォルトの名無しさん
07/11/07 23:08:11
20071107 ÷ 10000 = 2007 あまり 1107

399:デフォルトの名無しさん
07/11/08 20:44:01
VBAにはデフォルトで出力先を選ぶファイルチューザーみたいな
ものないですか

400:デフォルトの名無しさん
07/11/08 21:25:33
なんです…(+ΦyΦ)?此のスレたて馬鹿者は…

401:デフォルトの名無しさん
07/11/08 21:25:57
デフォルトって何?

402:デフォルトの名無しさん
07/11/08 21:27:58
>>400
失礼…(+ΦyΦ)!`実況+.かと思いました…

403:デフォルトの名無しさん
07/11/09 01:14:02
>>399
WizHookかGetOpenFileNameでググレ


404:デフォルトの名無しさん
07/11/09 11:50:58
>>396
DateSerial(Left([日付txt],4),Left(Right([日付txt],4),2),Right([日付txt],2))

#文字列の右4字目までが年、文字列左2文字が日、…「文字列右4字」の左2文字が月


405:デフォルトの名無しさん
07/11/10 09:03:48
真ん中なんでMid()ではなくLeft(Right())なの?

406:デフォルトの名無しさん
07/11/10 16:07:16
それは全レコード変換して比較しようとするから、遅いよ。
比較条件の方を文字列に変換して与えたほうがよくないか。

407:デフォルトの名無しさん
07/11/13 22:15:10
Aceessのテーブルで、ただ単に一番上のレコードだけを抽出するselect文ってどのように書けばいいのでしょうか?

408:デフォルトの名無しさん
07/11/13 22:24:21
select top 1 にょろ~

ふたつくるときもあるけどな~

409:デフォルトの名無しさん
07/11/13 22:28:23
>>408
ってことは
select * from test where top = 1
でいいの??
table名がtest

410:デフォルトの名無しさん
07/11/13 22:39:52
>>409です。トップの使い方は解りました。ありがとうございます。
ところで、
select top 1 フィールド名… from test
という事で指定できる事はわかったのですが。
top1で、フィールドがめちゃくちゃ多い場合など、レコードの一行目を全て指定する事は
できないのでしょうか?それともフィールド名を全て書く必要があるのでしょうか?

411:デフォルトの名無しさん
07/11/13 22:43:47
問題が解決しました!!
select top 1 * from testでいけました

412:デフォルトの名無しさん
07/11/14 16:04:04
今WinXPでACCESS95、97、2000、2003が入っているんですが。
昨日ACCESS2003のSR3当てたらいままで保存出来てたmdbファイルが
保存ボタン押すと強制終了するようになっていまったんですが
同じ状況の人います?

保存できないから使いもんになんないですよ!

413:デフォルトの名無しさん
07/11/14 17:07:14
新しいMDB作って全部インポートしてみるといいかもしんない

414:デフォルトの名無しさん
07/11/15 01:40:01
39

415:デフォルトの名無しさん
07/11/20 15:21:06
Access から SQL Server へ接続した際の質問です。
Access にてテーブルを開き、右クリック→インポートを選び、
ファイルの種類「ODBCデータベース」を選び、接続した場合は、
すべてのテーブルにおいて、インポートすることが可能です。
しかし、AcesssVBA にて、以下のコードでアクセスすると、ある特定の
テーブルにアクセスできず、エラーで停止してしまいます。
(別なテーブルは、以下のコードでアクセスする事は可能です。)
ConnectionString あたりに問題があるのでしょうか。

Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim str As String
cn.ConnectionString = "driver={SQL Server};server=ser;uid=sa;pwd=;database=FA"
cn.ConnectionTimeout = 10
str = "SELECT * FROM HOKEN"
rs.Open str, cn, adOpenKeyset, adLockReadOnly  ←この行でエラーで止まる場合があります。

※str の中でテーブル名を「HOKEN」としているとアクセス出来ないが、
それを「TANKA」に変更するとアクセス出来る。

416:デフォルトの名無しさん
07/11/20 19:41:35
エラーの内容ぐらい書けよ。
とりあえずODBCなんてやめれば?

cn.ConnectionString = "Provider=SQLOLEDB.1;Password=;User ID=sa;Initial Catalog=FA;Data Source=ser"


417:415
07/11/22 09:59:19
>>416
レスありがとうございます。

ConnectionStringの内容を書いているように変えてみたのですが、
ある特定のテーブル「HOKEN」のみアクセスが出来ず、rs.openの時点で止まりました。
エラーは以下のようになりました。

●あえてサーバ上に存在しないテーブル「KIHON2」を指定した場合。
実行時エラー
オブジェクト名'KIHON2'は無効です。

●サーバ上に存在するが、プログラムで読めなかったテーブル「HOKEN」を指定した場合。
実行時エラー
キーワード'HOKEN'付近に正しくない構文があります。

418:デフォルトの名無しさん
07/11/22 13:15:02
str = "SELECT * FROM [HOKEN]"
これでもダメかな?

419:415
07/11/22 14:02:39
>>418
読み取ることが出来ました。非常に助かりました。ありがとうございます。

420:415
07/11/22 14:23:41
調べてみたのですが、分からなかったのでここで質問します。
SQL構文でテーブル名を[]を使う表記方法って何か意味があるのでしょうか。
そもそも、そういう表記をしたサンプルは見当たりませんでした。
SQL Server の特有の仕様であるとか、誘導していただけるだけでも結構です。
よろしくお願いします。

421:デフォルトの名無しさん
07/11/22 15:35:08
>>420
URLリンク(msdn2.microsoft.com)
要は普通使えない名前(予約語とかスペースが入ってたりとか)をテーブル名や列名に使うときに付ける。
「HOKEN」なら普通に使えると思うんだけど、なんか違う名前でもお使いでないかい?

422:415
07/11/22 16:23:58
>>412
情報ありがとうございます。

フィールド名においても、Useというものを入れるとエラーで終わったり
していましたので、そのあたりが関係してそうですね。
もしかしたらスペースが入っていたのかもしれません。
テーブル名を変えるなどして良く調べてみます。
丁寧にありがとうございました。

423:デフォルトの名無しさん
07/11/22 17:21:07
同名のViewとかを定義しているとか
実は全角で入ってるとか


424:デフォルトの名無しさん
07/11/22 17:56:57
Accessてなんか裏技ないの?
Excelで隠しレースゲームができるみたいにさ。

425:デフォルトの名無しさん
07/11/22 18:31:33
AccessにADOで接続して次のようなステートメントを発行しています。
========成功する例========
BEGIN;
CREATE TABLE `testmdb_article` (
    `id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
    `pub_date` datetime NOT NULL,
    `headline` varchar(200) NOT NULL,
    `article` longtext NOT NULL,
    `reporter_id` integer NOT NULL);
CREATE TABLE `testmdb_reporter` (
    `id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
    `full_name` varchar(70) NOT NULL);
COMMIT;
========失敗する例========
BEGIN;
CREATE TABLE `testmdb_article` (
    `id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
    `pub_date` datetime NOT NULL,
    `headline` varchar(200) NOT NULL,
    `article` longtext NOT NULL,
    `reporter_id` integer NOT NULL);
CREATE TABLE `testmdb_reporter` (
    `id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
    `full_name` varchar(70) NOT NULL);
ALTER TABLE `testmdb_article` ADD CONSTRAINT reporter_id_refs_id_79fe4b3d FOREIGN KEY (`reporter_id`) REFERENCES `testmdb_reporter` (`id`);
COMMIT;
もともと MSSQL 用に書かれた python の Django の ado_mssql で
python manage.py syncdb したときに自動生成されたクエリです。
出来れば FOREIGN KEY が付いている状態で動作させたいのですが・・・

426:デフォルトの名無しさん
07/11/23 01:16:12
>>425
AUTO_INCREMENT って MySQL じゃなかったっけ?
Access だとこんな感じなんだけど、これじゃダメかい?

CREATE TABLE testmdb_reporter (
id AUTOINCREMENT PRIMARY KEY,
full_name CHAR(70) NOT NULL
);
CREATE TABLE testmdb_article (
id AUTOINCREMENT PRIMARY KEY,
pub_date DATETIME NOT NULL,
headline CHAR(200) NOT NULL,
article LONGTEXT NOT NULL,
reporter_id INTEGER NOT NULL,
CONSTRAINT fk_article_reporter FOREIGN KEY ( reporter_id ) REFERENCES testmdb_reporter ( id )
);

427:デフォルトの名無しさん
07/11/23 02:56:07
Access自体が、Officeの裏技

428:デフォルトの名無しさん
07/11/23 05:39:25
ありがとうございます
続きをやっているのですが今度はこんなエラーが出てきてしまって
先にすすめません><

com_error: (-2147352567, '\x97\xe1\x8aO\x82\xaa\x94\xad\x90\xb6\x82\xb5\x82\xdc
\x82\xb5\x82\xbd\x81B', (0, 'Microsoft JET Database Engine',
 "\x83N\x83G\x83\x8a\x8e\xae
'([django_content_type].[model] = %s AND [django_content_type].[app_label] = %s)'
\x82\xcc\x8d\\\x95\xb6\x83G\x83\x89\x81[ ",
 None, 5003000, -2147217900), None)
-- on command: "SELECT [django_content_type].[id],[django_content_type].[name],
[django_content_type].[app_label],[django_content_type].[model]
FROM [django_content_type] WHERE
([django_content_type].[model] = %s AND [django_content_type].[app_label] = %s)"
-- with parameters: ['message', 'auth']


429:デフォルトの名無しさん
07/12/08 12:56:29
ベンダーから上がってきたシステムのコードを見たら、

日本語変数/関数
option explicitなし
Dim i,j,k as integer
定数極小で、たいがいリテラルで記述
ひたすらIf文並べてやたら長いプロシージャ

なんか頭が痛くなってきたんだけど・・・
これはAccess開発現場においてふつーのことなんですか?



430:デフォルトの名無しさん
07/12/08 16:11:48
>429
入門書なんかじゃ普通に日本語変数名使ってるからなぁ。
発注側がコーディング規約示して縛るしかないんじゃね?

431:デフォルトの名無しさん
07/12/08 17:53:13
>>429
素人ならともかく、開発で食ってたらふつーなわけない。
そのソフトハウスが、そういうレベルってだけの話では。

一業者の(たぶん底辺の)例をもってしてAccess一般を
語ろうとするのは、ちょっと無理。

もしハズレの業者をつかんでしまったのでどうすれば
いいかという話なら、>430 の通りかもしれないけど、
それはAccessに限らずP言語でもG言語でも一緒。

仮に自分のところなら、誰が書こうが内部のコードレビューで
NG食らうだろうから、そんなコードは外に出ようが無い。

432:429
07/12/08 18:59:17
なるほど
比較的、取引のある会社に今回初めてAccessのシステムを発注したんですが、
それまでは一貫したコード規約だったので・・・
自分、Accessはまったく分からなく、ほぼ丸投げにしたのであまり偉そうなことも言えないけど、
Option Explicitのないモジュールを見た衝撃と言ったら、それはもう(ry

433:デフォルトの名無しさん
07/12/08 20:53:57
>>429
定数が"まったく"無かったら、自動出力なコードかもしれない って思った。

434:デフォルトの名無しさん
07/12/08 22:46:30
Dim i,j,k as integer
これはなにかおかしいのか

435:デフォルトの名無しさん
07/12/08 22:48:45
i と j は variantになってると思うよ。


436:435
07/12/08 22:50:56
あれ? 2002あたりから、大丈夫になったんだっけ? VB.netだけだっけ?
もうよくわからんくなった。

437:デフォルトの名無しさん
07/12/08 23:24:27
>>434

438:デフォルトの名無しさん
07/12/09 00:52:49
>>436
Office2000以降は今のところ全部VBA6.0で変わってない筈だから>>435でok

439:デフォルトの名無しさん
07/12/09 01:45:46
残念ながら>>434みたいのが珍しくないのが最下層下請け開発会社(オフィスはマンションとかw)の現状ってやつです。

440:435
07/12/09 13:42:50
>>438
了解した。 thx!

441:デフォルトの名無しさん
07/12/15 22:05:41
>439
あるあるw
そういう奴に指摘すると
「なんて糞な言語仕様なんだVBは!」
とか言い出すww

442:デフォルトの名無しさん
07/12/16 17:06:18
フランシーヌ様・・ドットーレは・・怒りでどうにかなってしまいそうです・・・

Dim i,j,k as Long

For i=12 to 255
 If j=1 Then
  Msgbox "あたり"
 End If
 If j=0 And i=256 Then
  Goto EXIT_DAYO
 End If
 While k<1
  Value=Cstr(j) & Cstr(k)
  k=k+0.1

 Wend
Next

EXIT_DAYO:

443:デフォルトの名無しさん
07/12/18 21:39:57
なんかテーブルとクエリが200個、フォームとレポートが200枚くらいある
mdbを数個引き継ぐことになったんですが、なんか仕様書が一枚もありません。
くるくるぽんで仕様書を出してくれるフリーソフト無いでしょうか。


444:デフォルトの名無しさん
07/12/18 22:21:11
地味にウンコの海をかき分ける
これ

445:デフォルトの名無しさん
07/12/19 19:36:14
仕様書よむよりコーディングを読むほうがわかりやすいんじゃねえ?

446:デフォルトの名無しさん
07/12/19 19:56:43
>>445
どのフォームがどのテーブルを参照してて、そのテーブルには
どういうカラムがあるのかとかをパッと参照できないじゃん。。。
デザインビューとデータシートビューを同時に並べて見比べる
こともできないし・・・。

447:デフォルトの名無しさん
07/12/19 21:54:06
こんな感じで各オブジェクトの内容をテキストにしてまとめりゃ良いだろ
Access歴1ヶ月に満たない俺でもこれぐらい考えつくってのに、藻舞はセンスねえな

Set objFrm = Me

For Each objElms In objFrm.Controls
If objElms.ControlType = acComboBox Or objElms.ControlType = acTextBox Then
Debug.Print objElms.Name & vbTab & objElms.ControlSource
End If
Next


448:デフォルトの名無しさん
07/12/19 22:10:49
俺もいろいろ解析ツールをつかってみたが、結局自分で作ったものが最高だった。

449:デフォルトの名無しさん
07/12/19 23:35:33
明日からまたウンコの海を泳ぐ仕事がはじまるお・・・

450:デフォルトの名無しさん
08/01/07 01:16:29
>443
このへんはどうかね?
URLリンク(homepage2.nifty.com)
死様の海を泳ぎきる手助けになれば幸いですが。

でも個人的感覚としては、その状態になってしまうと(ry

451:デフォルトの名無しさん
08/01/07 22:22:30
ACCESS2003に関する質問です。
現在、ACCESSの勉強をしています。
データ連結したフォームの詳細セクションは、レコードセットの件数に応じて繰り返し表示されるけど、
データ連結をせずにコードから詳細セクションの追加・削除するにはどうしたらいいですか?
データ連結をせずにというのは、極端な話DBに一切アクセスせず=データ無し、ということです。

[背景]
実際には、データの保持にレコードセットを使う代わりに書籍クラスなど(のコレクション)を使用するということがしたいのですが
そのためには、上記の方法が判明すれば実現できるだろうと考え質問しました。

よろしくお願いします。

452:デフォルトの名無しさん
08/01/08 00:09:19
連結フォーム使わないならフロントエンドはVBでいいじゃない

453:デフォルトの名無しさん
08/01/08 01:21:25
ACCESSはデータベースと連結することを前提に作られてるからね。
その特性が利用できないと逆に不便になる。

454:デフォルトの名無しさん
08/01/08 07:44:24
なんで書籍テーブル作らないの

455:デフォルトの名無しさん
08/01/08 08:17:53
>>452,453
確かに、うすうす感じていましたが、連結フォームを使わなければ本領は発揮できないんですね
ACCESSにおける設計の選択肢を増やそうと思っていたのですが、
クラスを駆使したいような時は言語の再検討をした方がよさそうですね
今回は単に勉強しているだけなので、ここで区切りを付けデータ連結の勉強に移ろうと思います。

>>454
いえ、書籍テーブル及びADOを使ってデータ取得をし、そのデータを元に書籍クラスを生成するという流れになります。


456:デフォルトの名無しさん
08/01/08 14:36:07
コード上でレコードセットの内容をいじっておきゃいいだけに感じるのは、
ワタシの読解力不足からでしょうか

457:デフォルトの名無しさん
08/01/08 22:59:57
おれはクエリ作ってそれに連結すりゃいいだけに感じるけど
OOPな人は違うんだろうなきっと

458:デフォルトの名無しさん
08/01/09 00:39:29
OOPとかご大層なもんじゃないよ>>455の言うことは
クラスのドンガラ作ってコレクションに入れることにこだわってるけど、
実現できることは構造体の配列と変わらん
というかコレクション使うと遅いので実用的じゃない
素直にワークテーブル作れと言いたい

459:デフォルトの名無しさん
08/01/11 01:40:59
テーブルのルックアップで2列のコンボボックス、たとえば

1 | 山下
2 | 西田
3 | 小野

みたいなのがリストで表示されるものを作りました。1列目が
連結列で、2列目が名前です。しかしながら、
このままでは、表示が一列目のキーの数字になってしまいます。
列幅の指定で一列目を0cmにすると名前が表示されるのですが、
リストをドロップダウンしたときに、先に示したようにキーと
名前の2列ではなく、名前だけの一列になってしまいます。

また、一列目にキーがきていると、オペレーターが入力する時に
楽なのでこの順番は変えたくありません。

どうすれば、ルックアップで2列で、名前が表示されるように
できるのでしょうか。

460:デフォルトの名無しさん
08/01/11 02:39:13
そういう時はコンボボックスの右隣にテキストボックス置いてそのコントロールソースを
=コンボボックス.Column(1) にするのが一般的だけど、その仕様にこだわる理由って
何かあるの?

461:デフォルトの名無しさん
08/01/11 09:43:46
2列表示のリストにすればいいんじゃないの?

462:デフォルトの名無しさん
08/01/12 19:58:09
>>459
コンボボックスのプロパティ一覧をもう一度良く見てみろ


463:デフォルトの名無しさん
08/01/12 21:23:05
久々にAccess触ってます。
バージョンは2003。
レポートのソースにADOのRecordsetって指定できないんでしょうか?
クエリー作らなきゃだめですか?

464:デフォルトの名無しさん
08/01/12 21:25:28
カーソルを変えれば医院で内科医

465:デフォルトの名無しさん
08/01/13 01:24:51
クエリーにADOとかDAOとかの区別があるの?

466:デフォルトの名無しさん
08/01/15 11:38:04
>>463
VBAでソース指定したいてことか?

467:デフォルトの名無しさん
08/01/17 22:09:09
>>460
それって一般的なの?

468:463
08/01/21 18:40:08
>466
それです。
VB6とどっかの帳票ツールなんかだと
Set Report.Source = Recordset
みたいな感じでできたので・・・

469:デフォルトの名無しさん
08/01/23 11:34:01
>>468
レポートオープンイベントのときに
Me.RecordSource にSelect文ぶち込むわけにはいかないのかな?

470:デフォルトの名無しさん
08/01/23 11:41:42
あ、ADOでしたね、失礼。

471:463
08/01/23 19:55:44
>469
あ、なるほどそういう方向性か。
なんとなくできそうな気がしてきました。
試してみます、ありがとう。

472:デフォルトの名無しさん
08/01/26 01:59:28
フォームやレポートのコントロールソースに式やSQLを書いたときに
それを後から検索したいと思いました。例えばコントロールソースに
select * from 区分マスタと書いて、それをVBAの
Application.Forms("フォーム").Controls(0).Value
みたいにして取得できるかなと思ったのですが、なんかうまく取得
できませんでした・・・。GUIのプロパティ画面で見えている
コントロールのプロパティの値を取得することはできないのでしょうか

473:デフォルトの名無しさん
08/01/26 12:57:49
自分で「コントロールソース」って書いてるんだから、「Value」じゃなく
「ControlSource」じゃないの。

474:デフォルトの名無しさん
08/01/26 17:58:24
ちょっと聞きたいんだが、モジュールとかフォームのバージョン管理ってどうやってんの?
まじで悩むんだけど。svnに突っ込んでみたけど、svn diffしてもバイナリの差分しか
取れないし、どうやって履歴管理してんの?

475:デフォルトの名無しさん
08/01/27 15:16:16
ふつうはsaveastextしたファイル単位(オブジェクト単位)じゃね?
VSSが無いと入出力が面倒だけど。

476:デフォルトの名無しさん
08/01/28 12:59:05
>474
URLリンク(msdn2.microsoft.com)(VS.80).aspx
とか参考にならないかな
実は俺もやった事ないのだが

477:デフォルトの名無しさん
08/01/31 22:44:07
やったこと無い事じゃなくて、現状どうやってんの?


478:デフォルトの名無しさん
08/02/01 00:48:35
過去も現状もやったことねえよ

479:デフォルトの名無しさん
08/02/02 20:58:24
たとえばフォームのプロパティをプロパティダイアログから変更したとして
その変更履歴もVSSから差分を確認できたりするの?

480:デフォルトの名無しさん
08/02/03 22:31:57
型番  日付
A    2008/02/03
B    2008/02/04
C    2008/02/05
D    2008/02/06
E    2008/02/07
F    2008/02/08

エクセルで上記のような表があるとします。
クエリに関数を入れて本日~4日後の2008/02/06までを”全て”
抜きとって表示したいのですが関数わかる方おられませんか。

2008/02/07と2008/02/08は不要としたいのです。
自動的に毎日4日間を抜き取ることはできますか?




481:デフォルトの名無しさん
08/02/03 22:56:06
マルチすんな死ね
スレリンク(db板)


482:デフォルトの名無しさん
08/02/07 19:10:38
すいません、アクセスの問題を解いてくれと言われて安請け合いしてしまったんですが…
実は私は全くわからないんです
簡単(らしい)な2つだけの問題なので、誰か教えてください…お願いします
URLリンク(www.vipper.org)

483:デフォルトの名無しさん
08/02/08 09:14:52
ちょw404wwwwwwww

484:デフォルトの名無しさん
08/02/10 03:46:30
vistaでaccess2007を使用しています。市販のテキスト通りに操作をして、
フォームウィザードでフォームを作成し、新しいデータを入力しようとした所、
「新しい行に値を追加するにはまず行をコミットする必要があります。行をコミットしてから、
値の追加をしてください。」というメッセージが出て、入力が出来ません。
どうすればよいのでしょうか?宜しくお願いします。

485:デフォルトの名無しさん
08/02/10 05:49:41
>482
うpロダの流れが速すぎて誰も問題見れてない疑惑。

>484
バージョンが合った本を参考にしてる?普通本の記事なら動作確認してるはずだが・・・。
症状からさっするに、自動コミット関連じゃね?


486:デフォルトの名無しさん
08/02/18 23:38:59
フォームを開く時にパラメーターを渡すってOpenArgsかグローバル変数しかないの?
ていうかOpenArgsって複数形なのになんで引数一つだけなの?
普通、argsっつったら可変引数なんじゃね?

487:デフォルトの名無しさん
08/02/23 12:53:12
accessでフォームを作ってみたのですが、
デスクトップのアイコンをダブルクリックすると、accessが起動してその中に
オレのデザインしたフォームが表示されます。

これをデスクトップ上のアイコンをクリックすると、
オレがデザインしたフォームだけ表示するようには出来ますか?

ベクターでDLしたソフトはアクセスは表示されません。
どうしたら良いのか教えてキボンヌ。
CとかC++とかJAVA?とかじゃないと駄目なんでしょうか??orz

488:デフォルトの名無しさん
08/02/23 13:33:56
Access Runtime Edithion を使え

489:デフォルトの名無しさん
08/02/23 13:46:41
>>488
accessで作って更にVBEってやつで弄くるのかと思ってました。むずかしすぐるorz
AREでできるんですか(ノД`、)ヒントありがとうです。

490:デフォルトの名無しさん
08/03/05 00:42:36
質問です。テーブルに日付を入力する際に

H20/3/4

と日付を入力することになりますが

自分の会社が和暦で管理しているので

和暦コードで平成を4とすると

4200304

と入力した上で日付に変換させたいのですが・・・。

やはりVBAでないとだめですか?

関数で数値処理してどうにかしたいのですが。ご教示お願いします。


491:デフォルトの名無しさん
08/03/05 08:39:59
関数で数値処理してどうにかなるぜ

492:デフォルトの名無しさん
08/03/05 08:41:25
別テーブルにアクセスしてもいいならDLookupを使う
だめならIIFでいいよ


493:デフォルトの名無しさん
08/03/05 08:54:46
西暦で 8/3/4と入れるとH20/3/4になるよ。複雑な関数作るよりラク。 


494:デフォルトの名無しさん
08/03/06 21:41:34
Access SQLにはCase句がないんだっけ
IIFのネストじゃ不便やのう

495:デフォルトの名無しさん
08/03/06 23:12:42
Switch関数を知っての狼藉か?

496:デフォルトの名無しさん
08/03/06 23:21:35
Accessのテーブルの列属性の表をExcelのワークシートに書き出そうと思っても、
デザインビューを開いて表を選択コピーしても、張り付けられないのか。
どうすればいいんだ。

497:デフォルトの名無しさん
08/03/06 23:58:24
「列属性の表」の時点で解読を断念した

498:デフォルトの名無しさん
08/03/07 02:22:56
Accessのテーブルの列属性の表のコピペの貼り付けの可否の質問かい?

499:デフォルトの名無しさん
08/03/07 07:40:26
テーブルのデザインビューの話か?
ならVBAからDAO.TablaDefとかで取得する

500:デフォルトの名無しさん
08/03/09 01:07:03
教えて下さい。

姓・名・生年月日が同一の、重複するデータが50件あるとします。
例:たなかまきこ1981/2/24が3件
  いずみもとや1988/3/14が5件・・・
これらのデータにはそれぞれ異なる「入会日」が日付としてあるのですが、姓
・名・生年月日が同じデータの中で入会日が一番わかいものだけを抽出するに
はどういうデザインを書いたらよいでしょうか。

お手数ですが宜しくお願いいたします。


501:デフォルトの名無しさん
08/03/09 01:22:42
1.姓・名・生年月日・入会日 のテーブルを作成する。会員TBと命名
2.姓・名・生年月日を主キーにする。
3.データを入会日順に並び替え、会員TBに追加する。

以上の手順を実行すると、会員TBには会員と一番若い入会日のデータが抽出される。

502:デフォルトの名無しさん
08/03/09 02:10:21
同姓同名誕生日まで一緒の人間が50人いてどうしようって
年金の名寄せ処理くらいしか思いつかねえよw

503:デフォルトの名無しさん
08/03/09 03:58:05
つまり質問者は社会保険庁でおk?

504:デフォルトの名無しさん
08/03/09 04:22:51
ワロタ

505:デフォルトの名無しさん
08/03/09 14:03:56
>>500
select 姓, 名, 生年月日, max(入会日) as 最新入会日
from データ
group by 姓, 名, 生年月日

>>501
姓・名・生年月日を主キーにしたら重複した49件が挿入できんだろが。

>>502
同じ人間が忘れて何度も会員登録することはある。そういうのが25人いて
それぞれ2回重複登録することはありそうだが。

506:デフォルトの名無しさん
08/03/09 16:41:41
皆様、ご回答いただきありがとうございました。
505様、解決することができました。
アドバイスありがとうございました・・・!

本当に助かりました、ありがとうございました。

507:デフォルトの名無しさん
08/03/09 19:36:55
教えてください。
下記のような勤怠テーブルがあります。
(実際には時系列でBさん、Cさんの勤怠も入り混じってます)

ここから日付ごとに「9時以前の稼働時間」・「9時から17時までの稼働時間」
・「17時以降の稼働時間」を割り出すには、どうしたらいいでしょうか。


日付           .│名前│ 勤怠

2008/03/03 07:00:05 │ A │ 出社
2008/03/03 15:03:32 │ A │ 退社
2008/03/03 17:02:55 │ A │ 出社
2008/03/03 19:35:04 │ A │ 退社
2008/03/04 08:34:12 │ A │ 出社
2008/03/04 18:42:25 │ A │ 退社
2008/03/05 07:35:02 │ A │ 出社
2008/03/05 17:06:47 │ A │ 退社
2008/03/05 18:02:24 │ A │ 出社
2008/03/06 15:26:47 │ A │ 退社

お願いします。

508:デフォルトの名無しさん
08/03/09 20:16:20
edate

509:デフォルトの名無しさん
08/03/10 20:39:21
擬似コードを5分で考えたけど長すぎて貼れなかった。ようは
出退ごとに時間をぶつ切りにしてループで3つの時間計の
区分に加算していけばいいのでわ。VBAで

510:デフォルトの名無しさん
08/03/10 20:48:09
クエリ一行で済むだろ

511:デフォルトの名無しさん
08/03/10 21:27:15
>>510
一行でやれるならさっさと見せてほしいわ。

512:デフォルトの名無しさん
08/03/10 21:33:02
>>511
クエリで作れば確かにクエリ呼び出しの1行で済むわな・・・・

513:デフォルトの名無しさん
08/03/10 23:03:23
少なくとも1行では無理ぽ

5回も6回も出社退社を繰り返したりしないとか、
かならず、出社したらその日中に退社するとか決まってるのかな。

3月5日にAさんが退社してないことになってるので、
それの対応も考えないといけない?

そのへんまでSQLでカバーするくらいなら(しなくても?)
VBで日付順に並べてfor文回す方が楽だ。

514:デフォルトの名無しさん
08/03/10 23:25:05
まじめに答えると

勤怠リストに保存する際に計算して 9時前 9~17時 17時以降
の労働時間フィールドに書き込むのが間違いなく実用的だな・・・

Forでまわしてもいいけど 1日に複数の出社があるので意外と複雑な処理になる

退社データ入力時に直近の出社データとの時間計算して3つに分けるべき

515:デフォルトの名無しさん
08/03/11 00:15:06
       ____
     /      \
   /  _ノ  ヽ、_  \
  /  o゚⌒   ⌒゚o  \  もう17時以降から翌9時まで出勤しっぱなしの仕事はいやだお…
  |     (__人__)    |  
  \     ` ⌒´     /


516:デフォルトの名無しさん
08/03/11 00:15:09
while 1 {
  if (st < 09:00 && ed < 09:00) {
    time1 += ed - st
    getTimes(st, ed)
  } else if (st < 09:00 && ed >= 09:00) {
    time1 += 9:00 - st
    st = 9:00
  } else if (st >= 09:00 && ed <= 17:00) {
    time2 += ed - st
    getTimes(st, ed)
  } else if (st >= 09:00 && ed > 17:00) {
    time2 += 17:00 - st
    st = 17:00
  } else if (st >= 17:00 && ed < 24:00) {
    time3 += ed - st;
    getTimes(st, ed)
  } else if (st >= 09:00 && ed >= 24:00) {
    time3 += 24:00 - st
    st = 00:00
  }
}
こんなかんじで!

517:514
08/03/11 00:45:38
>>515

勤怠入力時に入力チェックくらいするだろw

>>516

VBAじゃないし
しかもそれじゃ・・・

518:デフォルトの名無しさん
08/03/11 01:04:35
AccessもSQLServerとかのデータベースみたいに、ストアドファンクション
のようなユーザー定義関数作ってSQLで使えますか。

519:デフォルトの名無しさん
08/03/11 01:28:27
>>514
逐次に計算するのも、〆で計算するのも同じだろう?
何かが違うのか?

520:デフォルトの名無しさん
08/03/11 01:29:28
使える。

Round()関数の仕様が四捨五入じゃなくて丸めだから
JRound()関数とか勝手に作って本当の四捨五入関数としてSQLで使ったりしてる。

521:デフォルトの名無しさん
08/03/11 01:31:01
すみません
いまさらですが>>507はフレックスタイムでお願いします

522:デフォルトの名無しさん
08/03/11 01:53:57
>>507
これは勤務が日付をまたがる可能性はあるのか?
ex. 出勤 21:00→ 退勤翌日 08:00

523:514
08/03/11 02:44:14
>>519
特に処理に違いは無いが、入力時に必ずチェックするだろ
出勤の後に退勤が入力されているかどうかなど・・・

その時に1件づつ処理したほうが間違いが起きにくい
コードが書けるし、何より処理が早い

1回の出勤・退勤で計算する処理が意外と複雑だから
複数人の1ヶ月の集計を表示すること考えると
時間かかるかもしれないぞ

前もって入力時に計算しておけば一瞬で1ヶ月集計&10人分でも
表示可能だ

SQL集計関数で1発でできるなら必要ないが、俺には思いつかんし
(正確には考えたくない)
それより逐一計算してやったほうがはるかに楽だし早い

524:デフォルトの名無しさん
08/03/11 07:53:19
鉄道会社が一部の夜行を除いて
24時間営業しないのは
勤怠管理が激しく面倒になるからだろうな

525:デフォルトの名無しさん
08/03/11 19:12:30
ボケが半端すぎて反応に困る

526:デフォルトの名無しさん
08/03/11 20:21:59
アクセス2003を使ってますが、
一つのセルだけ上と同じデータを永遠
と入力するにはどうすればいいですか?



527:デフォルトの名無しさん
08/03/11 22:32:45
おまえが使ってるのはエクセル2003

528:デフォルトの名無しさん
08/03/12 00:28:29
名前、日時の順にソートして、
出勤退勤が交互に来てるのをチェック
二件ずつ日時をとって、
サブルーチン:出勤日時,退勤日時→各時間帯の変数にプラス。
名前が変わったら変数初期化して続きを処理。

こんな感じでどう?

529:デフォルトの名無しさん
08/03/12 10:55:30
>>528

そんなことしなくても
逐次処理すれば1回の処理で済むと何度言えば・・・・

その処理じゃプログレスバー出さなきゃならん位
遅いはずだな・・・

途中でAPIでメッセージキュー処理しないとクリックしたりした途端
「応答なし」になるかもね

530:デフォルトの名無しさん
08/03/12 14:24:47
>>529
逐次処理できない理由があるんジャマイカ?
元データが市販のタイムレコーダだったりとか。

531:デフォルトの名無しさん
08/03/12 21:29:08
やっぱアクセスは遅いから駄目だな。

532:デフォルトの名無しさん
08/03/12 21:35:46
日付           .│名前│ 勤怠

2008/01/01 00:00:01 │ A │ 出社
2008/12/31 23:59:59 │ A │ 退社




もういやだお・・・

533:デフォルトの名無しさん
08/03/13 21:52:06
>>529
元の質問が「割り出し方」な件。

テーブル参照しかできない場合もあるし、
逐次処理って、タイムカードを挿すの忘れたアフォがいた場合、
修正箇所が分散するので、
レコード件数によっては
計算させるのも悪い設計じゃないと思う。

534:デフォルトの名無しさん
08/03/19 00:06:38
値集合タイプにユーザー定義関数を使うことができますが、このときの
関数に何かパラメータを渡すことはできないんでしょうか。具体的に言うと、
「ファイルリスト」みたいな関数を作り、パスを渡して、そのディレクトリ中の
一覧をリストに表示するようなことをやりたいのですが。グローバル変数で
渡すことも考えましたが、ひょっとしてマルチスレッドで動いていたら、
おかしくなりそうな気がしてやめました。お知恵をお貸しください。

535:デフォルトの名無しさん
08/03/19 00:39:44
面白いこと考えるね。
グローバル変数でいいんじゃないのかな。
マルチスレッドという話は聞かないから(マルチスレッドにしたい→無茶、みたいな流れはよく見るけど)。
特に他にいいやり方は浮かばない。>>536 に期待。

536:デフォルトの名無しさん
08/03/19 00:46:14
ディレクトリを渡せればいいんだよね。
別に引数や変数で渡すことなくて、そのディレクトリをあらかじめ
ChDriveやChDirでカレントにしておけばいいんじゃね。
ユーザー定義関数内では何も考えずにカレントディレクトリを
検索すれば済みそうな希ガス。

537:デフォルトの名無しさん
08/03/19 00:58:54
対象が何かわからないけど仮にコンボボックスとして、値集合タイプのプロパティは

1.テーブル/クエリ
2.値リスト
3.フィールドリスト

この3択だったはずだけど、ユーザー定義関数ってどこで使うの?

538:デフォルトの名無しさん
08/03/19 01:39:30
URLリンク(msdn.microsoft.com)
「メモ」嫁

539:デフォルトの名無しさん
08/03/19 02:27:20
>>534
VBAでやれば?

540:デフォルトの名無しさん
08/03/21 01:08:18
Access 2003 ランタイムとOffice 2003 SPを同梱して再頒布するのはOKだろうか?
Office 2003 SPはライセンス違反になるかな。

セキュリティー警告に対応するため、VBAにデジタル署名を入れたんだけども
Access 2003 の既知問題で SP1 以上のインストールが必要になってしまった。


541:デフォルトの名無しさん
08/03/22 08:07:21
mdbを開いたときに、ユーザにより初期表示フォームを変えたいのですが、
mdbファイルに起動パラメータを付加するようなことは可能ですか?
選択メニューフォームなどは作成せずに、起動パラメータを付加した
mdbへのショートカットを複数作れたらと思ってます。

542:デフォルトの名無しさん
08/03/22 08:55:54
URLリンク(support.microsoft.com)

543:デフォルトの名無しさん
08/03/22 09:07:49
「ユーザーにより」なんだから
最初にログイン画面出して
ユーザー毎にログイン後の
ページを変化させるべきだろ

544:デフォルトの名無しさん
08/03/22 10:57:00
>>542
ありがとうございます。それで行けそうです。

>>543
今回はユーザ管理機能は必要のない簡易システムの提供ですので、
ログイン画面やメニュー画面などを付加して、
ユーザ作業を増やすことは考えてません(ユーザ管理も必要ですし)。
1クリックでも省きたいとうのが質問の意図です。

545:デフォルトの名無しさん
08/03/22 14:34:48
クリックがいやならPCを窓から投げ捨てればいいじゃない

546:デフォルトの名無しさん
08/03/22 14:43:25
そこ、そんなに食いつくところか?w

547:デフォルトの名無しさん
08/03/22 22:01:10
環境変数からユーザー名取れるだろ。

548:デフォルトの名無しさん
08/03/23 00:01:10
ちょwwおまwww
WinのログオンユーザとAccessの管理ユーザ一緒かよwww

549:デフォルトの名無しさん
08/03/23 00:11:19
SQL Serverだって同じ選択肢があるのだからいいだろ。そんなに変か

550:デフォルトの名無しさん
08/03/23 03:24:15
Access使ってる時点で終わってるから

551:デフォルトの名無しさん
08/03/25 20:14:47
フィールド1:姓+名+誕生日
フィールド2:入会日

上記のデータで、フィールド1が同一でフィールド2が異なる複数件のデータが
あるとします。
抽出クエリで、フィールド2が最大のものを抽出したいんですが、
この時にフィールド2が同じ日ならデータとして残しておく(最大抽出では消
えてしまう)ようにするにはどうデザインしたらいいですか?

すみませんが、教えて下さい。


552:デフォルトの名無しさん
08/03/25 20:38:32
>>551
Select * from hoge Where 入会日 = (Select max(X . 入会日) from hoge X )

553:デフォルトの名無しさん
08/04/02 00:30:22
Accessのリレーションシップの意味って何。
そんなんなくてもテーブルを結合してクエリー作れるし。

554:デフォルトの名無しさん
08/04/02 00:49:27
>>553
参照整合性制約

555:デフォルトの名無しさん
08/04/02 00:58:15
テーブルを結合したクエリーをSQL手書きしてるならそれでいい
ウィザードでマウスぐりぐりで結合定義してクエリ作るなら
あらかじめリレーションがあった方が的確に自動生成してくれる

table1 (id, hogeid, fuga)
table2 (id, fugaid, hoge)

なんとかjoin on table1.hogeid = table2.id
みたいなのを期待するときに
リレーション作らないままウィザードでクエリ作ると
table1.id = table2.id
とかを勝手に想定して結合してしまうので
手で切り離して定義してっていちいちうざい状態になる


556:デフォルトの名無しさん
08/04/02 01:06:04
そんなことよりクエリのSQLエディタの手抜きぐあいはなんとかならんのか。
超書きにくいわ。せめてキーワードをハイライトしてくれればいいのに

557:デフォルトの名無しさん
08/04/02 01:57:13
だなw単なるメモ帳以下だよな

558:デフォルトの名無しさん
08/04/02 06:52:23
俺は別のエディタにコピペして書いてるけどね。
アクセスにあれこれ機能を付加して肥大化するほうがイヤだね。

559:デフォルトの名無しさん
08/04/03 20:31:29
Accessのクエリって遅いな。
レコード件数が多くて、ある程度負荷の高いSQLで検索を実行しようもの
なら、いとも簡単に待ち時間が長くなってしまうではないか。いつまでも
結果が返ってこないので、Accessを強制終了せざるを得なくもなるし。
SQLなんか使わずに、C++のプログラムでテキストファイルからデータを
読み込んで、直接制御すればほとんど待たなくて済んだ。
SQLはノロマか?


560:デフォルトの名無しさん
08/04/03 20:39:25
それAccessのSQLが遅いというよりテーブルが遅い
ためしにPythonとかRubyからADODBで接続して
コンソールに出力させてみるよいいよ
同じSQL文なのにあまりに速くて驚く


561:デフォルトの名無しさん
08/04/04 23:00:13
VSSのアドインを使ってみたんだけど、使いにくいなこれ。
CP932にマッピングできない文字はチェックイン時に文字化け
しちゃうし、他で編集したものを入れ替えてチェックインするのも
一苦労だし、まじうんざりした。

562:デフォルトの名無しさん
08/04/24 16:35:03
サブフォームの名前変更したら
参照しているプログラムに怒られた(あたりまえ)なので、
プログラムの方も変更したのだが、それでもそんな名前の
サブフォームなんて知らねぇって怒られて、

むかついたのでサブフォームを一旦削除して、別名で作り直したんだけど、
やっぱり動かない状態になってしまった。

これってもうメインフォームから作り直すしかない?

563:デフォルトの名無しさん
08/04/24 17:25:53
全オブジェクトをインポートし直せ

564:デフォルトの名無しさん
08/04/24 23:08:18
>>562
/decompile スイッチでコンパイルし直してみたら。
URLリンク(support.microsoft.com)
URLリンク(support.microsoft.com)

565:デフォルトの名無しさん
08/05/10 00:45:09
すみませんが、教えてください。
csvデータをインポートすると、なぜか10桁の数値はインポートエラーとなり、9桁以下の数値はインポートされます。
10桁の数値もエラーとならずインポートできる設定がございましたら教えていただきたくお願い申し上げます。


566:デフォルトの名無しさん
08/05/10 03:19:03
インポート先のフィールドが長整数型でしたw
なんてオチじゃねーだろーな

567:デフォルトの名無しさん
08/05/15 20:40:29
こちらで初めての書き込みです。
教えて頂けませんか?セキュリティーのことで困っています。
ACCESS 2003を使用してます。
XPを積んでいる2台のPCで仕事をしています。
外付けHDDにACCESSのデータを置いて、
そのときに使用するPCに外付けHDDをつないで仕事をしています。。
起動すると、毎回、「ログイン・・・・」「パスワード・・」と表示されるのを煩く思っていました。
それを消そうとしてセキュリティーを触ったと思います。
1台のPCからは覗き修正できるですが、もう1台からは利用できなくなりました。
「権限がありません」というメッセージです。

新規にファイルを作りデータのインポートもやってみましたが、それでも、同じ状態で一台のPCからは侵入できません。

毎回、なんのメッセージも表示されることなく、誰でも利用できる状態にするにはどうしたら良いでしょう?
ACCESS 2000ではそのようにしていました。

お手数と思いますが、ご助言頂けないでしょうか?


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch