トップページ⇒db
993コメント337KB

【I love Access】やっぱりアクセスが良い

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001魔法使いの弟子2007/06/16(土) 23:40:21ID:???
比較3原則
1.他のデータベースと比較し必要以上に持ち上たり貶めたりする愚をおかすべからず。
2.比較し必要以上に持ち上たり貶めたりする他のデータベース使いを無視スルーする度量を持つべし。
3.1原則2原則に違反しない限りにおいては節度を持って比較し議論することをかまわないものとする。
0943NAME IS NULL2008/09/04(木) 18:01:12ID:???
>>942
でも遅くてとても使い物にならないという話だったよ。
09449332008/09/04(木) 21:13:43ID:???
>>941-943
みなさんにレス頂いて、一寸おっかなびっくりw
dBASE�U時代は知ってるけど顧客管理をBASICで組んでた。
データベースに触れたのは桐3からだったと思う。
データとプログラムの分割ってホルダーとかパーテーションで割れって事かな?

やりたい事は、生産管理(部品納期や工程進捗)
稼働カレンダーのテーブルから取り掛かったんだけど、

[日付][曜日][稼働]
9/1 月   1
9/2 火   1
 :
9/7 日   0

って感じで、曜日を入れたかったのと、土日はデフォで 0 にして、後で会社カレンダーに合わす事に。
そこでSQL文で引っかかったというド素人です。
とりあえず、最初の障害は更新クエリでクリアしました。
最終的には本体完成のリードタイムに合わせて、いつ部品が必要で、いつユニットが組みあがって・・・というもの

よろしければ、続けて質問にお付き合いをm(__)m
・クエリってSQL 1行(のみ)で構成されているもの?(複雑な更新はVBA)
・入力時の既定値に、前行から値を取得して加工する事は出来ない?(DLASTは入力既定値には使えない)
0945NAME IS NULL2008/09/04(木) 22:18:34ID:???
>>938
VBAにDIR関数がある。
古典が嫌いならScripting.FileSystemObjectも使える。
0946NAME IS NULL2008/09/04(木) 23:51:08ID:31HRRJ0I
【麻生太郎は差別主義者】
(野中引退寸前、最後の自民党総務会で)

堀内の目の前に座っていた野中が、
「総務会長!」
と甲高い声を上げたのはそのときだった。

立ち上がった野中は、
「総務会長、この発言は、私の最後の発言と肝に銘じて申し上げます」
と断って、山崎拓の女性スキャンダルに触れた後で、政調会長の麻生のほうに
顔を向けた。
「総務大臣に予定されておる麻生政調会長、あなたは大勇会の会合で、
『野中のような部落出身者を日本の総理にはできないわなあ』とおっしゃった。
そのことを、私は大勇会の三人のメンバーに確認しました。君のような人間が
わが党の政策をやり、これから大臣ポストについていく。こんなことで人権啓発
なんてできようはずがないんだ。私は絶対に許さん!」

野中の激しい言葉に総務会の空気は凍りついた。麻生は何も答えず、顔を
真っ赤にしてうつむいたままだった。

「野中広務 差別と権力」P352

0947NAME IS NULL2008/09/05(金) 00:52:01ID:???
今.NETの案件で帳票出すのに、Microsoft.Reportingとクリレポを調査してんだけど
アクセスのレポートって意外と使いやすいのに気がついたわ。とくに、正規化した
テーブルの外部キーをそのままコンボボックスの値として渡して、コンボはコンボで
マスタの一覧を別に動的に取得しておいて、渡された値でマスタの名称なんかの
文字列を表示できたりするのが便利だ。あとレポートのレンダリングごとに関数を
呼び出してパラメータを動的に変更させたりできるのもいい。
0948NAME IS NULL2008/09/05(金) 01:09:56ID:???
フォームならともかくレポートでコンボボックスって使うか?
0949NAME IS NULL2008/09/05(金) 03:49:04ID:???
あまりスマートな感じじゃないな
0950NAME IS NULL2008/09/05(金) 10:27:02ID:???
フォーム側で制御して、レポートはただ出力されるようにした方がいいと思う。
0951NAME IS NULL2008/09/05(金) 10:53:25ID:???
確かにスマートじゃないけど、別に問題も無いと思うけどなあ?
0952NAME IS NULL2008/09/05(金) 12:47:19ID:???
レポートのフォーマットを頻繁に変えるエンドユーザーに対してはけっこう有効。
「おまいら変えたくなったら自力でやれよ」みたいに。

