07/10/18 19:04:28
>>227
面倒くさいから全部GROUP BYしてからCOUNT
237:NAME IS NULL
07/10/19 08:14:24
>>227
ユニークキーをつけたテーブルを作成し、データをINSERTしたあとCOUNTするという手もある
238:NAME IS NULL
07/10/23 02:29:49 D6Zj60yF
学生なんですがAccessでレイゾウ庫を管理するシステム誰か作ってくれませんか。
課題なんですがもうAccessなんてチンプンカンプンで・・・
少しならお金払えますのでどなたかお願いできませんか。
商品名 賞味期限 原産国 数量 のデータ入力フォーム
『賞味期限』というボタンを押すと切れる順番に表示
『在庫』を押すと現在レイゾウ庫に入っている在庫表示
『使う』を押すとその在庫が表から消えるみたいな感じで。
よかったらメールください
yuki198547あっとほっとめーるどっとこむ
239:NAME IS NULL
07/10/23 04:26:25
>>227
オラクルならすぐですね
240:NAME IS NULL
07/10/23 12:53:23
>>238
その金でアクセスの初級セミナーを受けたほうがよい。
241:NAME IS NULL
07/10/23 12:57:54
>>238
美人かブスか書いてないぞ
242:NAME IS NULL
07/10/23 13:09:47
>>238
がんばれ!
それぐらいできないと仕事できないよ?
243:NAME IS NULL
07/10/23 20:41:00
>>238
できたよ~~。
URLリンク(nullpo.vip2ch.com)
DLKey:access
スイス銀行のオレオレ口座に20万円振り込んどいてくれ。
244:NAME IS NULL
07/10/23 22:22:21
Accessにもマクロウイルスってあるんだよねえ
245:NAME IS NULL
07/10/24 00:09:59
2chは匿名(笑)掲示板だからウィルスばらまくにはもってこいだね(笑)
246:NAME IS NULL
07/10/24 00:43:53 nsHmKfL3
Accessオペレータで生活できますか?
転職しようかと・・・
247:NAME IS NULL
07/10/24 02:32:27
>>243
ありがとございます
参考にして作ります。
248:NAME IS NULL
07/10/24 17:43:25
× 参考にして作ります。
○ そのまま提出します
249:NAME IS NULL
07/10/24 18:07:51
× 20万円振り込んどいてくれ。
○ 一晩好き放題でも可。
250:NAME IS NULL
07/10/25 21:57:06
俺は一回だけでいい。付き合ってくれ。
251:NAME IS NULL
07/10/25 23:29:36
× そのまま提出します
○ 入れたまま出します
252:NAME IS NULL
07/11/03 01:13:52 Lnnx883U
2007どうなのよ?
253:NAME IS NULL
07/11/03 02:37:35
興味無いね。
254:NAME IS NULL
07/11/03 22:22:11
>>252
β版の時にはそれなりに評価されていたが
製品版が出てからは悪評の方が多い気がする。
まぁMSの場合、製品版はSPが出るまで
有料ベター版のようなものだから仕事では使えないね。
255:NAME IS NULL
07/11/04 23:24:39 XX8CJ/G7
>>254
そうなのか
新しい2007形式MDBはどうなのかなと思ってたが・・・
やっぱ使えないか・・・・
256:NAME IS NULL
07/11/05 15:20:59
2003はSP3まででているようだが、そっちの評価の方が気になる。
257:NAME IS NULL
07/11/06 14:33:43
1.例えばcsvをインポートすると、テキスト型の場合はフィールドサイズが規定で255文字になりますが、これに1文字だけ入力た場合でも、ハードディスク上では255文字分の領域が確保されることになりますか?
(必要な文字数に制限したほうがよいのか?例えば住所などは、想定していた文字数を超えてしまうことがありますので最大文字数を決めづらい。。)
2.上との比較でメモ型の場合、約65000文字までの入力が可能ですが、実際に入力し保存された文字列が格納される領域は、どのような文字数で決まっているのでしょうか?
258:NAME IS NULL
07/11/06 14:36:18
要は、他のデータ型も含めて、「パフォーマンス」や「ハードディスク」に対して、フィールドサイズがどのように影響するのか?どのように設計すべきか?ということを悩んでいます。
259:NAME IS NULL
07/11/06 15:04:02
ACCESS2000のリストボックスで特定のカラムだけ右寄せにすることってできますか?
260:NAME IS NULL
07/11/06 15:40:13
>>257
ACCESSのテキスト型は可変長。
261:NAME IS NULL
07/11/06 15:52:46
>>259
文字列の前にスペースを挿入すればよい。
262:NAME IS NULL
07/11/06 16:21:15
>>256
SP3にしてから、デザイン画面中に落ちてしまう頻度が以前より多くなった気がする。
263:NAME IS NULL
07/11/07 11:28:28
>>261
RowSourceにSQLをつっこんでリスト表示しているので、
SQLレベルでやるか、リスト表示後に加工するかです。
右詰表示したいのはmoney型フィールドで、\マークとコンマ付けは
ACCESSがやってくれてます。
SQLレベルでは文字列に変換して先頭にスペースを付加することは
できたのですが、当然のことながら\マークとコンマがなくなってしまいました。
私のSQLレベルでは解決できなかったのでとりあえずこの方法は保留。
次にリストにデータを読み込んだ後の処理も考えましたが、
Columnプロパティを使用して要素にアクセスはできるのですが、
残念ながらこのプロパティは読み取り専用でした。よって不可能。
レコードセットで開いて、1レコードずつ処理しながらリストに
追加する処理ならならなんとかできそうですが、レコード数が増えると
レスポンスの問題がでてきそうです(未検証)
せっかくフィールドのタイプを判断して自動でコンマや\マークを
付加してくれるのですから、右詰もやってくれてもよさそうなものですが・・・。
264:NAME IS NULL
07/11/07 12:36:56
こんなSQL文でどう?
SELECT Right(Space(9) & Format(金額,'\\#,###'),9) FROM TABLE
265:NAME IS NULL
07/11/07 13:31:54
>>264
ありがとうございます。
実はT-SQLを使っていまして、FORMATが使えなかったので、
こんな感じになりました。
select substring(right(space(15)+convert(nvarchar(12),Kingaku,1),15),1,12) as [請求金額] from TABLE
convertの仕様で、最後に ".00" がついてしまうので、substringで除去しなければならなくなり、
こんな記述になってしまいました。\マークはなくなってしまいましたが、これでよしとします。
266:NAME IS NULL
07/11/07 18:38:35 ZRdOY26F
こんにちは。
ACCESS2000です。
リンクテーブルをはったアプリを作ったのですが、
テーブルにじか開きが出きり事に気づき、
いろいろ調べて、
どうにか隠蔽の仕方がわかりました。
URLリンク(www.remus.dti.ne.jp)
ところが、
この方法でACCESSのセキュリティ設定をしたファイルを、
ランタイムの環境で動かそうとすると、
動かない。
そもそも、
セキュリティ設定の方法が、
ランタイムには存在しない模様。
一体どうすれば?
あるいは、
そもそも無理?
267:NAME IS NULL
07/11/07 21:34:06
なんという日本語でおk・・・
268:NAME IS NULL
07/11/07 23:20:31
>>266
リンクテーブルはやめて、SQLだったら「In句」
ADOだったらConnectionSetingでパス直打ちすればいいんじゃね。
269:NAME IS NULL
07/11/08 01:05:27 s9agLjsJ
>>267
不謹慎だが素直にデスマ中に和んだ
ありがとうorz
270:wgmGFQishDvRLFKBf
07/11/14 03:07:47
sK77wh <a href="URLリンク(bnsjyzkmpqtz.com) [url=URLリンク(lbmvbytqhveu.com) [link=URLリンク(yosjwfubdzxf.com) URLリンク(jymhdxxifonr.com)
271:NAME IS NULL
07/11/15 10:57:17
Access2007はSPいくつまで出るんろうだう?当分の間は仕事では使えない。
272:hwMeTnbJwgTSVUwq
07/11/20 21:33:32
cQSrrL <a href="URLリンク(uypbhqkeclxi.com) [url=URLリンク(lqvrcbsfvhtn.com) [link=URLリンク(bnyrfruwhzvi.com) URLリンク(onlpjwsufwna.com)
273:FvozZSOC
07/11/20 21:40:02
sVGRvO <a href="URLリンク(pfqatuylsgmc.com) [url=URLリンク(iftfsbzueprd.com) [link=URLリンク(eciguhwizknq.com) URLリンク(trweflwbgcde.com)
274:mZiJNtjrEqRFGsJKiw
07/11/20 21:42:58
DuSbzU <a href="URLリンク(ijqbawjtkzos.com) [url=URLリンク(abcxmngljxdd.com) [link=URLリンク(gataxhecntzn.com) URLリンク(spvcpzcoigzz.com)
275:UufucrJyzULlsRCNVvH
07/11/22 19:35:34
URLリンク(ftgmkr.cn) classican mp3 downloads
276:ddriwxxYpB
07/11/22 22:50:22
URLリンク(gkinyn.cn) mp3 dmusic downloads ipod
277:VEOTnTnbvxEUaLR
07/11/22 22:50:43
URLリンク(gkinyn.cn) mp3 dmusic downloads ipod
278:ddirenbUjAiFNqsIWoT
07/11/22 22:50:52
URLリンク(gkinyn.cn) mp3 dmusic downloads ipod
279:ZconNFzsOyjgEIMFV
07/11/23 01:56:17
URLリンク(ieirrj.cn) legal mp3 music downloads
280:CHHgNKcRHqwuDIPt
07/11/23 12:14:12
URLリンク(itdvmb.cn) mp3 player downloads
281:cTIBugRTfdJwpBjNNv
07/11/24 00:48:38
URLリンク(ktmyve.cn) Escort monique new york
URLリンク(ktmyve.cn) Laser vaginal rejuvenation new york
URLリンク(ktmyve.cn) Fetish restaurant new york
URLリンク(ktmyve.cn) Pda cube x serial rubik pocket pc
URLリンク(ktmyve.cn) Ear piece for blackjack pda
282:SadHBvRLdb
07/11/24 02:26:29
URLリンク(ltfrfp.cn) Miki moore austin texas
URLリンク(ltfrfp.cn) Outfitters in washington state
URLリンク(ltfrfp.cn) Texas irons
URLリンク(ltfrfp.cn) Alice texas wrecker
URLリンク(ltfrfp.cn) Dog health white rectum
283:iLmjJBObEPJrPdTbwG
07/11/24 20:27:16
URLリンク(bfsnbw.cn) renegade master
284:PdxhixcXocmbYQNjc
07/11/25 02:13:06
URLリンク(bfsnbw.cn) anchor
285:NAME IS NULL
07/12/26 17:50:32 LrTEtUw8
アクセス初心者です。教えて下さい。
仕事でアクセス使ってるのですが、クエリでデータを出してエクセルにエクスポートして、
そのエクセルデータをテキストデータにして、それを会社に納品しているのですが、
本日ミスが発覚しました。
納品した会社では、テキストデータをまたアクセスに読み込んで
使用しているようなのですが、その会社から読み込めないと連絡があり
確認してみたところ、アクセスでそのテキストデータをインポートしてみると
文字化けして読み込めないのです。
しかし、インポート画面の左下にある設定というボタンを押してみると
『コードページ』という項目があって、そこが『西ヨーロッパ言語』になっていました。
そこを『日本語(シフト JIS)』というのに変えると読み込めるのですが、
このコードページを設定した記憶がなくて、何で西ヨーロッパ言語になっているか分かりません。
これを直す方法やどうして言語が変わってしまったか原因など分かりますでしょうか?
分かりにくい文章で申し訳ないのですが、よろしくお願い致します。
286:NAME IS NULL
07/12/26 18:08:55
>>285
ググれ。
URLリンク(support.microsoft.com)
・・・仕様だそうだ。あきらめろwww
インポート処理なんて簡単だからVBAで実装汁。
287:NAME IS NULL
07/12/26 18:29:43 LrTEtUw8
>>286
どうもありがとうございます。
マジで初心者なので、読んでもよく分からなかったです。。。orz
元からそういう動作(?)をしてしまうということですよね?
実は2つデータを出していて1つは上手くいくのですが、
(コードページの項目も日本語になっている。)
もう1つが>>285に書いたようになってしまいます。
>インポート処理なんて簡単だからVBAで実装汁。
↑もよく分からないのですが、どういうことでしょうか?
超初心者で大変申し訳ないのですが、よろしくお願い致します。
288:NAME IS NULL
07/12/26 20:04:06
>>287
実際には相手先の話なのでそちらで対応してもらうしかないが、
データレイアウトは毎回同じだろうからインポート定義を
作ってもらうしかないんじゃないか。
これだったらマクロでも対応可能だったと思う。
ところで、なぜExcelに一旦エクスポートしているの?
289:NAME IS NULL
07/12/26 21:54:18
こっちもアクセス、あっちもアクセスなんだからmdbでの受け渡しを
検討してもらうのが一番いいんだけどね
290:NAME IS NULL
07/12/27 10:42:07
>>287
テキストデータの内容を解析して、先頭に半角文字が入力してあるデータが
一定件数(6件?)連続していると、既定値として「西ヨーロッパ言語」に設定
しています
なので、出力するデータを工夫して、先頭にひらがなや漢字などのDUMMY
データを入れてやれば、インポート時の既定値が「日本語」になります
ただし、当然、このデータをインポートする側でこのDUMMYデータを破棄
する等の処理が必要となりますので、相手側と相談してください
「マジで初心者なので」とのこと、ここ数回のやり取りがまったく理解できない
ようでしたら、ここで質問しても無駄だと思いますので、わかる人にやっても
らう等、別の措置を考えたほうがよいかと
291:NAME IS NULL
07/12/27 14:45:30
>>287です。
>>288-290
レスありがとうございます。
>>286さんに教えてくださったマイクロソフトのサポートページを
上司に見せたら、そのまま送り先の会社にも送ったようです。
(そちらで(送り先の会社)言語を変えてくださいと言ったそうです。)
私のクエリ作成上のミスだと思っていた(思われていた)ので、
違うと分かって安心しました。
丁寧に教えてくださってありがとうございました。
292:NAME IS NULL
07/12/29 03:08:53
アクセス姉ちゃん奮闘中ってなとこか
293:NAME IS NULL
07/12/31 18:47:00 nTwE3+1s
すみません、アクセス初心者です。
アクセスに写真を載せたいんですが、『写真1』とか記入すると
自動的に載るようにするにはどうすればよいのでしょうか?
ってうまく言えませんごめんなさいorz
294:NAME IS NULL
07/12/31 19:11:47
気にするな 社内SEならこの手の質問、毎日のように来るから何となく分かる
295:NAME IS NULL
07/12/31 21:43:34
>>294
分かるなら答えてやれよww
296:NAME IS NULL
07/12/31 23:51:04
質問の意図が分かるという意味で実現方法が分かるという意味ではないだろう。
297:NAME IS NULL
08/01/01 03:24:40
いや、日本語が不自由同士、うまく言えない気持ちが分かるって意味じゃないのか。
298:NAME IS NULL
08/01/01 03:38:12 XT/C0LkP
jpg等の属性のデータを項目として定義することは可能ですか?
299:NAME IS NULL
08/01/01 03:39:08 XT/C0LkP
風呂からあがったら確認しますからどなたか返事いただけませんか?
300:NAME IS NULL
08/01/01 03:40:53 XT/C0LkP
出来れば上級SE(10年選手)の方を希望します。
301:NAME IS NULL
08/01/01 04:07:21 XT/C0LkP
テーマはACCESSとオープンソースのBASEでの代替および信頼性、コスト上の
メリットデメリットについてでした。
弊社SEに確認して見ます。
302:NAME IS NULL
08/01/01 19:11:40
.>>294の何となくわかるというのは、
こいつは馬鹿だから返答の必要がないと経験から感じているだけ。
303:NAME IS NULL
08/01/09 12:27:57
教えてください
ネットワークからアクセスのデータベースに接続するとして
クライアント側にアクセスが導入されていない場合、クエリーの処理は
サーバー側のアクセスで行われるのでしょうか?
それともそもそも実行不可能なのでしょうか?
クライアントソフトはVBかc#で組む予定です。
304:NAME IS NULL
08/01/09 12:50:10
>>298
jpg等の属性って結構むずいよ。
たとえば、スク水・貧乳・体操着・眼鏡・パンちら・パンもろ・もろもろ・妹・園児・けもの・制服・母・放尿・断面・1人・3人
305:NAME IS NULL
08/01/09 12:51:48
>>303
サーバーの仕事はファイル共有のみ。
306:NAME IS NULL
08/01/09 19:03:49
>>303
> ネットワークからアクセスのデータベースに接続するとして
> クライアント側にアクセスが導入されていない場合、クエリーの処理は
> サーバー側のアクセスで行われるのでしょうか?
> それともそもそも実行不可能なのでしょうか?
> クライアントソフトはVBかc#で組む予定です。
そもそもクライアント側でAccess使わないのならAccess使う意味が無いというものでは?
サーバー側でクエリーの処理をしたければMySQLやPostgreSQLを使えばいいんだけど、
もうAccessとはなんの関わりも無い話になってしまう。
組む予定というのが外注するという意味ならまあ話はわからんでもないけど、
自分でプログラムするっていう意味なら・・・・・
307:NAME IS NULL
08/01/09 21:30:22
AccessがインストールされてないPCでもDAOやADOを参照設定したVBアプリで
mdb操作ってのは普通にやるけど、>>305の言うとおりデータベース処理はクライアント側。
308:303
08/01/09 22:08:09
ども レスありがとうございます。なるほどそうなるんですね。
でも実行が可能とわかり安心しました。
309:NAME IS NULL
08/01/12 15:34:25 G/Y9XJOU
ファイルサーバにMDBファイルおいて
共有するという思想はいい加減捨てて欲しい。
ちゃんと使いたいならRDBMSの導入。
310:NAME IS NULL
08/01/12 16:04:45
mdb共有って
複数人で使うと不便でたまらんのに・・・
SQL ServerにアップサイジングしてADPで作っても
たいして手間かからないから、そっちをおすすめ。
311:NAME IS NULL
08/01/12 19:32:58
ADPってなんですの?
312:NAME IS NULL
08/01/12 21:46:53
MDBで作りこむほど、ADPには移行しにくくなるけどな。
313:NAME IS NULL
08/01/12 22:35:34
jetのSQLとT-SQLまるで違うしな
314:NAME IS NULL
08/01/13 00:47:19 wTXjxmrm
ファイル起動時にフォームを自動で開く方法どうするんでしたっけ?
315:NAME IS NULL
08/01/13 00:50:28
ツール ->起動時の設定
316:NAME IS NULL
08/01/13 00:54:23 wTXjxmrm
↑サンクス。助かったm(__)m
317:NAME IS NULL
08/01/17 08:59:57
>>311
古いけど
URLリンク(www.shoeisha.com)
318:NAME IS NULL
08/01/17 12:57:37
小回りのきく手軽さという点では、MDBの方が圧倒的に優れてる。
319:NAME IS NULL
08/01/17 14:31:17
>>318
それは理解できる。
スタンドアロンで使う小規模DBとしては優秀。
諸悪の根源は、
あれをRDBMSだと勘違いして
複数ユーザーで共用しようと言う思想。
320:NAME IS NULL
08/01/17 15:12:54
業務で使うと、どうしてもそこ(複数ユーザ)へ考えが
いっちゃうんだよね。
321:NAME IS NULL
08/01/17 15:36:07
SQLServerが効果あるのは5ユーザぐらい以上じゃないか?
322:NAME IS NULL
08/01/17 18:03:22
そうだ
MDB用のラッパーを開発しよう
323:NAME IS NULL
08/01/17 20:21:38
・接続ユーザーは3~4人
・更新系はテーブルに直接連結しない
クライアントのワークテーブルに読み込んで編集し、INSERT,UPDATE,DELETEで更新
・更新時はトランザクションを使う。
ファイル共有でできる限界はこれくらいかな?
324:NAME IS NULL
08/01/17 20:35:15
ワーク使うと同じレコード更新したとき困らない?
325:NAME IS NULL
08/01/17 21:17:28
>>324
自前の排他制御をする必要はある。
326:NAME IS NULL
08/01/18 14:54:25
>>324,325
どう考えてもマルチユーザーで共有しない方が実装がシンプルだろ。
面倒なことは全部RDBMSに任せられない時点で、
共有するのが間違ってるってこった。
接続ユーザーが2名を超えた時点で、
MSDEに移行するかSQL Serverに移行するのが正しい。
327:NAME IS NULL
08/01/18 17:59:01
マルチユーザー=企業ユーズと考えればアクセスで作ったシステムを
使っているのは圧倒的に中小規模。
売上等の入力用のPCが1台と偉いさんが売上や在庫の状況を
見るための閲覧専用PCが数台という構成も少なくない。
この程度ならば使い方次第ではアクセスで十分。
328:NAME IS NULL
08/01/18 20:12:50
>>327
だとしてもMSDEは最適化しなくても容易にファイル破損しないから。
329:NAME IS NULL
08/01/18 21:18:56
2件で 8年以上 ACCESS2 --> ACCESS2000 と変えながら 4,5人で利用する
システムを作りましたが、ACCESS のみ作成して、DBがだめになったことはありません。
2件とも1日500件ぐらいの伝票入力だけで;閲覧、出力がおおいですが;
難しいシステムだと壊れるんでしょうか?
VBA での処理はいっぱい書いていますが;
330:NAME IS NULL
08/01/19 09:56:17
うちはSQLにどっさりデータを置いて、Accessで閲覧だな。
入力はないな。
331:NAME IS NULL
08/01/19 10:52:35
>>330
SQLって何よw
332:NAME IS NULL
08/01/19 16:44:41
↑SQLserverね。しかもいまどきODBCwwwwwwwwww
すまんこ
333:NAME IS NULL
08/01/20 01:08:35
>>326
ADPはローカルにワークテーブルを作って、それをもとにクエリをつくるといった手法がやりにくくないか?
ADPとMDBが統合されたようなものが理想だと思うんだか・・・
334:NAME IS NULL
08/01/20 09:17:41
#テーブルとか##テーブルは確かに使いにくいな
335:NAME IS NULL
08/01/21 14:26:59
>>329
意外に強固なんですね。
てっきり壊れまくるもんだと思ってました。
うちは排他書くのがめんどうだったんで、
規模は小さいけどSQLServer使ってます。
336:NAME IS NULL
08/01/21 14:37:00
>>330
似たようなもんだけど、うちは閲覧はexcelかIIS
出力はexcelで欲しがることが多いのでVBAばっかり書いてる
データ入力用にADP使っている。
入力のインターフェイス作成の楽さから抜けられなくて困っている。
337:NAME IS NULL
08/01/21 19:08:38
よくこわれてたのはAccess2000以前
2000は安定してると思う
それでもたまにこわれる
338:NAME IS NULL
08/01/21 19:09:23
SQLServerだから排他書かなくていいってことにはならないと思いますが
339:NAME IS NULL
08/01/21 22:14:04
いや、SQLServer使ってるのに排他を自前でゴリ書きはないだろw
340:NAME IS NULL
08/01/22 00:14:45
馬鹿ですか?
341:NAME IS NULL
08/01/22 16:38:44
レコードを読む時点で誰かが編集中かどうか知りたい場合には、
自前の排他が必要になるだろう。
342:NAME IS NULL
08/01/22 16:57:33
Accessでも排他できるのに
343:NAME IS NULL
08/01/22 17:31:06
Anusでも排泄できるのに
344:NAME IS NULL
08/01/23 14:35:36
>>341
低レベルな質問で申し訳ないが、
編集中を判別するためにはどんな処理をするのが一般的でしょうか?
一時テーブルに編集中のレコードIDかなんかをぶち込んで
それをチェックすればいいのですかね?
345:NAME IS NULL
08/01/23 18:11:25
[ロック制御用テーブルの作成]
field1:TableName
field2:RecordD
field3:UserID
[編集開始時]
レコードを読込前に他者が追加したレコードがあるか無いかをチェックし、
あれば、警告する。なければ、自分のUserIDで追加する。
[編集終了時]
自分が追加したレコードを削除する。
346:NAME IS NULL
08/01/23 22:47:19
>>345
警告してからどうする?
1.後から編集しようとしたPCも編集を許す場合
後から編集したPCが先に編集しようとしたPCより先に編集を終了した場合
先に編集(レコードを追加した方)は編集されたことが分からない
2.後から編集しようとしたPCは編集を許さない場合
先に編集を始めたPCの操作者は編集終了までPC入力以外のことができない。
例えば先に編集を始めた操作者が入力中に電話がきて電話に出たりすると
電話が終るまで他のPCから編集ができなくなる
あと、ロックをかけたPCがフリーズした時のためにロック制御テーブルのクリア処理を
作っておかないと面倒なことになる。
347:NAME IS NULL
08/01/23 23:41:11
DB本体 Access
入出力画面 Excel(ADO DAO VBAで接続)
レポート印刷 Access
エクセル画面から操作 この方がユーザーに馴染んでもらえそうな気がしてきた。
348:NAME IS NULL
08/01/24 08:45:59
>>346
他のPCが使用中であることを検知したならば、編集できなくすべきでしょう。
排他制御の目的は、データベースの一貫性を保持することだから。
349:344
08/01/24 15:17:18
なるほどね。参考になります。
排他制御つくったことがなかったもので・・・
350:NAME IS NULL
08/01/24 19:27:09
誰が占有しているかさえ判明すれば、良いのかな。
占有時間が長くなった場合、そのユーザーに”直接”声を掛けて、
占有を解除するなり、そのユーザーのPCを”直接”操作する。
もともと小規模な使い方を想定しているるのだから、こうゆう対処で
十分かも。
351:NAME IS NULL
08/01/24 20:06:37
その機能ならエクセルにもなかったっけ
352:NAME IS NULL
08/01/25 12:08:40
スレの流れを参考にAccessのみでの小規模クライアント・サーバー型DBを作り始めました。
質問です、よろしくお願いします。
クライアント側からDB本体のテーブルを外部データへのリンクのをVBAで
設定しようと思ってます。
Access2000で、外部テーブルへのリンクを貼るVBAの書き方を教えてください。
353:NAME IS NULL
08/01/25 12:22:55
>>352
URLリンク(www.ruriplus.com)
354:NAME IS NULL
08/01/25 14:11:07
>>353 レスありがとうございます。
DAOを参照して試してみましたが、どうもうまくいきませんでした。
ちょっと352の日本語がおかしかったですね。
「DB本体のテーブルをクライアント側にVBAで作る方法」
URLリンク(msdn.microsoft.com)
↑ ここを見て解決できました。ADOXの参照設定しました。
いろいろありがとうございました。
クライアント側にDB本体のパス名を保持。
→毎回、起動設定でリンクを貼ること。 →クライアント終了時 リンクテーブル削除
できるようになりました。
355:NAME IS NULL
08/01/25 22:29:44
質問
下記のようなSQL文でテーブルを作成したいのですが、フィールドのデフォルト値がNullになってしまいます。
特定の値をデファルト値にしたいのですが、記述方法がわかりません。
できる方法はあるのでしょうか?
CREATE TABLE T11 (Field1 Long,Field2 Long,Field3 Long");"
356:NAME IS NULL
08/01/26 07:49:29 g67kGDTI
教えてください
ACCESS2003なんですが、
メインのフォームから単票形式のレポートをプレビューで表示しておいて
メインからフォームのタイマーイベントでプレビュー上のコントロールに値を表示できないでしょうか?
もちろん、プレビュー上のコントロールはTBとは関係ない物を置いてあります。
こんな感じで
DoCmd.SelectObject "レポート1",acNormal,False
Reports![レポート1]![テキスト1].setFocus
Reports![レポート1]![テキスト1].Text = "1234"
これを実行すると、現在のビューでは設定できません、と言われてしまいます
レポートなんだから、当たり前だとは思うのですが
そんなのレポートじゃなくてフォームでやれよって言われそうなんですが
上司がフォームじゃなくてレポートでって言うので・・・・・
あるいはレポートにタイマーがあればそれでもいいいのですが、ないみたいですね
ACCESS2007ではレポートにもタイマーがあるらしいですが
357:NAME IS NULL
08/01/26 13:04:11
それはムリ。
なぜにタイマー?
レポートはPrintが済んじゃったら変更効かないよ。
Format時かPrint時にレポート側で設定するのがふつうだと思うけど。
すなおにフォームでやった方が幸せになれるような。
あと「TB」ってなんですか?サンダーバードしか思い浮かばないんだけど。
358:NAME IS NULL
08/01/27 08:56:26
>>355
ADOXで作った方が楽。
359:NAME IS NULL
08/01/27 15:24:21
>>355
NOT NULL制約付けてもいいのかはっきりさせてくれ。
360:NAME IS NULL
08/01/27 15:44:39
つか、JETのSQLでCREATE TABLE文にDEFAULT句設定できたか?
NOT NULLとWITH COMPしかないだろ?
361:NAME IS NULL
08/01/27 17:28:21
DAO 又は ADOX でつくらないと無理でしょう。
362:NAME IS NULL
08/01/28 11:11:11
>>356
>>357に書いてあるとおり無理なので、
レポートを描画しなおさないとだめ
363:総務課ヒラ
08/02/02 13:56:55 ixlIASXO
すいませんド素人なんですが、今度勉強しながら仕事で使うデータベースを
作らなければならなくなりました。
作ったファイルをサーバーに置いて、各部署で共有してデータの変更や照会を
行うのですが、将来、各部署のaccessがバラバラのタイミングでバージョンアップ
した時に問題が起こりますか?
また複数の部署が同時に同じテーブルの内容を変更した時、問題が起こりますか?
ご指導願いますです。
364:NAME IS NULL
08/02/02 14:09:53
問題が起こります。
365:総務課ヒラ
08/02/02 15:37:06 ixlIASXO
>364
やっぱダメなんですか
そうですか。他の方法を考えます
ありがとうございました。
366:NAME IS NULL
08/02/02 15:42:16
分割してバックエンド(データ部分)のみ共有する分には、大した問題は起きないでしょ。
自分も問題なかったし、事例はたくさんあるから。
フロントエンド(GUI)が2000だろうが、2002だろうが、2003だろうがOKのはず。
ただし2007は分からない。フロントエンドに2003以前と2007が混在するようなら、
経験者にきいてみないと(自分は経験ない)。
あと、VistaみたいなOSのバグで共有できないケースもあるけど、それはAccess側では
どうしようもないね。
たぶんこの後、コンテクストを無視してSQL鯖がどうとかASPがこうとか言い出す輩が
出てくると思うが、Accessはド素人だけど鯖に滅法強いとかならそちらでどうぞ。
367:366
08/02/02 15:47:51
データ部分のみね
368:NAME IS NULL
08/02/02 16:57:04
>>363
勉強しながらとのことなので、
そうそうすぐに全部署共有でガシガシデータ入力/変更ということにはならなそうだから、
>>366の言うようにデータテーブルだけのmdbを共有して
運用したらいいんじゃないかな?
すごくたくさんの人間が同時にアクセスする、とかなってきたらまた考えたらいいんじゃないでしょうか?
369:NAME IS NULL
08/02/02 17:54:53
その前にいったいどれだけの規模なのか聞かんと答えようがない話のような気がする。
どだいAccessでは無理って規模かもしれないし・・・・・
370:NAME IS NULL
08/02/02 18:18:07
>>366
分割したバックエンドの方がデータに画像とか貼ってあって500MBくらいあるのですが
みんな開くときに遅い遅いと言うので困っています
371:NAME IS NULL
08/02/02 18:51:38
>>370
そりゃサイズでかすぎる。
372:総務課ヒラ
08/02/02 21:28:32 ixlIASXO
みなさんありがとうございます。
そのデータ部分だけ共有というやりかたに兆戦してみます。
部署は10程しかないし、アクセスもそれほど頻繁ではない
と思います。
浮かんだイメージは、テーブルだけのファイルをサーバーに
置き、そのテーブルにリンクを張った操作用ファイルを各PC
に置くという感じですが、それで良いのでしょうか?
とにかく勉強します。
373:NAME IS NULL
08/02/02 22:07:36
>>372
それで良いよ。
374:NAME IS NULL
08/02/02 23:16:47
とりあえず、勝手なバージョンアップの禁止を通達しておくんだね。
それでもやるやつはいるだろうけど、それで動かなくなったらそいつのせい。
375:NAME IS NULL
08/02/03 03:14:56
>>370
画像はデータベースに保存せずJPGなどに外部ファイル化しておき、
表示するときだけ読みにいく方法なら遅くはならない。
376:NAME IS NULL
08/02/03 10:06:43
>>375
それはどうやって、やるのですか。
設計図面を画像データを取り込んた800MBくらいになったDBがあります。
かねがね、なんとかしたいと思ってました。
377:NAME IS NULL
08/02/03 10:12:38
>>376
Access2007なら画像も元データの形式で保存できるから、余り肥大しないし、もちろん画質劣化もなし
378:NAME IS NULL
08/02/03 10:35:49
フィールドにはパス\ファイル名でテキスト形式で突っ込んでおいて
アプリでそれを拾いに行くようにするとか?
379:NAME IS NULL
08/02/03 11:23:32
>>376
新規のファイルはjpg なり pdf で保存する。
すでに、MDB化されているものは、VBAで外部ファイルに書き出す
URLリンク(homepage.mac.com)
↑VB用だが、僅かの修正でVBAでも使える
380:NAME IS NULL
08/02/03 11:25:39
パス変わったときに面倒ですよね
なんでAccessとかExcelとかの貼り付けって
相対パスにしてくれないんだろう
381:総務課ヒラ
08/02/03 12:17:00 LYNLjY3V
>373・374
ども。
できそうな気がしてきて、今少しほっとしてます。
明日から時間を見つけて作成にとりかかります。
382:NAME IS NULL
08/02/03 14:30:29
>>377
Access2007を使うことにしても、既にAccess2000MDBの中に
OLE オブジェクト型で取り込んである分を、新MDB移行させる必要がありますよね。
1.Access2000MDB OLE オブジェクト型のエクスポート
↓
2.Access2007MDB Attachment型として取り込み
それが379さんの「すでに、MDB化されているものは、VBAで外部ファイルに書き出す」
なのかな?
「OLE オブジェクト型 エクスポート」で調べてみましたが、ちょっと難しそうです。
>>379
ソース読んでみましたが、自分の能力ではわからないことが多いです。
少しずつ勉強してみます。
皆さん、ありがとうございました。
383:377
08/02/03 14:46:28
>>382
オブジェクト型にしちゃったのは、ビットマップになってるから、JPGやPDFに圧縮しなおすと劣化するど
ビットマップのまま、出して、そのまま2007の添付ファイル型で入れただけで、LZH圧縮かかるから、ZIPなみにサイズ減る
384:377
08/02/03 14:49:00
ああ、
× LZH圧縮
○ LZ圧縮
385:NAME IS NULL
08/02/03 15:25:18
おいおい、2007のAttachment型って、画像ファイルじゃなくOLEオブジェクトを
そのまま認識してくれるのかよ?
本当なら革命的に賢いな。
386:377
08/02/03 15:34:07
ビットマップは画像ファイル
387:NAME IS NULL
08/02/03 22:17:10
添付ファイル型は複数値型と同じで扱いが面倒だけど
.xlsと.docと.pdfを放り込んで使ってるよ。
388:NAME IS NULL
08/02/03 22:30:10 F3bGJrY2
型番 日付
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日間を抜き取ることはできますか?
389:NAME IS NULL
08/02/03 22:56:32
マルチすんな死ね
スレリンク(tech板)
390:NAME IS NULL
08/02/04 02:19:12
>>377
「ビットマップは画像ファイル」だけど、OLEオブジェクトは画像ファイルじゃねーよw
>383 の手順は、本当に実際にやってできたことなのか? それとも空想上の話か?
とりあえず、そこはっきりさせてほしい。
いままで、画像ファイルをそのまま突っ込んでいたならまだしも、いったんOLE
オブジェクトに変換されたものをそのまま書き出して画像として認識できるなんて
話は一度も聞いたことがない。 >379 のリンク先の方法も、画像ファイルをそのまま
書き込んだ場合に限られる話で、OLEオブジェクトに変換されたものは対象外。
誰か2000とかで画像ファイルをOLEオブジェクトに変換して格納してあるのを
そのまま書き出して、2007で実際に取り込んだ話をしてくれ。
それで出来るっていうならたしかに朗報。2007万歳。
391:NAME IS NULL
08/02/04 09:02:33
あああ、OLEで埋め込んだ画像データはMDB内部でビットマップで保存されてるから、、
ビットマップで取り出して、そのまま、ビットマップで添付すれば良いんじゃね
392:NAME IS NULL
08/02/04 10:33:34
図面データを管理するデータベースを構築しようと思っています。
ACCESSに図面データへのパスを格納した場合、
パスに変更があったときは、sqlか何かで簡単にデータ変更を
できるものでしょうか?
393:NAME IS NULL
08/02/04 13:08:41
>>388
不等号でいんでね?
394:NAME IS NULL
08/02/04 23:37:01
>>392
出来るだろうけど、簡単かそうでないかは
392のファイルの置き方しだい。
395:総務課ヒラ
08/02/05 20:15:25 nk3nkSEO
おじゃまします。また質問なんですが、VBAとか全く知らなくても
対処する方法があったら教えていただきたいのです。
①アクションクエリーを多用したファイルを共有して使うと、その実行
確認メーセージについて「なんだこりは?」と頻繁に問われます。
そのたび、「ツールのオプションの編集/検索」で確認メッセージが出
ないように設定してもらうのですが、ファイル自体に、開くと強制的
に「確認メーッセージ不要になる」という設定を組み込めないでしょ
うか?
②フォームでメニュー画面を作成していますが、不要なフォームは最小
化されて邪魔にならないようにしていても、タスクバーに表示された
オブジェクト名の所を誤ってクリックしてしまいメニュー画面の順番
をぐちゃぐちゃにする使用者がいます。これも「ツールのオプション」
でタスクバーに表示させないようにできるのですが、質問①と同様に
ファイルに強制的な設定力を組み込めないでしょうか?
アクティブフォームを規制する方法でも良いです。
よろしくお願いします。
>388
dateadd 関数(だったっけ)と不等号でダメ?
今、ネットカフェだからためせないんだけど。
396:NAME IS NULL
08/02/05 22:50:38
VBAを知って対処しろ
397:NAME IS NULL
08/02/05 22:50:56
MDBファイルにADO経由でアクセスして
SQLを発行しているのですが
書き込みのときはロックした方が良いとか
トランザクション作るべきだとかいわれますよね
ACCESSのSQLは文法が違うみたいなのですが
なんとかならんもんでしょうか
MSSQLとか他のSQLサーバーに城とかいうのはなしで
ご存知のかた教えていただけると幸いです
398:NAME IS NULL
08/02/05 22:55:16
MSSQLとか他のSQLサーバーに城
399:NAME IS NULL
08/02/06 08:36:56
>>395
①VBA を使った方法になるけど
1. 警告を止めるモジュールを用意する
Function WarningOff()
DoCmd.SetWarnings False
End Function
2. 自動実行マクロから 1. を呼び出す
Autoexec という名前のマクロを作成し
プロシジャーの実行-プロシジャー名に WarningOff() を設定する
SetWarnings の使用には注意が必要なのでヘルプを良く読んで
②操作可能なフォームを1つに限定する事はできるけど、それでいいのかな?
フォームプロパティ-その他 作業ウィンドウ固定
400:総務課ヒラ
08/02/06 19:55:42 MFZ8If4M
>399
レスありがとうございます。
総務課員でも、やっぱ初級レベルのVBAの知識は必要だと思い
始めています。勉強するつもりですが、今回は何もわからないま
まで書き込まれた方法を使わせてもらいます。
初めての体験、うまくできるか心配。
401:NAME IS NULL
08/02/06 22:46:56 zjHg3ehW
>>400
仮にも総務課なんてものがある規模の会社で、部署跨いでの運用前提なら
外注も考えた方がいいんじゃないかと老婆心。
社内に相応の作り手(とか管理者)がいるとか、使い手のレベルが確保できるなら別だけどね。
402:NAME IS NULL
08/02/07 00:12:11
URLリンク(soumubu.sigoto.jp)
でも社員数11人なんだぜ
403:NAME IS NULL
08/02/07 12:05:45 EaJqlF2t
私はこれのせいで、リストラされました、勉強しようとしても自学では難しかった、学校に行こうとしたが試験に落ちた、後はどうにもならなかった。後はどうにもならなかった。後はどうにもならなかった
404:NAME IS NULL
08/02/07 17:35:48 Xa53OaUG
すいません気が狂うほど初心者質問ぽくてあれなんですが・・・
フォームのテキスト群に数値の[1]か[0]を表示させて、別のテキスト(レコードあり)にその加算をだすように
そのコントロールソースに =[テキスト○○+[テキスト○○]+[テキス・・・・などと書き込んでフォームを
開けてみると、加算されず「00110100011000・・・・」などとなってしまいました。
なぜなのかわかりません、どうかお教えください。
405:NAME IS NULL
08/02/07 19:06:04
>>404
まず、基本的にテキストつまり文字列は計算できません。
これはAccessに限らずコンピュータの初歩の初歩です。
"国道1号線"と"国道2号線"を足したら"国道3号線"になりますか?ならないでしょう?
Accessでは"国道1号線"+"国道2号線"は"国道1号線国道2号線"となりますが、
これはAccessではそう決まっているというだけのことです。
この場合の解決策はフォームのテキスト群をすべて数値に変えるか?
それともテキストを数値に直してから計算するようにするかです。
初心者ということですが、数値とテキストの使い分けができないとAccessはとても使いこなせませんよ。
というようなことでいいのか?
406:NAME IS NULL
08/02/07 21:26:09 Xa53OaUG
>>405
早速のお返事ありがとうございます
文字列の問題・・・・やはりそうですよね、そうではないかとおもっていました
初心者といえ、ここまで顧客管理と役所に申請するソフトを作り上げて
最後の部分なのに、あまりといえばあまりな基本ですね・・・恥ずかしい。
一応、テキスト群のほうの書式は「数値」というふうに設定したのですが
根本的にわかっていないっぽいですね、わたし。
407:404
08/02/07 22:06:50 Xa53OaUG
もしかして・・・・
テキスト群はフィールドのないフォーム上だけのテキストボックスだから
「数値」としての認識はできないのでしょうか。
408:NAME IS NULL
08/02/07 22:13:57
a = CInt(form![hoge].caption)
409:404
08/02/07 23:17:04 Xa53OaUG
>>408
CInt関数ですね
って調べてみたけど、まだ私のスキルではうまく理解して使いこなせなさそう
410:NAME IS NULL
08/02/08 01:12:28 XfNQDRfL
アクセス2003を使っていて悩んでいます。
フォームにて(1)大分類(2)小分類を入力する際に、(1)にてA~Dを選択できるリストを表示し、(2)にて(1)で選んだ分類に属する小分類a1~a8、b1~b8・・・といったリストから入力するフォームを作りたいのですが、まったくわかりません。
このような入力方法をするにはどうしたらよいのでしょうか。
せめてこのようなリストは何というのか教えてください。
411:NAME IS NULL
08/02/08 09:18:57
>>410
(1)で選択した値で(2)のリストを抽出してやればいいんじゃないか?
(2)のリストボックスのソースをクエリにして、その抽出条件を(1)の選択値にしてやる。って感じ。
ってことでいいのかな?
412:NAME IS NULL
08/02/08 19:37:57
Access2007を買いたくない。
しかし、下位との互換性が薄いから、将来を見越して買わざるを得ない。
なぜ、Microsoftのご都合バージョンアップに付き合わされなければならないのか。
Access2003で十分。XPで十分。
リボンとか添付ファイル型は必要ない。
買う決心をつけるために、どなたか、Access2007の素晴らしさを説明して欲しい。
413:NAME IS NULL
08/02/08 19:39:33
>>412
桐にしとけ
414:410
08/02/08 23:17:29 XfNQDRfL
>>411サンクスです。
オレにとって難易度が高そうですが、やってみます。
415:404
08/02/09 00:57:17 SKQjl18B
一応普通に加算できましたのでお礼とご報告まで。
Val関数でできたのですが、不思議なのはレコードと関連していない1~31のテキスト群の
たった一つだけ関数書き込んだだけでできてしまいました。
釈然としませんが、できているので、いじらないことにしました。
ただ一難去ってなんとやらと申しますか・・・・例の1~31の結果を「来院数」(レコードあり)に反映させ
るわけですが、テキストボックスには加算された日数が入っているのに、レコードにはまったく反映
されません。悩む・・・・。
416:NAME IS NULL
08/02/09 02:08:31
レコードと結びついたフィールドを入力しなかった場合には、書き込まれないはずだが。
すべてのフィールドをレコードと結びつけるようにすれば、あれこれ悩まなくてすむと思う。
417:NAME IS NULL
08/02/09 02:13:45
1 + 1 + 1 = 3
1 & 1 & 1 = "111"
1 + "A" + 1 = "1" & "A" & "1" = "1A1"
このあたりは基本だから憶えておこうぜ。
418:NAME IS NULL
08/02/09 11:05:05 SKQjl18B
みなさん御世話掛けます(汗
結局のところ私みたいな初学者は
>すべてのフィールドをレコードと結びつけるようにすれば、あれこれ悩まなくてすむと思う
なんですかね、なにか必要のないレコードが増えると心理的に無駄使いしてるような気になってしまって。
考えてみたら、別にリアルに物が増えるわけでもなし、データ量としても微々たるものなんだから
最初からそうすべきでした。
419:NAME IS NULL
08/02/09 21:35:57
>>418
どうも発想がデータベース的ではないような気がしますね。
次はあくまでも個人的発想方法だということで読んでください。
1.フォームで入力用テーブルに入力する。
2.SQLで入力用テーブルから出力用テーブルを作る。
3.レポートで出力用テーブルを印刷する。
もちろん例外もあるのだけど、基本的にはこの発想でやると単純化できます。
Accessは自由度が高いだけに自分なりのパターンをもたないと収拾がつかなくなります。
ここで1と3は問題ないだろうけど、2のSQLで処理するというのに引っかかる人がいると思う。
もちろん、1レコードづつループしながらVBAで処理していく方法もあるけれど、
Accessのレコード移動は遅いようで結局時間がかかります。
結局SQL(クエリー)を使うほうが一般的に早いようです。それも桁違いにです。
かなりのデータ数でも「もう終わったの?」というスピードで処理します。
一見複雑でSQLでは処理できなさそうな処理でも途中でワークテーブルを使ってやればできます。
余計なワークテーブルを使うと遅くなりそうだけど、SQLが高速なせいでそうはなりません。
ワークテーブルを作るのがいやで、複雑なSQL文を書いてもかえって遅くなるだけです。
とまあ、アドバイスになるか反面教師になるかは知らないが、こんな考え方もあるということで・・・
420:NAME IS NULL
08/02/09 22:55:38
データの数がエクセルが扱える以上にならないかぎり
アクセスよりエクセルのほうが効率的じゃないのかな?
アクセス本腰いれたいんだけど
そんな思いが頭を離れない
こんなおれに一言
421:NAME IS NULL
08/02/09 23:08:42
>>420
エクセルが扱える数ってどれくらいを考えているの?
現実に使えるのは数千件がいいところだよ。
データが多くなれば重くて実用的にはとても使えない。
数万件の処理を考えているのならエクセルは問題外。
一言じゃないけどこれでいいか?
422:NAME IS NULL
08/02/09 23:42:09
>>421
まあその数千件がただしいとして(2003なら65536行×256列てことでいいのか)
それ以下ならアクセスを使っても非効率だってことでオッケなの?
423:NAME IS NULL
08/02/09 23:50:50
アクセスとエクセルは製品コンセプトがまったく違うだろ。
エクセルでデータベースらしいものができるかどうかしらんが、
ひとに使ってもらえるようなものは到底むりだ。
424:NAME IS NULL
08/02/09 23:58:44
古いPCだからCPUが遅いのもアルが、
エクセルで3千件で、その遅さに泣いた。
データは普通の住所録
アクセスに移行したら、作業時間が1/4以下になった。
参考に
425:NAME IS NULL
08/02/10 00:07:25
>>423
メーカー側が作ったもんじゃないコンセプトなんて
それよりかは
使う側がある目的を達するために
どれだけ効率的に生産的になれる道具かが重要って発想で
全然わかってないんで見当はずれかもだが
テーブルにためこんだデータを
後でいかようにも出力できるってのがメリットなのか
馬鹿扱いされるんだろうけど
直感的じゃなくねアクセス
426:NAME IS NULL
08/02/10 00:24:25
>>425
>使う側がある目的を達するために
>どれだけ効率的に生産的になれる道具かが重要って発想で
これ重要。
数百件のデータを程度を決まった使い方するなら、紙に印刷したものを
ファイリングした方が効率的だと思う。
エクセルも千~二千件程度のデータなら、いいソフトだと思うよ。
マクロで自動化も出きるし、簡単なUIも作れるし。
なにしろ、開いただけで何が同入っているか分かる。直感的ダネ。
アクセスに移行しようと思ったのは
・二千件超えたあたりで顕著に遅くなった。
・他人が使う可能性が出てきた。
CSVに吐いてwordで取り込んで差し込み印刷に使っていたんだが
9xのせいか分からんが、エクセルとワードの連携がうまくいかなかった。
・ボタン一発で楽をしたくなった。
データを色々加工して見せたりする必要が無い、帳票が必要無い、
自分しか使わない、もしくは使う人がある程度エクセルを分かってる
んならエクセルでもいいんじゃね。
エクセルをシラン人が触ると、エクセルの表示データの幅を自分で
動かしておいて「文字が全部表示されない!」って怒る事があるからな。
427:NAME IS NULL
08/02/10 00:29:40
そこまで知らない奴に触らせるならシート保護くらいしとけw
428:NAME IS NULL
08/02/10 00:32:40
>>427
自分しか触らない前提で、フォルダー深く掘って
隠しといたんだけど。
そういう奴に限って、掘り出すんだよ…orz
429:NAME IS NULL
08/02/10 00:50:43
>>424
>>426
参考になりヤス
>ボタン一発で楽をしたくなった。
書籍を片っ端から読んでますが
その楽をするまでがイバラの道なような
>データを色々加工して見せたりする必要が無い、帳票が必要無い、
>自分しか使わない、もしくは使う人がある程度エクセルを分かってる
>んならエクセルでもいいんじゃね。
ただ知り合いの作った帳票とかを見るにあるいは書籍をみるに
レポートでデザインのいじれる範囲が目標と乖離してそうな気がするんです
作りこんでもエクセルのように好き勝手に思ったように(もちろん手書きに比べ不満の部分もあるのかもしれません)
つくれないような
当方の職場はエクセルの一般的な使い方はみんな出来るようです
430:NAME IS NULL
08/02/10 01:13:44
>>429
帳票は連票形式のリストしかつくって無いから
どの程度の事が出来るのか、良く知らないけど
データの配置は自由だし、単票で作れば何でも出来そうな
気がするけど。
複雑な帳票をたくさんの種類つくらなきゃならんと、ちょっと面倒だね。
帳票のデザインとボタン一発とSQLは別のスキルだねぇ。
帳票やフォームのデザインをする時は頭を切り替えるw
私だったら、アクセスに移行するかどうかは
データ量と帳票レイアウトの変更頻度で判断するな。
しょっちゅう、レイアウトが変わったり、増えたりするなら
なれてるエクセルで帳票作成して、データ件数が増えたら
最悪はバックエンドにアクセス使うってのアリかも。
まぁこのへんは色々意見がありそうだが。
431:NAME IS NULL
08/02/10 02:44:56
>>419
ごもっともだと思うが、それを>>418を相手にに説くのは間違っていると思う。
432:NAME IS NULL
08/02/10 10:57:21
>>412
OOoのBaseでAccess2007のmdb扱えるようになったから
もう2007は要らないと決心した
433:NAME IS NULL
08/02/10 14:11:21
2007の.accdb自体は.mdbのJETデータベースエンジンに毛が生えた程度のもんだから
それは従来のBASEが.mdbを扱えるからACCESSいらないって言ってるのと同じだよ
434:NAME IS NULL
08/02/10 15:15:10
結論的にいらないことには変わりないんだからいいんでね?
435:NAME IS NULL
08/02/10 17:28:11
>>431
まあ確かにそれもごもっともだと思う。
>>418に説いたというより初学者全般に対する指標のつもりだったのだけど・・・
そんなえらそうに言えた義理じゃないんだけど・・・
436:NAME IS NULL
08/02/10 17:30:55
OOoのBaseって実用的に使える程度になったのか?
以前触った時には実験中?ってできだったけど?
437:NAME IS NULL
08/02/10 17:32:06
>>436
使える気がしないです。
438:NAME IS NULL
08/02/10 21:38:47
>>412
Accessはオブジェクトが極限まで増えるとメモリ不足に陥りいろいろ障害がでてくる。
VersionUpは機能が増え一見いいことのように思えるがその代償として
ユーザが使えるメモリ領域が減ってしまう。
結局、32bitというメモリ空間が変わらない限り安易なVersionUpは
ユーザにとってはけっして好ましいこととはいえないのである。
439:404
08/02/11 11:17:26 EwWRkqJM
最後にひとつだけ質問よろしいでしょうか?
フィールドのない31個のテキストボックスにVal関数を使い、数値化には成功
その31の数値の積を【来院数】に出すわけですが、レコードソースに式を書き込むと
レコードに残らないということだったので、「クリック時~」で設定するとこれも成功。
しかし実際には諸事情で「クリック時~」では実用的ではありませんで、「更新後~」にするべき
でありましたので、その欄に書き換えました、問題はここです。
何度やっても反応しません、式が間違っているわけでもなさそうです、なぜなんでしょう・・・・。
毎度くだらない質問で恐縮ですが、最後にご教授ください。
440:NAME IS NULL
08/02/11 11:57:27
更新後ってのは、レコードが書き込まれた後ってことだから
書き込まれない限り実行されない。
別の方法を考えるべきだろう。
441:NAME IS NULL
08/02/11 13:22:24
>>438
> 結局、32bitというメモリ空間が変わらない限り安易なVersionUpは
おいおい、32bitのメモリ空間って言ったら4GBになるんだぜ。
Access2007がどれくらいのメモリが必要なのか知らないが、
4GB使い切るほど肥大化しているわけ無いだろ?
442:404
08/02/11 13:26:57 EwWRkqJM
>>440
ありがとうございます
なるほど「更新後」の意味を履き違えておりました、いまの今まで。
そうなると「更新前」は・・・・いや、あれもだめだった。
いちばんいい方法はなんなのだろうか考えてみます。
443:NAME IS NULL
08/02/11 13:40:50
どうでもいいが来院数の院が病院の院だったら
ちょっと怖くて行けないな・・・
444:NAME IS NULL
08/02/11 13:44:11
桐にしとけよ
良いとこ取りだぞ
445:NAME IS NULL
08/02/11 13:46:41
またお前か。
446:NAME IS NULL
08/02/11 14:06:19
>>444
(笑)
447:NAME IS NULL
08/02/11 14:45:55
>>439=404
31日分の合計(和)を出す電卓を作りたいってことだろ?
入力途中の表示に違和感を覚えるかもしれないが
「変更時」に再計算するようにしておいたらどうよ?
448:NAME IS NULL
08/02/11 14:53:56
>>443
いや、その病院では一番Accessが得意な
若い看護婦さんかも知れないぞ
ここでお近付きになっておいて
その病院へ逝くのも悪くない
449:NAME IS NULL
08/02/12 00:57:22 aoyNE+PV
教えてください。
とある機器のレンタルをしている事業所で勤務しております。
そこで、レンタル代金請求の仕組みを作ることになったのですが、
請求パターンがややこしくACCESSでの実現手順を教えてください。
商品代金の他に、送料と消毒代金も請求しており、
又、通常のレンタルとお試しレンタルもあり、
お試しで借りて、通常レンタルに切替る事があります。
お試しで借りて、気に入らずに返却になる事もあります。
請求ですが、
納品送料 引上送料 消毒
通常 開始月 終了月 終了月
お試し 終了月に往復 終了月
情報には契約番号(切替の場合、契約番号は同じ番号です)、
レンタル開始日、終了日、があります。
例:お試し、通常レンタルともに終了
→消毒費とる
お試し終了し通常レンタル切替てレンタル中
→消毒費とらない(レンタル中なので)
消毒費とる場合は、「1」 とらない場合、「0」になるような
式を教えてください。
同じく、送料についても、とる場合「1」、とらない場合「0」
になるような式を教えてください。
450:NAME IS NULL
08/02/12 01:03:43
商品マスタに消毒代とか送料とか登録しとけ
451:NAME IS NULL
08/02/12 01:57:07 aoyNE+PV
>>450
送料、消毒費登録ありますよ。
で、発生する条件を式にできないものかと、
あと補足ですが、
同じ契約番号の場合の見分け方ですが、「行番号」と「レンタル区分」で
通常レンタルかお試しか見分けます。
宜しくお願いします
452:NAME IS NULL
08/02/12 06:17:15
>>449
VBAで関数を記述しないと無理だな。
数式を一行で表わすっていうのはむずかしいんだよ。
VBAなら、どんなに複雑な判定文でも実現可能なはず。
453:NAME IS NULL
08/02/12 17:12:51
>>449
まず、自分の飯のタネの仕事を2ちゃんで他人に只でやってもらおうってむしが良すぎない?
それにこれそんなにややこしい請求パターン?
「通常レンタル」、「お試しレンタル」、「お試しから通常切り替え」の3パターンしか無いように思うけど?
プログラマーならそれほど苦労せずにできることだと思うけど・・・
もしかしてエクセルの延長線でできると思ってない?、
レンタル代金請求の仕組みって請求書発行までするってことでしょう?
プロでも結構苦労することを簡単に出来ると思っている?
繰越処理が割と難しいし、消費税の問題もある。
相手のあることだから意外と例外処理も発生するし、
後から修正することも必要だったりする。
ここで質問に答えてもそのシステム完成しないと思うけどなあ?
454:NAME IS NULL
08/02/12 19:07:49
(質問がよく理解できてない気がするオレだけど)
請求パターンをテーブルにすりゃいいんじゃないの?
パターンごとに1とか0を最初からいれといてクエリ
でつないだら?
455:NAME IS NULL
08/02/12 21:59:21
俺がやったことあるのは不動産の賃貸契約書管理とか
リース資産のリース契約書管理とかだけど、このケースでは・・・
・契約の開始/終了は年月日ではなく年月で管理(シンプルでいいね)
・契約開始年月はデータ入力の時点で確定。
・契約終了年月は契約期間中に変化する(先延ばし)可能性あり。
・契約区分に通常/試用があり、契約期間中に変化する(試用→通常)可能性あり。
・請求金額1(納品送料)の請求時期は契約区分が通常なら契約開始年月、試用なら契約終了年月。
・請求金額2(引上送料)の請求時期は必ず契約終了年月。
・請求金額3(消毒費用)の請求時期は必ず契約終了年月。
・どの請求金額も請求するのは契約期間中に必ず1回だけ。
このあたりを踏まえた上で設計するのがポイントになりそうだね。
かなり作りこみしちゃったからもうそんな変更できないよと言われても困るけどw
456:NAME IS NULL
08/02/13 08:20:02
>>429
ACCESSにデータ抱え込んでおいて、
EXCELからADOでも使って呼び出したらいい。
これなら好き勝手に出力形式作れる。
457:NAME IS NULL
08/02/14 09:45:10
>>441
>32bitのメモリ空間って言ったら4GB
理論的には、使い切れないほどの巨大なメモリ空間のはずなんだが、
実際にオブジェクトを増やしていくとすぐに限界にきてしまうのなぜだろう。
458:NAME IS NULL
08/02/14 14:17:31
>>457
そりゃあリソースの話じゃないのか?
いくらメモリがあってもリソースが足りなくなればそれ以上は出来ないよ。
もしかしたら、いまだにWin98系列を使ってない?
459:NAME IS NULL
08/02/14 22:40:04
それはない。
460:NAME IS NULL
08/02/14 23:15:39
Windowsのリソース管理テーブルサイズと
Accessのリソース管理テーブルサイズはべつもんでしょ。
ヘルプとかにリミット書いてなかったっけ?
461:NAME IS NULL
08/02/15 18:13:51
>>460
そうなのか?それは知らんかった。お恥ずかしい。
それはともかく、オブジェクトってフォームとかレポートのことだと思うのだけど、
Accessでオブジェクトを極限まで増やすっていったいどれくらいのこと言ってんだろう?
そんなに増やしたら管理するのが大変だと思うし、それってAccessの守備範囲なんだろうか?
大人数での開発に適してないAccessでそんな開発するほうが無理と違うのかなあ?
462:NAME IS NULL
08/02/15 19:00:25
TableCount=425
QueryCount=263
FormCount=144
ModuleCount=144
MacroCount=0
ReportCount=0
こんな感じだが、特にFormはMemoryを多く消費する。
オブジェクトの管理はうまく工夫すれば、どんなに数が増えようが負担は変わらない。
463:NAME IS NULL
08/02/16 00:39:02
テーブル一覧で毎日死ぬほどスクロールさせてんだろうな。
まあ本人が負担と思ってないんだから別にいいけどw
464:NAME IS NULL
08/02/16 03:26:33
テーブルが多くなるとスクロールで探すのに苦労するってのは初心者だな。
アクセスのレコードソースの入力欄はインクリメンタルサーチ機能があるんだから
それを最大限に活用できるような命名規則をつくるのが肝心なんだよ。
465:NAME IS NULL
08/02/16 08:40:03
>インクリメンタルサーチ機能
テーブル名に漢字を使ってるヤシにはピンとこないんだよね。
466:NAME IS NULL
08/02/16 08:53:56
>アクセスのレコードソースの入力欄
これないんだけど・・・
アホにもわかるように詳しく
467:NAME IS NULL
08/02/16 10:12:13
設計が最適化されてたらフォームにしろレポートにしろ
複数テーブルいくつも連結するだろうに。
インクリメンタルサーチが役立つって、おまえはいつも
単体テーブル一個しか使わないのかよw
468:NAME IS NULL
08/02/16 16:01:22
>>462
うわあ・・・糞の山だあ・・・
469:NAME IS NULL
08/02/16 17:02:42
>>462
> TableCount=425
425もテーブルがあるのか?
いったいどういうシステムなんだ?月ごとにテーブルを切り替えているとか?
> QueryCount=263
> FormCount=144
> ModuleCount=144
オブジェクトの話だよね?モジュールが144っていったいどんな分け方したらそんなことに?
プロシージャをモジュールごとに分ける意味が無いような気がするが?
それともフォームにはプロシージャーを書かないようにしているとか?
> MacroCount=0
> ReportCount=0
ほんでもってレポートが0?印刷しないのか?
それとも、他の方法でも使っているのか?
随分と謎のシステムだなあ?
470:NAME IS NULL
08/02/16 18:49:37
>>466
俺もなんのことかわからなかったのだけど、
もしかしたら、コード ウィンドウのことかな?
用語の使い方といい、オブジェクトの数といい、
随分独創的なシステムの構築をしているらしいなあ?
まあ、それもいいけど・・・・・・
471:NAME IS NULL
08/02/16 18:59:50
>>466
1.フォームオブジェクトを選択
2.右クリックでデザインビューを選択
3.フォームのプロパティを開く
4.すべてのタブを選択
5.レコードソース(1番上)
472:NAME IS NULL
08/02/16 19:34:23
>>471
それを省略して言うと「アクセスのレコードソースの入力欄」になるのか?独創的だなあ?
なんだか良くわからないが、とりあえずいいや。独創的過ぎて参考にならなさそうだし。
だいたいテーブルの管理は印刷でもしておけば問題ないし、特にどうってことはない。
とりあえず、メモリを食うフォームでも140まではいけるんだ。
俺はまだ60もいってないから、当分は大丈夫。これは参考になった。サンキュー!
473:NAME IS NULL
08/02/16 20:13:53
フォームと同様にレポートもメモリ使うみたいだから、それもカウントしなきゃダメだよ。
474:NAME IS NULL
08/02/16 20:57:05
>>473
ああ、それもそうだなあ。するってえとそろそろ限界が近いかもしれない。
基本的に1ファイルで管理するAccessではやはり大規模開発(ってほどでもないけど)は無理かも?
随分前から代替手段を検討しているけれど、とりあえず問題がないのでなかなか踏ん切りがつかない。
一応第一候補はJavaなんだけどなあ?
475:NAME IS NULL
08/02/17 01:26:08
Mac、Linux、Windowsとプラットフォームを問わないJAVAでの開発がこれからの主流。
そんなふうに考えていた時期がぼくにもありました・・・
476:NAME IS NULL
08/02/17 11:04:55
Accessの代替がJavaとかズレてねえ?
477:NAME IS NULL
08/02/17 12:07:16
>>469
アクセスのレポートを使わないのは、他の印刷ツールを使っているからだ。
そのほうがよりニーズに対応したものが作れるということもあるが、
MDBからできるだけ外に出したいという理由がある。(メモり対策、分散作業のため)
その代わり、ワークファイルやモジュールが増大するのは仕方ないと思っている。
478:NAME IS NULL
08/02/17 13:26:35
>>477
アクセスのレポートより良い印刷ツールなんてそうそう無いと思うのだが?
いったいなに使っているんだろう?
479:NAME IS NULL
08/02/17 15:30:36
>>476
じゃあ、他になんかある?
480:NAME IS NULL
08/02/17 15:36:56
VB
481:NAME IS NULL
08/02/17 16:27:22
桐
482:NAME IS NULL
08/02/17 17:46:13
おいおい、Accessより大規模なシステムの開発の話だぞ。
VBや桐じゃ同程度の開発がいいところだと思うけどなあ?
ってまあここで聞くような話じゃないけどな。
483:NAME IS NULL
08/02/17 20:41:54
データベースエンジンの話が抜けてるのがズレてるっぽい
484:NAME IS NULL
08/02/17 21:47:03
エンジンはJetで
485:NAME IS NULL
08/02/17 22:20:57
>>484
なんでAccessの一番の弱点だと思われるJetエンジンをAccessの代替で使わなければいけないんだ。
MySQLあたりを使うのが普通だろう?
486:NAME IS NULL
08/02/17 22:25:51
俺の会社オラクル使ってるけど、レポートと入力は桐でやってる。
レポートは桐が群を抜いてるし、入力も桐の表形式が速くて誤入力がない。
他はオラクル。
487:NAME IS NULL
08/02/17 22:38:21
オラクルと桐しか使ってないやつがなんでこのスレ来てんの?w
488:NAME IS NULL
08/02/17 23:04:14
2ちゃんもDB関係は全部目を通してる。
一応、DBが本職なんで。
489:NAME IS NULL
08/02/18 02:14:37
>>478
アクセスのレポートは作成された帳票にユーザが手を加えられないのが難点。
エクセル形式で帳票作成できるツールであれば、作成されたものはユーザが自由に改造できる。
また、ユーザが作ったエクセルファイルをそのまま流用できるのもいい。
URLリンク(www.adv.co.jp)
ACCESS VBAからでも使用可
490:NAME IS NULL
08/02/18 05:45:35
>>486
桐とオラクル?
初めて聞く組み合わせだ。
確かにワープロを作っていた会社だけあって日本語のレポートは郡を抜いている。
ほとんどどんな印刷物でもできる。
でも、桐の外部データーベース接続は遅いって聞いたのだけど?
それとも、入力と印刷のたびにファイル変換しているのだろうか?
オラクル自体はなんで動かしているの?まさか桐の一括処理?
もし良ければ参考にしたいので教えて下され。
491:NAME IS NULL
08/02/18 08:33:50
入力と印刷のたびにファイル変換してる。
入力は一部だけど、キーパンチャーがバコバコボコボコ入力する部分だけ。
ほんと、入力も桐が効率良いわ。
492:NAME IS NULL
08/02/18 19:07:03
>>491
Accessのフォームも作りこんで複写とか出来るようにすればそれなりに効率は良くなるんだが、
あまり複雑になると遅くなったりするからなあ?
確かに桐を使うってのはひとつの手だとは思うし、
ファイル変換してというのはありだとは思うけど、あまりスマートなやり方ではないなあ?
マネしてやってみようという気には残念ながらならないなあ?
493:NAME IS NULL
08/02/18 20:15:43
お前はJavaでやればいいよ
494:NAME IS NULL
08/02/18 21:15:23
>>492
複写ってどうやんの?
495:NAME IS NULL
08/02/18 22:59:30
・オラクル→桐
・桐→オラクル
通常の運用でこの処理を何度も何度も何度も何度も繰り返してるってことだな。
人間のやることだからバコバコ打った後に桐→オラクルするつもりがオラクル→桐しちゃったとか
年に1回くらい普通にありそうだが・・・
496:NAME IS NULL
08/02/18 23:02:02
Accessの帳票は印刷にはいいんだけど、
データでくれって言われた時にちょっと困る。
前はPDFにして送ったけど。
497:NAME IS NULL
08/02/18 23:17:54
印刷物を画像データで要求されて困るのはAccessのレポートに限ったことじゃないと思うが
498:NAME IS NULL
08/02/19 05:05:58
>>495
普通はプログラム(一括処理?)組んで自動処理するだろう?
オラクルまで導入してそんなところを手作業でしてたらいい笑いものだ。
499:NAME IS NULL
08/02/19 05:07:07
>>497
たぶんエクセルと比較して言っているんだろう?
500:NAME IS NULL
08/02/19 09:45:59
印刷イメージをデータで送るってこと多いのか?レポートのレコードソースをCSVでというのはよくあるが。
501:NAME IS NULL
08/02/19 11:08:13
>>494
> 複写ってどうやんの?
元のデータを変数に格納してその変数を使ってレコードを追加すればいい。
そんなに難しいプログラムではないよ。
使いやすく作るのは難しいかもしれないけれど。
502:NAME IS NULL
08/02/19 12:31:52
>>497
エクスポートで.htmlやら.xlsやら選べるの知ってたから安請け合いしたら、
実際やってみてウボァということがあった。
まあ俺が間抜けなんだけど。
>>500
実際のレイアウトとか見たいんじゃないかな。
Accessだとレポート使うけど、
こないだHSQL+JavaでやったときはHTML出力にした。
Accessのレポートは印刷設定が時々リセットされるし。
そのたびに呼ばれるのはかなわん。
503:NAME IS NULL
08/02/19 13:17:48
社内で主にデータ閲覧用のデータベースとしてアクセス(ADP)使っているんだけど、
そろそろレポート出力の方もちゃんと勉強しなくちゃと思ってます。
レポートの作り方で参考になるようなサイトってあまりみかけないんだけど、
おすすめあったら教えてプリーズ。
504:NAME IS NULL
08/02/19 18:52:41
そういや、レポートってあんまりなにかを見て覚えたという記憶がない。
トライ&ゴーでいろいろやって、なんとなくわかった。
基本的にはフォームと良く似ているけれど、
ユーザーインタフェースを意識しなくていいので楽な気がする。
気をつけなくてはいけないのはヘッダーとフッターの使い方。
特にグループヘッダーフッターの使い方で改ページするところが変わってくる。
いろいろやってみればだんだんわかってくるとは思うけど最初は戸惑う。
それと、あまり複雑なレポートを作ると重く遅くなるので、
印刷用のデータをSQLで作ってレポートはシンプルになるように気をつけたほうがいいと思う。
505:NAME IS NULL
08/02/19 19:25:55 zoj3pqPw
ACCESSでこのようなデータを入力後下記の形にVBAでしたいのですが
どうすればいいですか?
納品先 |商品名 |規格 |数量 |
A |やさい |2L |50 |
A |やさい |3L |30 |
B |衣料品 |L | 5 |
変換したい形
納品先 |商品名 |内容1 |内容2 |内容3 |
A |やさい |2L |3L | |
A |やさい |50 |30 | |
B |衣料品 |L | | |
B |衣料品 |5 | | |
506:NAME IS NULL
08/02/19 20:06:10
あほなことやってると思うけど
あえてやり方挙げるなら
UNIONかな
507:NAME IS NULL
08/02/19 20:09:08
>>505
テーブルでは、たとえ桐つかっても無理だな
レポートでやれ
508:NAME IS NULL
08/02/19 20:43:19
レポート作るとき
フィールドリストからドラッグ アンド ドロップして
ラベルとテキストのコントロールが連結した状態で出来上がるが
その一方だけをセクションを跨いで移動したいとき
例えばラベルだけをフッターセクション上に置き
テキストは詳細セクション上に置くには
どのようにすればいいのでしょう?
ドラッグしてもセクションをまたげなくないですか
509:NAME IS NULL
08/02/19 20:46:25
またげないお
510:NAME IS NULL
08/02/19 21:02:27
>>508
それほど悩むことかな?
ラベルをカット&ペーストで持っていけばいいんじゃない?
ラベルだけ作り直したってたいした手間ではないし。
511:NAME IS NULL
08/02/19 21:04:58
Access2007のはラベルのC&Pでも持っていけなかったorz
512:NAME IS NULL
08/02/19 21:12:41
>>510
慣れてる方はそう思われるんでしょうけど
出来うるなら簡素なやり方でやりたい
フィールドが沢山あるもので
オートレポートでもフィールドが多すぎて出来ないと
表示されますし
513:505
08/02/19 21:44:35 zoj3pqPw
>>507
レポートだとどうすればいいですか?
514:505
08/02/19 21:59:36 zoj3pqPw
まちがえました
再度書き込みしなおします
ACCESSでこのようなデータを入力後下記の形にVBAでしたいのですが
どうすればいいですか?
納品先 |商品名 |規格 |数量 |
A |やさい |2L |50 |
A |やさい |3L |30 |
B |衣料品 |L | 5 |
変換したい形
納品先 |商品名 |規格1 |数量1 |規格2 |数量2 |規格3 |数量3 |
A |やさい |2L |50 |3L |30 | | |
B |衣料品 |L |5 | | | | |
515:NAME IS NULL
08/02/19 22:03:12
>>512
オートレポートってアメリカならいざしらず罫線を使った複雑な帳票を要求される日本では使い物にならない。
ラベルとテキストの連結は便利なようで実際はじゃまにしかならない。
レポートって最初からレイアウトが一発で決まるということはまず無くて、
結局修正修正の繰り返しになることがほとんど。
経験上、簡素なやり方だと後で手直しする手間がかえってかかる。
複雑な帳票になるほど一つ一つコントロールを配置していくほうが結局近道になる。
複雑な帳票といっても良く見ると似たようなコントロールが多いので、
一つ作ってそれをコピーしてから修正すれば意外と手間はかからない。
まあ、意にそぐわない答えだと思うけど正直そう思う。
516:NAME IS NULL
08/02/19 22:07:04
似たようなものがいっぱいあるとき
全部のプロパティいじるの面倒で仕方ないんですが
コントロールの配列みたいなことは出来るんですか?
517:NAME IS NULL
08/02/19 22:37:59
>>516
> 似たようなものがいっぱいあるとき
> 全部のプロパティいじるの面倒で仕方ないんですが
いったいいくつあると言うのかな?
似たようなものならいじらなければならないプロパティはそんなにないと思うのだけどね。
例えば31個のフィールドがあるならば最初にData01を作ってコピーした先をData02とすれば1を2に変えるだけ。
最初からそういうことを念頭においてテーブル設計しておけば面倒なことはないと思う。
それからコピーしてペーストしたコントロールを移動してからさらにペーストすれば、
移動した方向にいくつでも並べられる。これを使うと配置も便利。
工夫次第でこれくらいのコントロールは簡単にできるよ。
そのくらいことで面倒なんて言っていたらVBAなんてとてもできないし、
VBAを使わないAccessなどクリープの入ってない・・・・・・(w
31個よりはるかに多いというのならそれは根本的に考え直したほうがいいと思う。
31個の例でもプレビューするのに何分もかかりました。
それよりはるかに多いのなら使い物にならないだろうし、
ハングして動かなくなる可能性も高い。
> コントロールの配列みたいなことは出来るんですか?
コントロールの配列ってまったくイメージがわかないんだが、出来ないだろうと思うよ。
518:NAME IS NULL
08/02/19 22:42:08
>>515
いや、参考になりやす
アメリカ文化の日本文化の罫線
バカヤローです。
ただofficeの浸透力、シェアにあきらめて
やるしかないですね
519:NAME IS NULL
08/02/19 22:52:21
>>518
ここで出てきそうな言葉が「桐にしとけ」なんですが、
確かにこういう分野は桐が得意でいいんですが、
桐には桐の問題点があるんでね。
Accessでも工夫次第で大抵のことはできるんでがんばってください。
520:NAME IS NULL
08/02/19 23:05:07
>>517
コントロール配列はVBでは基本テクニックっすよ。
521:NAME IS NULL
08/02/19 23:24:24
VB6 では、実行時に配列を振る必要はないのですが、デザイナで 1 つ、コピー元になるコントロールを配置しておく必要があります。
また、そのコピー元の Index プロパティを画面デザイナから 0 に設定しておいてください。(実行時の設定はできません)
新しいコントロールを追加するというよりは、コントロールを複製するという動きになります。
そのコピー元は Index プロパティが 0 のコントロールで、Load ステートメントを使用することで複製されます。
この時、Visible プロパティは False になっていますので、True にする必要があります。
522:NAME IS NULL
08/02/19 23:24:56
URLリンク(jeanne.wankuma.com)
' Load イベントで配列を動的に作成してフォームに加える
Private Sub Form_Load()
Dim i As Integer
For i = 1 To 9
' Load ステートメントを使用してコントロールを作成する
Call Load(Me.Text1(i))
' ここで、プロパティなどを必要に応じて設定します
Me.Text1(i).Text = "Text" & CStr(i + 1)
Me.Text1(i).Top = Me.Text1(0).Top + (240 * i)
' 初期値で False になっているので True にする
Me.Text1(i).Visible = True
Next i
End Sub
523:NAME IS NULL
08/02/19 23:28:14
VBAでは使えないサンプルソース乙
524:NAME IS NULL
08/02/19 23:34:43
>>516
桐には初めからファミリってのがあって、コントロールをグループ化して一括で設定できるど
525:NAME IS NULL
08/02/19 23:35:54
URLリンク(www.h3.dion.ne.jp)
URLリンク(www.moug.net)
URLリンク(okwave.jp)
526:NAME IS NULL
08/02/20 11:29:28
>>504
アドバイスありがとう
527:NAME IS NULL
08/02/20 12:09:20
>>525
アドバイスありがとう
528:NAME IS NULL
08/02/20 20:58:58
>>514
エクセルならいざしらず、まずデータをコード化しないとどうにもならないと思いますよ。
このままコード化しないまま処理しようと思っているのなら、エクセルでやったほうがいいでしょう。
それはともかく考えかたとしてはこういうことでいいと思います。
規格によって書き込む位置が変わるわけですからその規格がどの位置になるかの情報が必要です。
この場合2Lは1の位置、3Lは2の位置、Lは1の位置ということになります。
この位置情報をテーブルで保存しておきます。
そしてあらかじめ変換したい形の空白のデータベースを用意し、そこに商品マスターからデータを流し込みます。
そのテーブルに元の形式のテーブルと位置情報のテーブルをリレーションして更新をかけます。
これはSQLをつかうのが簡単で早いでしょう。
とはいうものの本当にこんなやり方でいいんでしょうか?やさいというのは単なる例なのでしょうが、
規格がある一定の範囲で収まるとは思えないのですが・・・・
印刷サイズを越えたらどうするのでしょう?
根本的に考え方を変えたほうがいいように思うのですが?
529:NAME IS NULL
08/02/20 23:10:49
衣料品の規格Lは常識的に推理できるけど野菜の2Lとか3Lとかが
どんなものかまるで想像つかないな。
もしかしたら4Lとか5Lとか99Lとかたくさん種類があってそれを50音順に、
あるいは入力順に左詰めで並べたいということだろうか?
順番は関係なく、とにかく3つが横並びになっていればいいのか?
同じ野菜で同じ規格が複数行入力されたら数量は合計するのか?
4つめの規格が入力されてしまった場合は捨てるのか?数量4を用意するのか?
それとも4つめの規格については絶対入力されない保証があるのか?
もうちょっと要件定義が必要だとオモタ
530:514
08/02/20 23:49:11 DCQNrO7Q
>>528
レスありがとうございます
詳しい説明文もかかずすいませんでした
全然説明不足でした
DATAというテーブルに下記の形で入力します
納品先 |商品名 |規格 |数量 |
-------------------------------------
A |やさい |2L |50 |
A |やさい |3L |30 |
A |やさい | L |15 |
A |やさい | M |20 |
A |やさい | S |33 |
A |やさい |等外 |40 |
B |衣料品 |L | 5 |
変換後というテーブルを作成しておき以下のように
VBAなりの方法で以下のように追加したいと思います
納品先 |商品名 |規格1 |数量1 |規格2 |数量2 |規格3 |数量3 |規格4 |数量4 |
--------------------------------------------------------------------------------
A |やさい |2L |50 |3L |30 |L |15 |M |20 |
A |やさい |S |33 |等外 |40 | | | | |
B |衣料品 |L |5 | | | | | | |
規格で位置が決まってるわけではありません
規格、数量とも1~4まで交互にあり
その商品ごとの規格、数量ははかならず1からはじまります
仮にやさいで規格が6つ存在したら
次のレコードの規格1の所に入る形でやりたいです
うまく伝わりましたでしょうか?
よろしくお願いいたします
531:514
08/02/21 00:04:34 Wq3um4ha
>>530
かなりずれてしまいました
>>529
>衣料品の規格Lは常識的に推理できるけど野菜の2Lとか3Lとかが
>どんなものかまるで想像つかないな。
>もしかしたら4Lとか5Lとか99Lとかたくさん種類があってそれを50音順に、
>あるいは入力順に左詰めで並べたいということだろうか?
>順番は関係なく、とにかく3つが横並びになっていればいいのか?
やさいに限らず規格は無限と考えてもらえると助かります
並ぶ順番などは特にないです
上にあるものからでかまいません
>同じ野菜で同じ規格が複数行入力されたら数量は合計するのか?
集計に使う予定で考えてますので
クエリをつかって日付で抽出し、納品先ごとで合計します
>4つめの規格が入力されてしまった場合は捨てるのか?数量4を用意するのか?
>それとも4つめの規格については絶対入力されない保証があるのか?
530を見てもらえると助かります
532:NAME IS NULL
08/02/21 00:32:42
レポートならこんな感じにサブレポートの列数を指定してやるといい。
URLリンク(nullpo.vip2ch.com)
533:NAME IS NULL
08/02/21 02:30:27
'ADO参照追加
Private Sub hoge()
Dim cn As New ADODB.Connection
Dim rstKey As New ADODB.Recordset
Dim rstData As New ADODB.Recordset
Dim rstTrans As New ADODB.Recordset
Dim count As Integer
Dim flg As Boolean
Set cn = Application.CurrentProject.Connection
cn.Execute "DELETE FROM 変換後"
rstKey.Open "SELECT 納品先,商品名 FROM DATA GROUP BY 納品先,商品名", cn, adOpenForwardOnly, adLockReadOnly
rstTrans.Open "SELECT * FROM 変換後", cn, adOpenForwardOnly, adLockOptimistic
Do While Not (rstKey.EOF)
w = 0
flg = False
rstData.Open "SELECT * FROM DATA WHERE 納品先='" + rstKey.Fields(0) _
+ "' AND 商品名='" + rstKey.Fields(1) + "'", cn, adOpenForwardOnly, adLockReadOnly
Do While Not (rstData.EOF)
If w = 0 Then
flg = True
rstTrans.AddNew
rstTrans.Fields(0) = rstData.Fields(0)
rstTrans.Fields(1) = rstData.Fields(1)
End If
rstTrans.Fields(w * 2 + 2) = rstData.Fields(2)
rstTrans.Fields(w * 2 + 3) = rstData.Fields(3)
If w < 3 Then
w = w + 1
Else
rstTrans.Update
flg = False
w = 0
End If
rstData.MoveNext
Loop
rstData.Close
If flg Then
rstTrans.Update
End If
rstKey.MoveNext
Loop
rstKey.Close
rstTrans.Close
Set rstKey = Nothing
Set rstData = Nothing
Set rstTrans = Nothing
Set cn = Nothing
End Sub
534:NAME IS NULL
08/02/21 10:56:56
規格、数量とも1~4までって限度が決まってるなら、桐でやれば簡単じゃん
535:NAME IS NULL
08/02/21 15:05:24
>>531
> クエリをつかって日付で抽出し、納品先ごとで合計します
Pivot使えばテーブルの変換不要
元テーブルから直接集計汁
536:NAME IS NULL
08/02/21 15:10:18
>>534
だれもそんなこと聞いてないよ。空気読めないというか、読む気が無いアホは引っ込んでろ。
俺はVer1からの桐ファンなんだけど、桐の評判落とすようなことはするな!
桐を使うか?Accessを使うかはケースバイケース。
だいたいの場合、手軽にやるなら桐、アプリケーションを作るつもりならAccessを使う。
桐しか使えないアホがなんでも桐が一番なんていうのは良い恥さらしだ。
537:NAME IS NULL
08/02/21 15:14:43
変なの来たわ
538:NAME IS NULL
08/02/21 18:04:05
>>530
上のテーブルはいいけど、下のテーブルはもはやリレーショナルデータベースである意味がない。
もちろん、VBAを使って無理矢理やればどうとでもそういうデータを作成できるけど、
それはVBAを勉強しろとしか言えない。
VBAでやるきがあるなら「レコードセット」がわかればできると思うよ。
>> 集計に使う予定で考えてますので
>> クエリをつかって日付で抽出し、納品先ごとで合計します
ならば、上のデータを直接クエリやVBAで集計することを考えた方がいいのでは?
539:514
08/02/21 19:28:23 Wq3um4ha
>>533
できました
ありがとうございました
使わせていただきますね
自分ももっと勉強しなければ...
>>535
基本は複数行入力しないように心がけてるので大丈夫です
>>538
人から頂いたコードをカスタマイズする程度ならできるんですけど
一からとなるとちょっと自信ないんです....
540:NAME IS NULL
08/02/21 20:31:59
>>539
そういう なまいきな発言をするから、周りの人に教えてもらなくなって、ここで聞いているんだね。
541:NAME IS NULL
08/02/22 00:47:15
つか、こんなレコード作ってなんに使う気なんだ?
542:NAME IS NULL
08/02/22 05:22:45
いっぱい釣れたのでもういいです
543:NAME IS NULL
08/02/22 09:47:34
>>541
上のほうで出てた印刷イメージのデータを作るってことじゃないか?
544:NAME IS NULL
08/02/22 20:40:56
>>543
まあ、そうなんだろうけど正直あまり良いやり方ではないと思う。
そのまま印刷したんじゃやたら縦に長い表になるからって、
わざわざこんな面倒なことをするんだろうけど、
それなら段組印刷でもすればいいと思う。
そっちのほうがずっと見やすいしシンプルだ。
これもそう簡単に実現はできなさそうだけど
同じ努力するならそのほうが良いと思う。
545:514
08/02/23 14:47:52 BrdEtbtD
>>540
気にさわったのであればすいません
そんなつもりはありませんでした
>>541
543さんの方が言われるとおりです
今までエクセルでこの形で印刷してたんですけど
アクセスに移行しても見慣れたこの形がいいといわれまして
546:NAME IS NULL
08/02/23 15:24:51
>>545
> アクセスに移行しても見慣れたこの形がいいといわれまして
見慣れてない俺からしてみると不自然なんだけどね。
まあしょうがないか?現実にはすべて合理的ってわけには行かないものなあ。
547:NAME IS NULL
08/02/24 22:20:07 +jC5teAM
>>514
印刷目的ならテーブル(or クエリ)レベルで変換するより複数列レポート使うのがお奨め。
たぶん今後も開発や修正が出てきそうな雰囲気だから、作るなら柔軟性や汎用性を持たせておいたほうがいいと思うよ。
「見慣れた形がいい」程度の理由で決めてる相手なら、今後も「列数変えろ」とか「伝票印刷もしたい」とか言い出す可能性があるからね。
548:NAME IS NULL
08/02/25 07:56:12
要するにこういうこと。
URLリンク(www.nurs.or.jp)
実際に作って見せればこっちのほうが見やすいっていうと思うよ。
そうしてきっとこう言うんだよ。
「俺が言っていたのはこういうことだよ。やっとわかったか?」
「嘘つけ!」
www
549:NAME IS NULL
08/02/28 17:48:38 Tzp8hxPl
アクセスのコンソールクライアントを探してたのですが、ベクター探しても無かったので
WSHの練習を兼ねて作ってみました。
うっぷします。
詳細は同梱のREAME.txtを読んでくだされ。
pass:ac
URLリンク(www-2ch.net:8080)
・ac.wsf
MSアクセスのコマンドラインクライアント
使い始めは"/c"スイッチで環境ファイルを作成してください。
起動すると"AC>"とプロンプトを表示するのでSQL文を入力して下さい。
画面の表示の整形はCSVです。
※標準入力を使用してるので、CScript経由で無いとエラーになります。
使い方:/h (ヘルプ) /b (bachモード) /c:MDBへのパス または /d:dsn名 (最初のみ)
/u:ユーザ名 /p:パスワード 環境ファイル名(省略時はdefault設定)
※AC>プロンプト内のコマンド
AC>プロンプト内では次のコマンドが使えます。
AC>help;
help; :この表示
quit; :コンソールの終了
(SQL文); :SQLの実行
@(ファイル名); :ファイルの実行
!(コマンド名); :コマンドの実行
注)文末記号(;)の後にリダイレクト記号(>)とファイル名で
出力先をカレントディレクトリのファイルにします。
例)select * from TEST;>data.csv
※元々CSVを取得、投入するスクリプトを改造したので、CSVを投入する
スクリプトも同梱します。
・acm.wsf
使い方:/h (ヘルプ) ( /i or /u:キー項目名 挿入 or
/t:テーブル名 環境ファイル名(省略時はdefault設定)
550:NAME IS NULL
08/02/28 18:57:46
schemaとかdumpとか希望
551:NAME IS NULL
08/02/28 21:08:13
JetSQLConsoleが有名(Wikipediaにも載ってる)だけどね。
そっちは日本語化けるから、そういう点では価値あるかも。
552:NAME IS NULL
08/02/29 05:49:55
Error : 3661
[object Error] on Connection Open
アプリケーションを起動できません。システムデータベースが存在しないか、またはほかのユーザーが排他的にシステムデータベースを開いています。
553:NAME IS NULL
08/02/29 12:48:13 MrGipuX/
>>552
MDBまでのパスが正しいか確認してくれ。
途中に空白があるとダメかも知れん。
cスイッチを゛でくくってくり。
例 /c:"c:\My Document\test:mdb"
若しくは本当に裏でMDBが開いてるか。
アクセスアプリを開いてるとそんなのが出た。
その場合はアクセス側でマルチユーザーの設定をしないとダメかも。
メニューに共有ユーザーの設定があったと思う。
554:NAME IS NULL
08/03/03 18:17:09
ところでAccess2007のランタイムはどうなったのだろう?
555:NAME IS NULL
08/03/03 18:21:11
>>554
普通に使ってますが何か?
556:NAME IS NULL
08/03/03 18:25:33
>>555
あっそうなんだ。
URLリンク(www.microsoft.com)
ここにあるやつ?英語版で問題ないの?
557:NAME IS NULL
08/03/03 18:32:14
URLリンク(www.microsoft.com)
URLリンク(www.microsoft.com)
558:NAME IS NULL
08/03/03 18:47:26
>>557
両方インストールせいってこと?
現在2000なんだけど、ランタイムがまともに動くなら2007にしてもいいかなと思ったりしている。
でも英語版でふりがな入力とかちゃんと動くのだろうか?
559:NAME IS NULL
08/03/03 18:51:39
>>558
URLリンク(office.microsoft.com)
560:NAME IS NULL
08/03/03 18:52:12
>>558
URLリンク(office.microsoft.com)
561:NAME IS NULL
08/03/03 19:35:47
別に無理に答えろとは言ってないよ。
使用した人間の実体験を聞きたいのであって、調べればわかるサイトの情報なんていらないよ。
つうことで後は無視するから悪く思わんでくれ。
562:NAME IS NULL
08/03/03 19:39:09
あんた誰?
563:NAME IS NULL
08/03/03 22:16:40
基地外きたー
564:NAME IS NULL
08/03/05 02:20:14
昨日Access2007を購入したばかりです。
>>557 のランタイム及びDeveloperExtensionsを早速インストールしました。
Officeボタン?に最初「Developer」と表示されていたのに、いつの間にか消えています。
その後ランタイムやDeveloperExtensions、はたまたAccess2007本体まで
アンインストール→再インストールしたのに、一向に「Developer」が表示されません。
何が原因なのだろう・・・?
ランタイム無償というコトバに飛びついて買ったのに・・・
どなたかおわかりの方いらっしゃいませんか?
あちこちネットで見てもこの現象は出てないみたいです。
ちょっと疲れたので仮眠します。
565:NAME IS NULL
08/03/05 08:29:59
ランタイムとOffice本体は同じPCにインストールしてはいけない
あくまでOfficeの入っていないPCに入れるためのものだから
ご愁傷さま
566:NAME IS NULL
08/03/05 08:40:05
DeveloperExtensionsで、ランタイム込みのパッケージと、ランタイム別途ダウロード指示のパッケージを作れる
別途ダウン指示パッケージの配布先がランタイムダウンする
自分でランタイム入れてどうすんのよ
567:NAME IS NULL
08/03/05 12:15:51
>>564です。
>>565 >>566
レスありがとうございます。確かに自分のPCにランタイム入れてました。
アンポンタンでごめんなさい。
やりたいことは「Access2007で作成されたもののランタイム版を作成する」ことですので、
自分のPCにはDeveloperExtensionsだけ入れれば良いのですね?
ランタイムそのものはアンインストールしましたが、それでも「Developer」が
オフィスボタンから表示されません。
今回導入したのはAccess2007のみで、その他のOffice製品はOfficeXPを
使っています。この中にはAccess2002も含まれています。
つまりAccess2002と2007が共存している状況なのですが、これが良くないのかなぁ?