Access使い集合! Ver2.0

このエントリーをはてなブックマークに追加
932デフォルトの名無しさん:03/09/18 14:14
お願いです。
N*Nの盤面にチェスのクイーンをN騎ならべて、どの2つの駒も互いに張り合わない
配置を全て求めるプログラムをjavaアプレットで作ってくれませんか?
ほんっとにお願いします。今、命が危ないんです。
933デフォルトの名無しさん:03/09/18 14:23
932です
すれ違いでした。
ごめんなさい。逝ってきます。
934929:03/09/18 16:34
>>931
レスありがd

> レコード件数
肝心なのが抜けてましたね。すまんです。
「t_顧客」は、5,000〜10,000レコード程度
「t_売上」と「t_入金」は、それぞれ1,000,000レコード未満

> @ 抽出対象を一旦テーブルに書き込む
サーバー側のワークテーブルをクライアント側から使用するのは、
多い所でクライアントPCが10台以上になる自分とこのシステムでは禁止されとります。
そうなるとクライアント自身で用意するしかないんだけど・・・言わずもがな。

> A パススルークエリを使う
導入時の面倒臭さからパススルークエリは使わないようにしてます。
かといって今回の話は期間限定のサブシステム上の話だったりするので、
ビューやストアドプロシージャなんかを作成するのもどうかと思われ・・・m(__)mスマソ

ってーわけで、
最終的に抽出される顧客件数は「多くても200〜300件程度」というSEの話を信じて
これはもうレポート出力時にDLookUp系の関数で計算させることにしちまいました。

テキストボックスのコントロールソースに↓コレ
=Nz(DSum("売上額+消費税","t_売上","顧客CD=" & [顧客CD]),0)-Nz(DSum("入金額","t_入金","顧客CD=" & [顧客CD]),0)
あーもーしらん
935デフォルトの名無しさん:03/09/18 19:02
あは。。
ま、がんばってください。
ちなみに、Where句とGroupByのクエリを分割して作るだけでも
レスポンスあがるかもしれないよ。。ためしてみ
936デフォルトの名無しさん:03/09/18 22:16
Access97ってWinXPでも問題ないのかな?

Office97をWinXPで使う上での問題点みたいなHPがあったはずなんだけど見つからない。
MicrosoftのHPにもあったはずなんだけど検索しても出てこないし...
937デフォルトの名無しさん:03/09/19 00:41
VBAで書いたコードにアクセスされないように
隠蔽したいのですが良い方法ないでしょうか?
とりあえずmdbにパスワードを掛けて
且つ、開かれているフォームのキーイベントには
Ctrl+G キーを無効にする処理を書くつもりでいます。
もっと良い方法ないでしょうか?
よろしくお願いします。
Microsoft Office Developer インストールして mde にコンパイルする
939937:03/09/19 11:07
>>938
お返事ありがとうございます。
ですが残念な事にOffice Developerが無いのでできそうにありません。。
>>937に書いたこと以上に隠蔽度を高くできる方法ありませんか?
わがまま言いますが宜しくお願いします。
>>939
AccessはDeveloperじゃなぃてもmdeにコンパイルできますが。
941937:03/09/20 16:56
>>940
できました!
ありがとうございました〜。
942デフォルトの名無しさん:03/09/21 18:50
Access2002でプログラミングしております。
だいぶ出来上がってきたのですが、フォームで入力すると、時々
「データの競合」っていって「レコードに保存」「クリップボードにコピー」「他ユーザーによる変更を反映」
って言うメッセージボックスが表示されます。

競合もなにも、自分1人しか入力していないのにこの現象って・・・・
レコードに保存を押せば問題ないのですが、これをユーザーに使わせるのは
少々胸がいたみます。。。
どなたかこの現象の回避方法をご存知のかたがおられましたら、おしえてください。

>>942
少々胸が痛みますって君・・・
君が自身のアプリの動きを掌握できてないのに答えようないではないか。
944デフォルトの名無しさん:03/09/22 11:34
ACCESS 2000で、表形式で表示している明細の
カレント行の背景を変えることはできないでしょうか?
データシートのときみたいにです。
条件付書式を利用すればできそうな気がするのですが、
条件がわかりません。
明細と同じ大きさのテキストボックスを背景代わりにして
それに条件付書式を設定する
946デフォルトの名無しさん:03/09/22 22:37
>942
どこかレコードセット使ってるところなんかでcloseやNothingし忘れたり、
1つのクエリーや書き込み/更新作業が終えてないのにダブってやってる
何てことないかな?
VBA使ってるなら、ちゃんとステップバイステップで動作一つ一つ確認して
るよね?自分でアプリ作るってことは、そうやって全部1つ1つ自分自身で
確認して考えられるエラーや異常データ、操作をデバッグしなくちゃならない
から、動作を掌握できないなんてことはないはずだけど…
それとも、掌握できないほどの複雑なmdb作ってるの?
947デフォルトの名無しさん:03/09/22 23:21
942です。
これが、ステップバイステップで動作の一つ一つを確認しながらやっているのですが
この現象が出たり出なかったりするのです。
また、場合によっては、自分で作成した関数をクエリーの式として入れているのですが
時々未定義です。ってな事を抜かしたりするんですよ。。アプリを一旦終了して
再度立ち上げるとちゃんと動くんですけど・・・って言うところです。
アクセスにバグか何かあるのかな・・・と思い書き込みました。
※ レコードセットの場所は、ちゃんとクローズしてます。