しかし、金がとれなくなった・・・orz
0953NAME IS NULL2008/09/05(金) 12:50:14ID:???
自分で仕事を減らしたのかw
0954NAME IS NULL2008/09/05(金) 13:46:01ID:???
紙の面積は有限だからよく考えて配置したい。
余計な▼増やされると困るケースもあるよ
0955NAME IS NULL2008/09/05(金) 19:54:24ID:???
>>954
ンッ・・・・・困るケース?
別に▼が印刷されるわけじゃなし、そんなことってあったけ?
最近ではあまり使わないようにしてる(なんとなくスマートでないからって理由)から
よくわからないけど?
0956NAME IS NULL2008/09/05(金) 20:14:48ID:???
>>954
やったことないならやってみれ。意外と便利。
09579542008/09/06(土) 00:44:26ID:???
>>956
逆だ逆、初心者の頃によく解らず使ってたよ
0958NAME IS NULL2008/09/06(土) 01:54:26ID:???
>>957
余計な▼なんて出ないんだけど。
09599542008/09/06(土) 09:18:23ID:???
紙の面積は有限だから余計な▼「の部分の面積」を浪費されると困るってことだよ…
0960NAME IS NULL2008/09/06(土) 14:46:33ID:???
>>959
何をいってるのかさっぱりわからない。
デザイン上は▼表示されるけど、プレビューで見たらその部分も
テキスト領域として印字できるんだから、紙面上は▼も含めて、
コントロールの全領域を表示領域として帳票をデザインすれば
いいだけじゃやないの?
09619542008/09/06(土) 15:17:57ID:???
あれ、そうだったのか?だったら俺の勘違いだ。スマン

まあでも白背景に文字だけ印刷じゃなくてボックスに境界線つけて印字することが多いから
上下余白も設定できない(2007は知らん)コンボボックスはどっちみち使わないんだがな・・・
0962NAME IS NULL2008/09/06(土) 15:57:33ID:???
俺は罫線は線で引くけどなあ・・・
0963NAME IS NULL2008/09/06(土) 21:27:08ID:???
俺は境界線派だな。
いくら会社の仕事とはいえ、本職ではないから
結局は趣味の延長線上。
VBAをガシガシ書くのは好きだが、レポートとかフォームとかは
ウィザードでできたものを修正するぐらいに手を抜く。
下手をするとEXCELで作表したものを貼り付けることも。
0964NAME IS NULL2008/09/07(日) 00:34:44ID:???
いいか悪いかは別にして、日本人は罫線だらけの帳票大好きだからな…

エクセルが事実上表計算ソフトの代名詞と言えるほど普及してるのに
同じオフィス同梱のワードがネームバリュー今一なのは一太郎みたいに
直感的に罫線引けないからって説もあるほど。
0965NAME IS NULL2008/09/07(日) 19:33:18ID:???
>>964
スペースで桁揃え出来ない時点で終わってます。
0966NAME IS NULL2008/09/07(日) 21:34:48ID:???
スペースで桁揃え(笑)
0967NAME IS NULL2008/09/08(月) 10:02:13ID:???
>>964
ああ、確かに分かる。
罫線のためだけにExcelで文章書いてるのが多い。

会社入ってからWordを1度も使ってない。
0968NAME IS NULL2008/09/08(月) 11:45:52ID:???
>>967
> 罫線のためだけにExcelで文章書いてるのが多い。
電卓片手にExcelで入力。
なにかが間違っているW
かと思えばExcelのセルの幅と高さを揃えて方眼紙のようにしてそこに図面を書く。
確かに見事な図面を書いてはいるんだが・・・・・・なんか違うぞ?
0969NAME IS NULL2008/09/08(月) 17:46:55ID:VWtMWGtA
Accessで、上書き保存したのに…
反映されない

