08/09/08 22:28:22
フォームとかVBAの部分の変更が保存されないってことじゃないの?
mdbファイル壊れてるとままあることじゃね
974:NAME IS NULL
08/09/09 11:22:12 Dsded7aI
プルダウンで過去5年(2004 2005 2006 2007 2008)という感じで表示させ、選択出来るようにしたいのですが…
オプションの値集合ソースに
SELECT year(NOW()-5 ~
とかいれてみたのですが…5年分でなくて困ってます。
クエリで上手く作ることも出来ず悩んでます…
どなたかアドバイスをお願いします。
975:974
08/09/09 11:48:12 Dsded7aI
変なことを聞いてしまいすみませんでした。
VBAの問題でした。
976:NAME IS NULL
08/09/09 15:23:23
>>974
Value List でデータ直打ち
2004;2005;....;2008
じゃだめなのか?
データ範囲が可変なら VBAで直接作ればいいだけ。
977:NAME IS NULL
08/09/10 05:46:32 xahfvKur
単純なP/L番号生成プログラムをAccessで作成したのですが、排他制御が
うまく機能しません。オプションで「排他モードで開く」を選択しても、
実際ファイルを開いたときに .ldbが生成されてしまい、排他制御が利きません。
ショートカットから /excl スイッチというのも試しましたがだめでした。
単純にファイル単位での制御ができればよいのですが、どこを見落としている
のでしょうか?
978:NAME IS NULL
08/09/10 10:39:08
排他って、開く方がするもんじゃないのか?
979:NAME IS NULL
08/09/10 11:55:41 ZEzaTfyG
テーブルAから一つだけ値を指定して、フォームAのコンボAに入れたいのですが…
どうやっても
#Name?
になってしまいます。
VBAかSQLを使うと思うのですが…上手くいかないので…上手い方法をどなたか教えて下さい。
980:NAME IS NULL
08/09/10 14:15:36
>>979
まずテーブルAから一つだけ値を指定して目的のレコードを抽出するクエリーは作れる?
981:NAME IS NULL
08/09/10 14:49:22 ZEzaTfyG
はい。そこは出来るのですが…フォームのテキストボックスに入れることが出来なくて困ってます。
982:981
08/09/10 16:25:05 ZEzaTfyG
すみません。
なぜか一旦ACCESSを閉じて開いて…みたら…
何故か解りませんが…出来ました。
ありがとうございます!!
983:NAME IS NULL
08/09/11 00:39:06 bBXAVZRa
>978
アクセスでは「排他的にファイルを開く」というイメージのようですが
そのように開いた後も、同ファイルを別ユーザが開くことができるので
困っております。
984:NAME IS NULL
08/09/11 00:58:25
排他制御が必要不可欠ならSQLServerその他のRDBMSに乗り換える必要あり
985:NAME IS NULL
08/09/11 01:48:55
>>983
ファイルを開く時にフラグを立てて、そのフラグが立っている間は別のユーザーが開けないようにすればいいんじゃない?
例えばtest.mdbならtest.lkというファイルを作ってそれをフラグとして使うとか?
というかファイル単位の排他制御がなんで必要なのか良くわからない。
986:NAME IS NULL
08/09/11 23:24:02
漏れの2003はふつうに排他制御利くけどな。
逆にどういう状況だと利かないのか、そっちの方が知りたい。
まさか詳細オプションを排他モードにしたけど、開くときは
いつもどーりファイルをダブルクリックしちゃってました、って
オチじゃないだろーなw
987:NAME IS NULL
08/09/12 00:24:40
ダブルクリックしたら「他の人が開いてるからダメです」的なメッセージで
拒否ってほしいってことでしょ、それもコード等一切なしで。
まあ普通に㍉だから
988:NAME IS NULL
08/09/12 05:27:01 uDSljEeg
>>987
実はそうですが、無理なんでしょうか。エクセルのように読み取りオンリーとか
アクセス拒否がされるとよいのですが。
>>986
オプションは排他モードで、
ファイルを開くときはショートカットから
Target: "ファイル名.mdb"/excl とオプションをつけて開いています。
実際に排他制御が聞いている状態というのはどういう動作をするのか
教えていただけませんか?
また、オプションの
「既定のレコードロック」の部分はどれが選択されているべきでしょうか?
989:NAME IS NULL
08/09/12 12:06:43
根本的に表計算とデータベースの違いがわかってない気がするのは俺だけ?
990:NAME IS NULL
08/09/12 14:41:13
1.ダミーテーブルを用意
2.メインフォーム、起動時にダミーテーブルをチェック
3.何もなければ適当なデータを追加して処理続行
4.、ダミーテーブルにレコードが存在したらただちに終了
5.メインフォーム終了時にダミーテーブルのレコードを削除してから終了
これでご所望の排他処理ができますが
991:NAME IS NULL
08/09/12 15:05:02
>>990
プログラム無しでやることを希望しているようなんだが?
そりゃあ無理?たぶんそうだろうなあ。
992:986
08/09/12 23:54:57
>>988
> オプションは排他モードで、
> ファイルを開くときはショートカットから
オプション設定は、ショートカットから開くときには何の関係もないよ。
あれはファイルメニューの「開く」から開くときだけ関係ある設定だから。
> Target: "ファイル名.mdb"/excl とオプションをつけて開いています。
「Target」というのはよく分からない。
WindowsXPのショートカットにはそういう設定はないから、Vistaかなんかの話?
とりあえずWindowsXPのショートカットの場合、プロパティの「リンク先」って
いうボックスに下のような感じで設定する。
"%ProgramFiles%\Microsoft Office\OFFICE11\MSACCESS.EXE" "排他で開きたいmdbのフルパス" /excl
上はAccess2003の場合のパス。他のバージョンだとアプリのパスが変わるはず。
このショートカットをダブルクリックすると、排他で開く。
アプリのパスを省略すると、排他では開けない(ふつうに共有で開く)。
「excl」というのはあくまでアプリのためのスイッチだから。
排他で開かれているファイルを他の誰かが開こうとすると、こんな風に言われるはず。
'排他で開かれているmdb' は既に使用されているので、使用できませんでした。
自分がいままで使ってきた中では、使い方を間違っている場合を除いて、
排他制御の指定がきかなかったことは一度も経験したことがないよ。
たいして使ってないからあてにはならんけど。
> また、オプションの
> 「既定のレコードロック」の部分はどれが選択されているべきでしょうか?
知らない。
ファイル自体を排他で開くことと関係あるとは思えないし。
べきとかべしとかじゃなく、したいように設定するところじゃないすか?
間違ってたら誰か正しいことを書いてやってくれ。
993:NAME IS NULL
08/09/13 06:16:22
無理だって言ってる奴は何なの?馬鹿なの?死ぬの?