最終的には、1つ1つ検証書き直していくしかないかもしれないと半ばあきらめてます・・・
948944:03/09/23 00:07
>>945
レスサンクソ
その条件付書式の条件って何?

>>942
昔、ACCESS 97でテーブルの日付型の項目にNULL値をセットした時
そんなようなこと起こった気が...
参考まで。
949946:03/09/23 00:25
>947
>自分で作成した関数をクエリーの式として入れているのですが
>時々未定義です。
きちんと関数に変数が受け渡しされてないか、関数自体が問題ありじゃないかな?
Accessのバグで片付けるより、出たり出なかったりと言うことは出る原因と
出ない要因があるはず(奇数回数は出ないとか初回は出る、立て続けにクエリー
動作させると出る…など)

>1つ1つ検証
してないの?コード書く毎に、クエリー書く毎に…
コード書く度、クエリー作る度、SQL書く度に一つづつ検証していかないと、デバッグが
追いつかなくなるし、原因が分からなくなるから気を付けた方が良いと思います。
グローバル変数使ってて、ちゃんと値がリセットされてないとか。
再起動しるとちゃんと動くって事は可能性あるな。
951デフォルトの名無しさん:03/09/23 04:49
なぜかメニューバーがなくて
非常に困っています。
どうすれば表示させれるのでしょうか?
くだらない質問ですがなにとぞよろしくお願いします。
952(゜Jし゜):03/09/23 13:44
どうでもいいけど、現在進行形でAccessのVer2.0のメンテナンスさせられています。
2000とかに直接移行できないし、予算も降りないからしばらく現行のままだそうで…
トホホ
ツールバーの辺りをを右クリック→ユーザー設定→ツールバーの項目からメニューバーをチェック
ってところか?
954951:03/09/24 02:32
>953
そこにはなかったのですが、
プロパティボタン押して
選択したツールバーというコンボボックスがあり
その中に「メニューバー」という項目があり
これを選択後、表示/非表示可能 というチェックボックスを
オンにすることで解決しました。
ありがとうございました。
955デフォルトの名無しさん:03/09/27 15:57
DAOで、既存のテーブルのフィールド名を変更することはできますか?
(くれくれ君ですみません)
初心者スレってどこかにないでしょうか、、、。
>>955
Sub test()
Dim db As Database, tdf As TableDef, fld As Field

Set db = CurrentDb
Set tdf = db.TableDefs("table1")

For Each fld In tdf.Fields
If fld.Name = "旧フィールド名" Then
fld.Name = "新フィールド名"
End If
Next

End Sub
957955:03/09/27 22:12
>>956
あれ、直接変えられるんですか。てっきり変えるためのメソッドがあるかと
思っていました。ありがとうございます。試してみます。
Basicなんて25年ぶりです。Pascalに似てきていてびっくりしています。
Access VBAは始めてから三日なんで、すみませんでした。
>955
まったくの初心者なら
ttp://www7.big.or.jp/~pinball/
も悪くないと思うぞ。
2ch内での評価はアレだが・・・
Access2003はVisualStyleが適用されるぞ
>>955
ぜひ、モーグもブックマークしておきなされ。
961デフォルトの名無しさん:03/10/06 11:32
保守
962至急:03/10/07 00:19
VBAでフォームを作って、そのフォームの内容を登録ボタンを押したときに
DBに書きこみたいんだけど、フォームに値を入れた時点でDBにはいってしま
います。登録ボタンを押したときだけ、DBに書き込むにはどうしたらよいですか?
有識者の方教えてください。かなりせっぱつまってます。

>>962
フォームがテーブルと連結している。
まずフォームのレコードソースプロパティを空にする。
登録ボタンが押された時のイベントハンドラを作成し
その中にテーブルにレコードを挿入するプログラムを書く。
例)
DoCmd.RunSql "INSERT INTO TABLE_NAME(FIELD_NAME) VALUES('TESTVALUE')"
964至急:03/10/07 00:44
ありがとうございます。
もうすこし例を詳しくお願いいたします。
たとえば、A.DBのA.TBにフォームの項目Aを登録する場合はどのように
書いたらよいでしょうか?
お願いいたします。
965緊急:03/10/07 01:23
>>962と似たような話ですが、accessのフォーム上でデータのbackボタンを
配置してデータの入力途中でその直前のレコードを表示させる為に
Rollbackさせたいのですがうまくいきません。
どうしらいいでしょうか?