なんてバグありますか?

先ほどから上書き保存しているのですが、一度閉じると…
上書きされてない…。
0970NAME IS NULL2008/09/08(月) 18:15:37ID:???
>>969
アクセスに上書き保存なんて概念あったっけ?という疑問はさておき・・・・・
mdbが壊れている可能性がありますね。
空のmdbファイルを作ってそこに全オブジェクトをインポートしてください。
そのまま使いつづけると完全に壊れてインポートもできなくなる可能性が高いです。
0971NAME IS NULL2008/09/08(月) 20:18:05ID:VWtMWGtA
すみませんaccess初心者です。業務でaccessを使うことになったのですが…変更しても保存出来なくなりました。

バックアップを開き変更したら保存出来たので…それを使うことにしました。

アドバイスありがとうございます!!
0972NAME IS NULL2008/09/08(月) 21:39:43ID:???
変更とか保存とか本当にAccessなのか使ってるのは…
0973NAME IS NULL2008/09/08(月) 22:28:22ID:???
フォームとかVBAの部分の変更が保存されないってことじゃないの?
mdbファイル壊れてるとままあることじゃね
0974NAME IS NULL2008/09/09(火) 11:22:12ID:Dsded7aI
プルダウンで過去5年(2004 2005 2006 2007 2008)という感じで表示させ、選択出来るようにしたいのですが…