テーブル名:ユーザテーブル(仮)
主キー:ユーザID

よろしくお願いします。
終わらないとねれない・・・・
>>964
A_DBの中にフォームがありそのフォームのAというテキストボックスの値を
A_TBの文字列型フィールド「FIELD_NAME」に登録する例。
登録ボタンを配置し、登録ボタンが押されたときに呼ばれる
イベントハンドら内に書くことを前提とする。

Docmd.RunSql "INSERT INTO A_TB(FIELD_NAME) VALUES('" &A.Value &"'"
MsgBox "登録が完了しました。"
>>965
>その直前のレコードを表示させる為にRollbackさせたい
直前?ってことは編集中のレコードじゃなくて?
RollBackは編集中のレコードの編集内容を破棄し、
編集前の状態(トランザクションの開始を宣言された時点)のレコードの状態に戻す動作。
何をやっているのかは知らないがはっきり言うと
今日中にやり遂げる事には無理がある。
あきらめて寝た方がいろんな意味いいと思う。
嫌味でいってるんじゃなくて正直な感想。
では、仕事があるんで寝ます。
おやすみなさい。

括弧閉じるの忘れた。
Docmd.RunSql "INSERT INTO A_TB(FIELD_NAME) VALUES('" &A.Value &"'"
↓訂正
Docmd.RunSql "INSERT INTO A_TB(FIELD_NAME) VALUES('" &A.Value &"')"
こうかな?
968緊急:03/10/09 00:47
>>966
すみません。きのうのは仕様変更で取りやめになりました。

で、ちがう話なんですが。

Select テーブル1.項目1,テーブル1.項目2 From テーブル1 INNER JOIN テーブル1 ON (テーブル1.項目1 = テーブル2.項目1) and (テーブル1.項目1=テーブル2.項目1);
でデータのチェックをしようと思っているのですが。
結合式がサポートされていませんと出てしまいます。
どなたかわかる方いらっしゃいましたらよろしくおねがいします。
970デフォルトの名無しさん :03/10/09 12:05
あるフォームから別のフォームを開いたときに、開いたフォームをブラウザでいう
ところの、全画面表示にしたいのですが、どのようにしたらよいのか、
知ってる方教えてください。(全画面=ファイル、表示等の上のバーを消したい)
971デフォルトの名無しさん:03/10/10 11:07
問題が発生したため、MicroSoft Accessを終了します。ご不便をかけて申し訳ございません。

モジュールを起動しようとしたら↑のメッセージが出てAccessが終了していまいます。
何か回避策はないでしょうか?
972971:03/10/10 11:20
バージョンはOfficeXP SP2です。
973971:03/10/10 11:21
×…OfficeXP
○…Access2002
974971:03/10/10 11:42
空のMDBを作成して、コピーしたら直りました。
内部のシステムファイルが破損したのでしょうか?
原因分かる方宜しくお願いします。
ああ、そいつはまたそのうち壊れるよ。
976デフォルトの名無しさん:03/10/10 21:11
mdbファイルをLANで数人でファイル共有して使うってのは
やっぱりやばいでしょうか?
最近そういうシステムを見て、とくにトラブルも起こってないという
話なので、それでもいいかなと思うようになってきたのですが、
いまいち踏み切れません。
977デフォルトの名無しさん:03/10/10 22:32
[OSのVER]:2000
[AccessのVER]:2000
フォームの最大化(DoCmd.Maximize)をやって、フォームのプロパティ(ポップアップ等)
を設定したのですが、どうしても下のツールバー(OSのもの)が隠れません。
ようは、IEなどのブラウザでの全画面表示と同じような全画面表示をしたいのですが、
どうしてもできません。
ご教授ください。

ヤバイ。MDB共有ヤバイ。まじでヤバイよ。マジヤバイ。
MDB共有ヤバイ。
とにかく貴様ら、MDB共有のヤバさをもっと知るべきだと思います。
そんなヤバイMDB共有からRDBMSに移行した奴とか超偉い。もっとがんばれ。超がんばれ。
>976
安定して動いてて、バックアップも万全なら急いで移行する必要は無いと思うよ。
どっちにしろ多数のクライアントが同時にファイルいじる訳だからリスクがあると
いう事だけは認識しておいたほうがいい。
そして、次回の改修時にはきちんとしたDBMSへの移行を考えたほうがよい。



980デフォルトの名無しさん:03/10/12 00:21
次スレ
★Microsoft Access★
http://pc2.2ch.net/test/read.cgi/tech/1064900050/