オプションの値集合ソースに
SELECT year(NOW()-5 〜
とかいれてみたのですが…5年分でなくて困ってます。

クエリで上手く作ることも出来ず悩んでます…

どなたかアドバイスをお願いします。
09759742008/09/09(火) 11:48:12ID:Dsded7aI
変なことを聞いてしまいすみませんでした。
VBAの問題でした。
0976NAME IS NULL2008/09/09(火) 15:23:23ID:???
>>974
Value List でデータ直打ち
2004;2005;....;2008
じゃだめなのか?

データ範囲が可変なら VBAで直接作ればいいだけ。
0977NAME IS NULL2008/09/10(水) 05:46:32ID:xahfvKur
単純なP/L番号生成プログラムをAccessで作成したのですが、排他制御が
うまく機能しません。オプションで「排他モードで開く」を選択しても、
実際ファイルを開いたときに .ldbが生成されてしまい、排他制御が利きません。

ショートカットから /excl スイッチというのも試しましたがだめでした。

単純にファイル単位での制御ができればよいのですが、どこを見落としている
のでしょうか?
0978NAME IS NULL2008/09/10(水) 10:39:08ID:???
排他って、開く方がするもんじゃないのか?
0979NAME IS NULL2008/09/10(水) 11:55:41ID:ZEzaTfyG
テーブルAから一つだけ値を指定して、フォームAのコンボAに入れたいのですが…

どうやっても
#Name?
になってしまいます。

VBAかSQLを使うと思うのですが…上手くいかないので…上手い方法をどなたか教えて下さい。
0980NAME IS NULL2008/09/10(水) 14:15:36ID:???
>>979
まずテーブルAから一つだけ値を指定して目的のレコードを抽出するクエリーは作れる?
0981NAME IS NULL2008/09/10(水) 14:49:22ID:ZEzaTfyG
はい。そこは出来るのですが…フォームのテキストボックスに入れることが出来なくて困ってます。
09829812008/09/10(水) 16:25:05ID:ZEzaTfyG
すみません。
なぜか一旦ACCESSを閉じて開いて…みたら…
何故か解りませんが…出来ました。


ありがとうございます!!
0983NAME IS NULL2008/09/11(木) 00:39:06ID:bBXAVZRa
>978
アクセスでは「排他的にファイルを開く」というイメージのようですが
そのように開いた後も、同ファイルを別ユーザが開くことができるので
困っております。
0984NAME IS NULL2008/09/11(木) 00:58:25ID:???
排他制御が必要不可欠ならSQLServerその他のRDBMSに乗り換える必要あり
0985NAME IS NULL2008/09/11(木) 01:48:55ID:???
>>983
ファイルを開く時にフラグを立てて、そのフラグが立っている間は別のユーザーが開けないようにすればいいんじゃない?
例えばtest.mdbならtest.lkというファイルを作ってそれをフラグとして使うとか?
というかファイル単位の排他制御がなんで必要なのか良くわからない。
0986NAME IS NULL2008/09/11(木) 23:24:02ID:???
漏れの2003はふつうに排他制御利くけどな。
逆にどういう状況だと利かないのか、そっちの方が知りたい。

まさか詳細オプションを排他モードにしたけど、開くときは
いつもどーりファイルをダブルクリックしちゃってました、って
オチじゃないだろーなw
0987NAME IS NULL2008/09/12(金) 00:24:40ID:???
ダブルクリックしたら「他の人が開いてるからダメです」的なメッセージで
拒否ってほしいってことでしょ、それもコード等一切なしで。

まあ普通に�_だから
0988NAME IS NULL2008/09/12(金) 05:27:01ID:uDSljEeg
>>987
実はそうですが、無理なんでしょうか。エクセルのように読み取りオンリーとか
アクセス拒否がされるとよいのですが。

>>986
オプションは排他モードで、
ファイルを開くときはショートカットから
Target: "ファイル名.mdb"/excl とオプションをつけて開いています。

実際に排他制御が聞いている状態というのはどういう動作をするのか
教えていただけませんか?

また、オプションの
「既定のレコードロック」の部分はどれが選択されているべきでしょうか?
0989NAME IS NULL2008/09/12(金) 12:06:43ID:???
根本的に表計算とデータベースの違いがわかってない気がするのは俺だけ?
0990NAME IS NULL2008/09/12(金) 14:41:13ID:???
1.ダミーテーブルを用意
2.メインフォーム、起動時にダミーテーブルをチェック
3.何もなければ適当なデータを追加して処理続行
4.、ダミーテーブルにレコードが存在したらただちに終了
5.メインフォーム終了時にダミーテーブルのレコードを削除してから終了

これでご所望の排他処理ができますが
0991NAME IS NULL2008/09/12(金) 15:05:02ID:???
>>990
プログラム無しでやることを希望しているようなんだが?
そりゃあ無理?たぶんそうだろうなあ。
09929862008/09/12(金) 23:54:57ID:???
>>988
> オプションは排他モードで、
> ファイルを開くときはショートカットから

オプション設定は、ショートカットから開くときには何の関係もないよ。
あれはファイルメニューの「開く」から開くときだけ関係ある設定だから。

> Target: "ファイル名.mdb"/excl とオプションをつけて開いています。

「Target」というのはよく分からない。
WindowsXPのショートカットにはそういう設定はないから、Vistaかなんかの話?
とりあえずWindowsXPのショートカットの場合、プロパティの「リンク先」って
いうボックスに下のような感じで設定する。

"%ProgramFiles%\Microsoft Office\OFFICE11\MSACCESS.EXE" "排他で開きたいmdbのフルパス" /excl

上はAccess2003の場合のパス。他のバージョンだとアプリのパスが変わるはず。
このショートカットをダブルクリックすると、排他で開く。
アプリのパスを省略すると、排他では開けない(ふつうに共有で開く)。
「excl」というのはあくまでアプリのためのスイッチだから。
排他で開かれているファイルを他の誰かが開こうとすると、こんな風に言われるはず。

'排他で開かれているmdb' は既に使用されているので、使用できませんでした。

自分がいままで使ってきた中では、使い方を間違っている場合を除いて、
排他制御の指定がきかなかったことは一度も経験したことがないよ。
たいして使ってないからあてにはならんけど。

> また、オプションの
> 「既定のレコードロック」の部分はどれが選択されているべきでしょうか?

知らない。
ファイル自体を排他で開くことと関係あるとは思えないし。
べきとかべしとかじゃなく、したいように設定するところじゃないすか?
間違ってたら誰か正しいことを書いてやってくれ。
0993NAME IS NULL2008/09/13(土) 06:16:22ID:???
無理だって言ってる奴は何なの?馬鹿なの?死ぬの?
レス数が950を超えています。1000を超えると書き込みができなくなります。