1 :
名無しさん@そうだ選挙にいこう :
02/09/28 12:02
>1 乙
3 :
名無しさん@そうだ選挙にいこう :02/09/28 13:11
あのぉ、超初歩的な質問ですが・・・ Left関数を使うと「未定義の関数です!」って表示がでちゃうんです。 どうしてなんでしょう? ACCESS2000を使用してます。
fuck youです
5 :
初心者001号 :02/09/28 14:12
現在、倉庫在庫管理システムを作成すれと上司にいわれました。 データ量が多くなると信憑性が低くなると聞きますが、どうなんでしょうか? システム開発系会社の方々は、VBやC等で組むと思いますが、プロではないので ACCESS・VBAでクライアントサーバーシステムを作成しようと思います。 また、どっちかと言うとADOよりODAの方が好きなので、そっちで組もうかと 思います。 大まかなシステム内容は、入荷入力・出荷入力・ピッキングリスト発行や納品書出力、送り状出力 (ヤマト・福山等)・入出荷履歴等のシステムです。 まー業務内容は把握しているので作成は可能と思いますが、ACCESSの能力を知りません 可能でしょうか? いろいろと質問しますが宜しくお願いします。 先生方
ADOより、政府開発援助が好きな初心者がいるのはここですか?
7 :
名無しさん@そうだ選挙にいこう :02/09/28 14:53
8 :
名無しさん@そうだ選挙にいこう :02/09/28 14:56
>>5 ACCESS(JET)はあくまでもファイル共有のローカルDBMSなので
クライアントサーバ型のDBシステムは構築できません。
9 :
初心者001号 :02/09/28 15:54
こんな形でデータの読み書きを行うのはどうなんでしょうか? Set ws = DBEngine.Workspaces(0) Set db = ws.OpenDatabase("端末番号\c:\date\datebase.mdb") Set tb = db.OpenRecordset("PASS", dbOpenTable) 現在、ローカルでしか試していませんが、どうなんでしょう
>>どうなんでしょうか? どう答えろと...? 頭悪そう。
11 :
名無しさん@そうだ選挙にいこう :02/09/28 16:42
12 :
名無しさん@そうだ選挙にいこう :02/09/28 17:33
>>5 Access97で作ったクラサバの売上管理を作った者ですが、下記の環境で全然問題なく動作しております。
サーバー : Windows2000 Professional
クライアント : Windows98 2台 / WindowsMe 1台 / WindowsXPHome 1台
使用状況 : クライアント4台からサーバーのファイルを閲覧、更新している通信販売業者
---
ポイントはざっと下記の通りです。
・サーバーに共有フォルダを作成し、それぞれの端末にネットワークドライブを設定。データ部とシステム部を分け、データ部はそのフォルダに格納。
・システム部が立ち上げる毎に、更新頻度が少ないマスタをインポート。更新頻度が高い売上データはリンクを張る。
・閲覧中の売上伝票は他のマシンで閲覧できないようにロックをかける。ロックといっても、SQLserverの様なロックではなく、フラグを立てて、誰かが閲覧中の場合は他のユーザーがそれを閲覧できないようにする。
・更新時(または追加時)にDenyWriteのロックをかける。エラーがでた(ページロックにひっかかった)場合にロールバックする。
と、だいたいこんな感じ。
2年ぐらい、このシステムで問題なく業務がすすんでいますから、Accessだけのクラサバでも大丈夫だと思いますよ。
ただ、今からやるんだったら、Access + MSDE でやったほうが良いと思います。
VBやC、データベースの信頼性も大事ですが、障害があった時に、迅速に対応できる
体制を整える方が大事だと思いますよ。
では、がんばってください。
13 :
名無しさん@そうだ選挙にいこう :02/09/28 18:47
まず、リモートDBMSとローカルDBMSの違いを理解しろ。 MDBファイルが壊れてからじゃ遅いぞ。
14 :
羽柴秀吉に1票 :02/09/28 18:49
テーブルAからテーブルBのデータを削除したいのですが、 不一致クエリウィザードだと完全一致でないと削除してくれません。 テーブルAからテーブルBの中のデータを含む(完全一致でない)データを 削除するにはどうしたら良いでしょうか? 前スレに似たような質問と回答を発見したのですが、回答がちんぷんかんぷん だったので、すいません、お願いします。
15 :
羽柴秀吉に1票 :02/09/28 18:51
あと、
>>1 さんの書いている前スレへのリンクが間違っている気がするのですが・・・
16 :
名無しさん@そうだ選挙にいこう :02/09/28 18:54
>>12 8 も言っているが.....
Accessだけで構築したシステムはクライアントサーバーになり得ない。
用語には気をつけてくれ。
(初心者とか勘違いするゾ)
というか 12 はクライアントサーバーの意味がわかっていないと思われ
19 :
名無しさん@そうだ選挙にいこう :02/09/28 19:28
>>12 自分も似たようなアプリケーションをAccess95で作ったことがあります。
当初はクライアントが3台で問題なく動いていました。
その後、クライアントを1台追加して極端(10倍以上)に遅くなった経験があります。
他の3台はリンクして何も操作しない状態なのに極端に遅かったです。
(一台電源が入ってないと何ともない)
計算が合わなくて戸惑いました。
プロトコルをtcp/ipからネットビューに変更して若干速くなったのと、以前に使ってた
システムよりは速かったらしくユーザーからの苦情はありませんでしたが、申し訳なく
思っています。
それ以降、恐くてこの様な開発はしてません。
最近は改善してるのでしょうか?
せやな アクセスでつくると、後々までひやひやし通しでちっとも出来上がったいう気がせーへん
>>18 クラサバとファイル共有の差ぐらいわかってるって(w
あげ足をとるより、建設的な答えを書き込めるようにしましょうね
22 :
名無しさん@そうだ選挙にいこう :02/09/28 20:59
>>14 JetのSQLでは曖昧結合できないから、クエリーでは無理だな。
VBAでRecordset使った処理するしかないと思ふ。
23 :
羽柴秀吉に1票 :02/09/28 21:11
>>22 さん
クエリでは無理なのですか・・・
VBAって事はマクロを組むという事ですか?
どんな事をすれば良いかお教え下さい。
ヒントでもいいので、お願いします。
現段階では、右も左も解らない状態なので・・・
すいません。
Accessの場合は、マクロとVBAは違う。 大サービスでコードを教えてあげる。 クエリーで組めるのであれば、俺も知りたいので誰かRESしておくれ。 DAOなので、DAO3.6の参照をしておくように。 モジュールをどこに書くのか、どうやって呼び出すかぐらいは自分で調べてくれ。 Public Sub test() Dim ret Dim db As DAO.Database Dim rs_a As DAO.Recordset Dim rs_b As DAO.Recordset Set db = CurrentDb Set rs_a = db.OpenRecordset("a", dbOpenDynaset) Set rs_b = db.OpenRecordset("b", dbOpenDynaset) Do Until (rs_b.EOF) rs_a.FindFirst ("data like'*" & rs_b![Data] & "*'") Do Until (rs_a.NoMatch) rs_a.Edit rs_a![Data] = Replace(rs_a![Data], rs_b![Data], "") rs_a.Update rs_a.FindNext ("data='" & rs_b![Data] & "'") Loop rs_b.MoveNext Loop End Sub
25 :
羽柴秀吉に1票 :02/09/28 22:41
>>24 22さん、ありがとうございます。
> DAOなので、DAO3.6の参照をしておくように。
VBEditerの参照設定で Microsoft DAO 3.6 Object Library に
チェックを入れればいいのですよね。恐らく・・・
> モジュールをどこに書くのか、どうやって呼び出すかぐらいは自分で調べてくれ。
頑張って試行錯誤してみます。ありがとうございます。
これは別件なのですが、VBEditerの中のウィンドウの文字(プルダウンやタブ)が
草書体なのですが、これは正常なのでしょうか?
なんか非常に見辛いんですけど・・・
[オプション]-[エディタの設定]の所とは、違う所に設定箇所があるんでしょうか。
>>25 ごめーん、要望読み違えた。
上のコードだと、Bデータに含まれる文字列を削除する。
Bデータに含まれるデータを持つレコードを削除するには、
Replaceじゃなく、Deleteしなきゃな。。。。
修正コード載せておく。(必ずDBのバックアップはとるように)
Public Sub test()
Dim db As DAO.Database
Dim rs_a As DAO.Recordset
Dim rs_b As DAO.Recordset
Set db = CurrentDb
Set rs_a = db.OpenRecordset("a", dbOpenDynaset)
Set rs_b = db.OpenRecordset("b", dbOpenDynaset)
Do Until (rs_b.EOF)
rs_a.FindFirst ("data like'*" & rs_b![Data] & "*'")
Do Until (rs_a.NoMatch)
rs_a.Delete
rs_a.FindNext ("data='" & rs_b![Data] & "'")
Loop
rs_b.MoveNext
Loop
End Sub
28 :
羽柴秀吉に1票 :02/09/28 23:45
>>26 22さん、お手数をお掛けします。
プロシージャ?という所に書けばよいのですよね。恐らく・・・
で、実行(三角ボタンのヤツ)してみたのですが、エラーが出ました。
実行時エラー'3265'
このコレクションには項目がありません。
と、出て、デバッグをクリックすると
rs_a.FindFirst ("data like'*" & rs_b![Data] & "*'")
の所が黄色くなってここがエラーっぽいのですが・・・
もしかして、見当違いの事をしているのでしょうか?
29 :
羽柴秀吉に1票 :02/09/28 23:51
>>27 22さん、何度もありがとうございます。
表示の方は直りました。
30 :
前スレ972 :02/09/28 23:52
「クエリを作っていると、 「集計関数の一部として指定された式〜〜〜〜を 含んでいないクエリを実行しようとしました。」 とエラーが出て、意味が分からないのでヘルプを 見たら英文で余計分かりません。私は何回読んでも サッパリ意味が分からないのですが、何故怒られ てるんでしょうか?」 って質問をしたんですが、クエリのSQLを貼ってみろとの 事なので貼らせて頂きます。 SELECT 靴テーブル.靴番号, *棚卸分と入荷数合計クエリ!棚卸分と入荷数合計-*売上げ数合計クエリ!売上げ数合計 AS 在庫数 FROM (靴テーブル INNER JOIN *棚卸分と入荷数合計クエリ ON 靴テーブル.靴番号 = *棚卸分と入荷数合計クエリ.靴番号) INNER JOIN *売上げ数合計クエリ ON 靴テーブル.靴番号 = *売上げ数合計クエリ.靴番号 GROUP BY 靴テーブル.靴番号; どうでしょうか、、、?
31 :
名無しさん@そうだ選挙にいこう :02/09/29 00:37
>>28 根本的に、一冊本を読んでからプログラムしたほうがいいと思われ。
ネタじゃなければ。
>>30 [棚卸分と入荷数合計]と[売上げ数合計]を表示フィールドに追加してみろ。
試してないけど。
33 :
名無しさん@そうだ選挙にいこう :02/09/29 00:53
>>3 壊れた状態だと思います。
修復/最適化を試してみて。それでも無理なら
1、leftを使ってるオブジェクト(フォームなど)をコピー
「frm1」フォームで正常動作しないのであれば
「frm1のコピー」フォームを作成。
2、「frm1」フォームを削除
3、「frm1のコピー」フォームを「frm1」に名前変更。
これでも、さらに無理だったら
新しいMDBを作って、全部インポート。(新しいファイルにする)
では、頑張って下さいね。
34 :
前スレ972 :02/09/29 01:08
>>32 で、出来た、、、。これは一体、、、?
ありがとうございます。
>>28 提示したVBAのサンプルは.......
テーブル名は a、b
フィールド名は共に Data
としたけど、あなたの実際の作業しているテーブル名とフィールド名は同じなんですか?
エラーが発生しているのはそーいうことです。
36 :
羽柴秀吉に1票@自宅 :02/09/29 01:30
>>31 さん
VBの本を読めばいいのですよね・・・
すいません、クエリでサクッと出来ると思ってて、まさかこんな
難しい事になるとは思ってませんでした。
出直してきます。
22さん、お手を煩わせてしまい本当に申し訳ありませんでした。
とりあえずVBの本を買って勉強しようと思います。
ありがとうございました。
テストしないでコード書くとろくなこと無いな。。。 一箇所間違えてた、FindNextのとこ。(激鬱) Public Sub test() Dim db As DAO.Database Dim rs_a As DAO.Recordset Dim rs_b As DAO.Recordset Set db = CurrentDb Set rs_a = db.OpenRecordset("a", dbOpenDynaset) Set rs_b = db.OpenRecordset("b", dbOpenDynaset) Do Until (rs_b.EOF) rs_a.FindFirst ("data like'*" & rs_b![Data] & "*'") Do Until (rs_a.NoMatch) rs_a.Delete rs_a.FindNext ("data like'*" & rs_b![Data] & "*'") Loop rs_b.MoveNext Loop End Sub
38 :
羽柴秀吉に1票@自宅 :02/09/29 01:36
>>35 22さん、ありがとうございます。
書き込みしている間にレスがあったようで失礼しました。
Set rs_a = db.OpenRecordset("a", dbOpenDynaset)
Set rs_b = db.OpenRecordset("b", dbOpenDynaset)
の["a"]と["b"]のところは実際のテーブル名に変更していたのですが
フィールド名はそのままでした。
現在、帰宅したので、手元にAccessがありません。
明日、出勤してから試してみます。
本当にありがとうございます。
39 :
羽柴秀吉に1票@自宅 :02/09/29 01:41
>>37 22さん、本当に何度もありがとうございます。
感謝感激です。
自分が無知なばかりにお手を煩わせてしまい申し訳ありません。
とりあえずVBの本は買って勉強しようと思います。
本当に何度もレスしてくださり、ありがとうございます。
>39 VBって言うより… AccessのVBAに関する本はいっぱいあるから本屋へ逝って 気に入ったのかって読んだ方が良い。 VBではなくAccessVBAだよ。 ビジュアル(V) ベーシック(B) フォー アプリケーション(A)
41 :
名無しさん@そうだ選挙にいこう :02/09/29 02:46
>>12 語弊があるとかわかり易くいうと違うが...というレベルではない。
根本的に違う。
データベースにおいて、君の勘違いは致命的だ。
42 :
名無しさん@そうだ選挙にいこう :02/09/29 03:05
>>41 まあ、ACCESSをデータベース(DBMS)だと思っている人が大半の
スレでそこまで言うことはないと思われ
43 :
名無しさん@そうだ選挙にいこう :02/09/29 03:55
>>42 ACCESSがデータベース(DBMS)ではないという根拠は?
Access - RADツール / フォーム、レポートジェネレータ & SQLインタプリタ内包 JetDB - RDBMSもどき Jetはバックグランドで独立して動作するDBMSよりもISAMライブラリの系列に属する ・・・と解釈してるけど。
45 :
名無しさん@そうだ選挙にいこう :02/09/29 08:44
アクセスはオラクルやSQLサーバーよりも機能的に劣っていますよ、という事ですよね。 だけど、クライアント4〜5台で、DBの更新頻度もそんなに多くないシステムを作る際には、 DBにオラクルやSQLサーバー使って、VBやVCで組んでも、コスト的にどうなのかなと。 アクセスのみで作った場合には、50万円以下で収まる可能性も有るけど、 オラクル、VBを使うとなると100万円以下では収まらないですよね?
>>45 またヴァカが1匹・・・
いつもこの手のヤツ定期的に出てくるな(w
47 :
名無しさん@そうだ選挙にいこう :02/09/29 12:03
あげあしをとるつもりはないが...12は5の質問の.... >データ量が多くなると信憑性が低くなると聞きますが、どうなんでしょうか? に対して、何も回答していないね。 データ量だけでなくマルチユーザ数にも関係してくるけど。 自分の作ったAccessオンリーのシステムの例出して >全然問題なく動作しております。 では.....(顧客の要求聞いたとき、そう答えるのか?) Lan上でDBを共有するJetのシステムの場合、何故、遅くなるのか 何故、DBが壊れやすくなるのか、データ処理の流れを考えれば一目瞭然なんだが。
>>47 漏れもあげあしをとるつもりはないが.....
>データ量が多くなると信憑性が低くなると聞きますが、どうなんでしょうか?
についてどう思う?
49 :
名無しさん@そうだ選挙にいこう :02/09/29 13:56
営業マンリストテーブルと、各商品別に月日別の売上テーブルをつくり それを基に集計クエリを作りました。 このとき、営業マンごとに売上を集計して売上の多い順に並べ替えました。 それを使ってさらにランク付け(売上順位を表示)しようとしたのですが Excelを使う感覚で新しいフィールドにランク関数を用いても上手くいきません。 ランク付けをした後、商品ごとの売上順位を更に抽出し、 その合計によって営業成績をポイント化したいので、 売上順位をどうしても表示したいのでお願いします。
>>48 データ量の問題に関していえば、Jetは大量データの処理に適していないというわけではないと思う。
ローカル環境に限っていえば、Jetの方が使用するリソースは少ない分、SQLServerよりも動作は速い。
問題なのは、Lan上でマルチユーザー環境でシステムを構築した場合。
例えば、大量のデータをフィルタリングする処理で比較すると、
SQLServerがサーバー上で処理を行い、結果セットのみをクライアントに送るのに対して、
Jetの場合は、フィルタリング対象のデータをクライアントに転送し、フィルタリング処理自体は各クライアントで行う。
当然、Lan上に大量にデータが流れ、データが流れている時間も長くなる。
また、マルチユーザ数の増加に伴いで同時に処理を行う機会が多くなれば、さらにLANに流れるデータ量が増加する。
で、不安定なLanだとデータ破損を起こす機会が増大してしまう。
51 :
羽柴秀吉に1票 :02/09/29 14:54
>>37 22さん、ありがとうございました。
今日、出勤してきて早速試したら、出来ました!
本当にありがとうございました!
>>40 さん
情報ありがとうございます。
AccessのVBAの本ですね。
本屋で探してみます。
ありがとうございました。
52 :
名無しさん@そうだ選挙にいこう :02/09/29 16:14
22さん、ありがとうございました!!
また22か
54 :
名無しさん@そうだ選挙にいこう :02/09/29 16:18
ほんとうに22さん、ありがとうございました
55 :
名無しさん@そうだ選挙にいこう :02/09/29 16:19
56 :
名無しさん@そうだ選挙にいこう :02/09/29 16:27
無職の22さん、ありがとうございました。
57 :
名無しさん@そうだ選挙にいこう :02/09/29 16:55
>>45 マジレスさせてもらうと、
DBMS フリー(Firebird等)
開発環境 VBやDelphi
にすれば、信頼性やパフォーマンス、価格の面でもAccess+Jetより上
だと思うけど。
Accessはあくまで個人が趣味や自分の業務に使用するためのDBを構築
するためのツール。
58 :
名無しさん@そうだ選挙にいこう :02/09/29 17:01
右目と左目が別の方向を向いてる22さん、ありがとうございました。
59 :
名無しさん@そうだ選挙にいこう :02/09/29 18:26
Qちゃん、ありがとうございました。
マクロで、Aというテーブルがあれば削除、無ければ次のアクションに移動 って事は出来ないのでしょうか? あと、マクロで自動でインポートをしたいのですが、ファイル名とか 選ばないとダメじゃないですか? あれを自動化できないでしょうか? 例えばtest.txtをインポートする場合なら、手動なら ファイルの種類を選んで、ファイルを選んで、 ちょこちょこっと設定をしないとダメですよね。 区切り記号付きで、先頭行をフィールド名として使って、 区切り記号はカンマで、新規テーブルに保存で、主キーを 設定しないってのをやりたいのです。
>>45 VB+Oracleで組まないと従業員の給料が払えないんだよ
だから何がなんでも、VB+Oracle(orSQLserver)でないと駄目なワケ
ACCESSの方が開発期間が短く済んだり、環境に左右されづらいといった利点もある
ケースバイケースで開発言語を選択できないヒトの言うことを間にうけるとロクなことないぞ
ACCESSでも立派な実務ソフト作れるし、VB+Oracleより速いパフォーマンスを得られる場合もある
>60 VBAなら
63 :
名無しさん@そうだ選挙にいこう :02/09/29 21:26
22 は神!!
>60さん VBAなら出来るのですか? 宜しければやり方を教えていただけませんか? お願いします。
あっ、間違えました >62さん お願いします。 >60 だったら自分ですよね・・・
@まずテーブル削除 Dim tbl As DAO.TableDef With CurrentDb.TableDefs .Refresh For Each tbl In CurrentDb.TableDefs If tbl.Name = "ここに削除したいテーブル名" Then .Delete tbl.Name Exit For End If Next tbl End With AでCSVインポート DoCmd.TransferText acImportDelim, _ "テーブル インポート定義", _ "新規テーブル名", _ "ファイルのフルパス (C:\test.txtなど)", _ True, _ "" でおk テーブル インポート定義 というのは、テキスト インポート ウィザードを 手動でやってインポートの設定を[保存]すると、mdbに保存されるもの。 #このコードを、public function hoge () 〜 end functionで囲めば、 マクロから呼べる。そこんとこバリバリよろしこ
67 :
名無しさん@そうだ選挙にいこう :02/09/29 22:59
22たん、惚れた.....
>66さん 出来ました!!ありがとうございます! 削除したいテーブルが2つある時などは、どうしたらよいのですか? >67さん あの・・・誰?
>69 select caseを使いたまい
71 :
名無しさん@そうだ選挙にいこう :02/09/29 23:31
66 カクイ〜〜〜
>>69 単に2つともDeleteすればいいんじゃないのかしら。
テーブルがなければエラーが出るけど、無視すればいいよね。
>66さん @だけのモジュールを別に作ってそれをマクロで読ませました。 しかし、すごい力技って感じなので、select case ってのを 教えてもらえませんか? ごめんなさい、お願いします。
74 :
仕様書無しさん :02/09/30 00:27
>>73 お前、ヘルプ使えんのか?
「ごめんなさい」じゃねーよ。全然、自分の力にならんよ。
75 :
名無しさん@そうだ選挙にいこう :02/09/30 00:41
>72 テーブルがない場合のエラーは On Error Resume Nextで回避すればいいんじゃないの?
┐('〜`;)┌
うん、そのとおり。>76 肝心の人にはわかってもらえてないみたいだけど…
>みなさま 現状でもやりたい事は出来ましたので、このままにします。 ごめんなさい。 ありがとうございました。 >74さん イルカに「select case」って入れてみましたが、 よくわからないのばかり出てきたのです。 >72さん、>76さん ありがとうございます。 私じゃさっぱり解りませんでした。 せっかく教えて下さったのに、ごめんなさい。 回線切って、首吊ります。 2ちゃんねる風に言うとこうでいいのですよね? では、失礼します。
わからないじゃ何がわからないのかわからないだろう。 煽って消える前に「読んだけどここの記述の意味が理解できない」とかなんとか もうちっと具体的に説明する努力をしろ。
81 :
sakura :02/09/30 21:29
ご存知の方、教えてください。 win2000、office2000、VB6.0、DAO3.6の環境でjetを使ってるんですが、 ロールバックの限界は何レコードぐらいなんでしょう? また、限界の設定変更はできるのですか?
82 :
名無しさん@そうだ選挙にいこう :02/09/30 23:29
>>81 以下ヘルプより
Jet ワークスペースでは、トランザクションは
ワークステーション上の TEMP 環境変数で
指定したフォルダ内のファイルに記録されます。
トランザクションのログ ファイルが大きくなりすぎて
TEMP フォルダのあるドライブの空き容量が
なくなった場合、実行時エラーが発生します
何mb!という表記は発見出来てませんが参考までに。
がんばってね。
83 :
名無しさん@そうだ選挙にいこう :02/09/30 23:55
>79 あのね、ここで聞くだけじゃなくって 本屋へ行ってAccessの本いくつか見て、 自分にあったものを1冊でいいから買って読んでみな。 >質問者の方へ ヘルプ見た、1冊くらい本買って読んだ… それでも、自分のしたいことができない!理解できない!って時に ここで聞くくらいの努力が必要なんじゃない? 少なくとも努力の片鱗が言葉の片隅にでも見えてれば、 ここの人たちは何かしら答えてくれると思うけど…。
84 :
名無しさん@そうだ選挙にいこう :02/10/01 02:16
教えて下さい。アクセスXPを使っています。 以下の三つのテーブルを使い、 商品テーブル 商品番号 商品名 売上ゲーブル 売上番号 売上日 商品番号 入荷テーブル 入荷番号 入荷日 商品番号 入荷数 在庫数を求めるクエリを作りました。以下が私が作った在庫数合計クエリ のSQLビューで見たものです。 SELECT 商品テーブル.商品番号, Sum([入荷数])-Count([売上番号]) AS 在庫数 FROM (商品テーブル INNER JOIN 入荷テーブル ON 商品テーブル.商品番号 = 入荷テーブル.商品番号) INNER JOIN 売上テーブル ON 商品テーブル.商品番号 = 売上テーブル.商品番号 GROUP BY 商品テーブル.商品番号; しかし、実行しましたが、在庫数はメチャクチャな数になってしまいます。 何が原因でしょうか、、?
>>84 集計フィールドをはずして売上、入荷のフィールドを入れてみて何を集計しているのか確認してみることをお勧めする。
この場合は売上、入荷についてそれぞれ集計するクエリを作成してそれ(商品テーブルの集計、売上テーブルの集計)を使って
SELECT 商品テーブル.商品番号, (入荷テーブルの集計.総入荷数)-(売上テーブルの集.総売上数) AS 在庫数
FROM (商品テーブル Left JOIN 入荷テーブルの集計 ON 商品テーブル.商品番号 = 入荷テーブルの集計.商品番号)
Left JOIN 売上テーブルの集計 ON 商品テーブル.商品番号 = 売上テーブルの集計.商品番号;
みたいなクエリを作るべす。あと、84でInner JoinとしてたところはLeft Joinにしないと売上の無いものについて在庫が出ません。
86 :
名無しさん@そうだ選挙にいこう :02/10/01 11:16
質問させていただきます。 SQL-ServerでAccessのソフトを作っています。 人数を集計するクロス集計をしたいのですが、 Select フィールド名 count(case …) as C1 … count(case …) as C9 from テーブル名 group by フィールド名 という方法しかないのでしょうか。 これだと、case文を考えられるパターン記述しないといけなくなると思うのですが・・・。 Jetだと、Transform〜Pivot文を使えるようですが・・・。 どなたかアドバイスお願いいたします。
545 :名無しさん@お腹いっぱい。 :02/09/30 08:07
初心者かどうかなんていちいち宣言しなくても、質問の内容を読めばわかるんだよ。
初心者こそ、全力で相手に質問内容が伝わるようにカキコすべきなの。
で、これをしっかりやれば、「初心者ですが」なんて間抜けなフレーズ
カキコする余力は残ってるはずがねーっつーの。だろ?(w
546 :名無しさん@お腹いっぱい。 :02/09/30 08:09
>>545 ・説明するだけの文章力がないもの
・人に質問する態度じゃないもの
・勉強不足
・他力本願
・自分が何言ってるかわからない
・注意を無視する
・自分の理解出来ないレスは無視する
・しつこい
1つでも当てはまるならあなたは立派なクソ質問者。
90 :
名無しさん@そうだ選挙にいこう :02/10/01 17:00
Access2000についてお願いします。 生徒管理のデータベースを作成しております。 その際に、生徒の顔写真を登録しようとおもい、データ形式をOLEオブジェクトにしました。 そして写真も登録できましたが、ものすごく重くなってしまいました。 10Mにも達してしまったので、今度はハイパーリンクでやってみました。 すると、フォーム上に写真が出てきませんでした。 単票形式のフォームに写真を登録し、生徒一人一人の顔が分かるようにしたいのですが たいのですが、これはOLEオブジェクトしかないのでしょうか? 写真を登録し、フォームでみて、なおかつ軽く出来る方法がありましたらお願いします。
91 :
名無しさん@そうだ選挙にいこう :02/10/01 17:16
>>90 イメージを貼り付けpictureプロパティーで写真画像のアドレスを指定します。
例
Private Sub Form_Current()
On Error Resume Next
Me.写真パス01 = "C:\MyDocument\" & Me![顔写真] & ".jpg"
[イメージ01].Picture = Me![写真パス01]
End Sub
>>91 すみません。ちょっとやってみたのですが出来ませんでした。
マイドキュメントにあるマイピクチャーフォルダの、サンプル.jpgを表示する場合
はどうしたらよいでしょうか?Me![顔写真] ここにフォルダ名を入れたらメソッドエラーになってしまいました。
コードを書くしか方法はありませんか?
たびたびすみません。
93 :
名無しさん@そうだ選挙にいこう :02/10/01 17:57
>>92 生徒テーブルはあると思います。
Me![顔写真] は、顔写真フィールドに相当しますので
>>92 の例でいけば
『サンプル』になります。通常はIDとかにします。
Me.写真パス01 は、参照アドレスが格納される同テーブルのフィールド
です。
ともにMe〜ですのでフォームには2つのテキストボックスを作ってくだ
さい。
私の場合、先ずダミーで一個イメージ写真を貼り付けます。そこでプロ
パティーシートで、イメージ「書式」「ピクチャー」をデリます。
つまり(なし)状態にします。
次にフォーム全体のプロパティーシートで「レコード移動時」に
>>91 を
書き込んでいます。
>>92 >>91 さんではないが
Me.写真パス01 = "C:\MyDocument\" & Me![顔写真] & ".jpg"
と記述されてるでフォルダを指定しちゃダメでしょ
フォルダを書くなら"C:\MyDocument\「ここ」\"でしょ?
95 :
名無しさん@そうだ選挙にいこう :02/10/01 18:13
そう言えばpictureプロパティーはサンプルDBの Northwind.mdbが一番わかりやすいような・・・
>>90 俺だったら抗する。
1. 写真のファイル、ファイル名は学生番号とか、氏名とかにしておく。
2. ふつうのフォルダに保存。
(写真そのものの管理は画像見るアプリとかで)
acc97です。 プリンタの無い環境でレポートを作りたいのですが、 通常使うプリンタを設定しる、とか言われてダメです。 これ回避する術ないっすか。
なんでもいーヵらプリンタを一個登録しろ どんなPCでもプリンタドライバのひとつやふたつ 入ってっから。
>>98 ダメみたいっす。
会社のプリンタの設定があり、通常使うプリンタになっていますが、
同様のメッセージが出ます。
回避できないのか…。
100 :
名無しさん@そうだ選挙にいこう :02/10/01 22:35
総合相談所なんだから初心者歓迎で行きます。
>>83 自 分 の ホ ー ム ペ ー ジ で や れ
>>93-95 ありがとうございました。いま家なので明日会社でやってみます。
また質問するかも知れませんがよろしくお願いします。
>>96 使う人間がPC初心者でして・・・・・。おそらくフォルダを開けません。
>>100 べつに
>>83 は道理から外れたようなことは言ってはいないように見えるが
何が気にいらないんだ?
> 総合相談所なんだから初心者歓迎で行きます
そんなに厨房が好きなら、それこそ自分のWEBサイトでやってれば?
俺はまともなヤシならビギナーもシニアも区別しないけどな
おまえ、ひょっとしてこのスレで叩かれた厨房?
厨房は「初心者」ってことに免罪符のごとく異様にこだわるからな(w
103 :
名無しさん@そうだ選挙にいこう :02/10/02 04:03
>>86 簡単な方法が有るのなら知りたいと思って見ていました。
ストアド作るしか無いのでしょうかね。
一つ作っておくと便利そうですね。
今ACCESS2000で販売管理ソフトを作っているのですが、 クエリをレコードソースとしたサブフォーム内のテキストボックスの値を 親フォーム内のテキストボックスに入力されるようにしています。 サブフォーム内に商品の単価・数というテキストボックスがあり それを集計した値がはいるのがテキストAとします<=Sum([単価]*[数])>。 サブフォーム内のテキストAに入った値が親フォーム内のテキストBに 入るようにします<=サブフォーム名.Form!テキストA> そうするとサブフォーム内のクエリの条件に該当するレコードがあった場合 テキストBでは正常に集計された値が入りますが、 もし該当するレコードがない場合、テキストAに入る値が存在しなくなるので、 テキストBに表示される値は「#エラー」になってしまいます。 するとテキストBをもとに計算している他のテキストボックスの値が全て「#エラー」に なってしまうので、この場合テキストBの値を「#エラー」から「0」に自動的に変換する ことはできないでしょうか?
>>104 =IIf(IsError(Sum([単価]*[数])),0,Sum([単価]*[数]))
>>105 ありがとうございます。
それはサブフォーム側テキストAのコントロールソースにするということでしょうか?
実際入れて見たのですが、相変わらずテキストBの値は#エラーになってしまいます・・。
サブフォーム内で条件に該当するレコードが無い場合ですから、
データシートビューにしてみると、サブフォームに表示されるのは項目名だけで他は空欄になります。
テキストBという項目名の下にも何も無い状態ですが
これでもうまくいくはずなんでしょうか?
試しに、親フォーム側テキストBで
=IIf(IsError(Sum([サブフォーム名].[form]![テキストA])),0,Sum([サブフォーム名].[form]![テキストA]))
にしてみても結果は同じでした。
すみません >テキストBという項目名の下にも何も無い状態ですが × テキストAという項目名の下にも何も無い状態ですが 以上修正です。
>>106 .107
> もし該当するレコードがない場合、テキストAに入る値が存在しなくなるので、
> テキストBに表示される値は「#エラー」になってしまいます。
1. この状態でサブフォームはなんにも表示されていない?
2. 空のレコードが表示されている?
どっちかな?
1の場合だったら親フォームのテキストBに
=IIf(IsError(Sum([サブフォーム名]![テキストA])),0,Sum([サブフォーム名]![テキストA]))
で行くと思うけど…(.[form]!はいらないよ)
2の場合だったら親フォームのテキストBを弄らずに
サブフォームのテキストAに
=IIf(IsError(Sum([単価]*[数])),0,Sum([単価]*[数]))
でいいような…
>>108 1の状態です。
うまくいきました!
ありがとうございます!
たびたびすみません。 テーブル作成時にデータ形式をOLEオブジェクトにしてはいけないのでしょうか? データ形式をOLEオブジェクト→フォームを単票形式で作成→オブジェクトを挿入 で、プロパティシートを見てみたのですが、書式でタイプを選択する際にクリップ、ストレッチ、ズーム しかありませんでした。それを削除すると、選択一覧にありません、と言われてしまいます。 理想の形はこのフォームなのですが、OLEオブジェクトではないのでしょうか? 宜しくお願いいたします。
>>85 お答えありがとうございます。
85さんの仰る様にクエリを作ると不穏な挙動を見せたので、以下の
確認用に以下のクエリを作りました。、在庫クエリに入荷合計数と、
売上げのカウントを入れています。
SELECT 商品テーブル.商品番号, Count(売上テーブル.売上番号) AS 売上番号のカウント, Sum(入荷テーブル.入荷数) AS 入荷数の合計, Sum([入荷数])-Count([売上番号]) AS 在庫数
FROM (商品テーブル LEFT JOIN 入荷テーブル ON 商品テーブル.商品番号 = 入荷テーブル.商品番号) LEFT JOIN 売上テーブル ON 商品テーブル.商品番号 = 売上テーブル.商品番号
GROUP BY 商品テーブル.商品番号;
すると、何故かクエリに表示されるある商品の入荷合計数は、
その商品が例えば3度売れている場合、実際の合計数の3倍に
表示されている様です。
売上げのカウントも入荷回数との積になってる様です。
何故そんな事になるのかさっぱり分からないのですが、
何故なんでしょうか?
( ̄ー ̄)ニヤリッ
113 :
名無しさん@そうだ選挙にいこう :02/10/02 21:31
>>110 OLEオブジェクトは連結にしろ非連結にしろファイルサイズは肥大化します。
その違いは、連結であれば画像をユーザーが関連付けた編集ソフトでレタッチが
可能になること、また後者の非連結はフォームへのベタ貼り付けを意味します。
ですから非連結はフォームにロゴマークなどを貼り付ける場合に使います。
>>110 番さんのご希望は、単票形式のフォームで個人情報の内容・及び写真が
表示されることで、かつ、ファイルサイズを肥大化させない表示方法ですから
『イメージ』を使うことです。
一度誰かの写真を貼り付けてみてください。ここではダミーで結構です。
そして、プロパティーシートをご覧下さい。
『書式』の『ピクチャー』には、今貼り付けた写真のパスがフルパスで書かれて
いるはずです。
ここからが今まで申し上げてきた内容になります。このままでは、どのページも
同じ写真になってしまいますので、フルパスを消して『(なし)』の状態にする
のです。当然ですがこの状態では写真は表示されません。
VBAを記入して、このページのイメージプロパティーは○○○○ですよ・・と指定
するのが、前出
>>91 の考え方です。
114 :
名無しさん@そうだ選挙にいこう :02/10/02 21:45
↑の者です。 非連結もダブルクリックで編集可でした。 その違いはオリジナルの編集時に反映させるか否かの違いでした。 久々にマニュアルを読むと違いがよくわかりました。
115 :
名無しさん@そうだ選挙にいこう :02/10/02 21:56
>>84 1.入出庫の有るものだけ集計
SELECT 商品テーブル.商品番号, SUM(入出庫数) AS 在庫数
FROM 商品テーブル
INNER JOIN
(
SELECT 商品番号, SUM(入荷数) AS 入出庫数 FROM 入荷テーブル GROUP BY 商品番号
UNION ALL
SELECT 商品番号, COUNT(売上番号) * -1 AS 入出庫数 FROM 売上テーブル GROUP BY 商品番号
) Q
ON 商品テーブル.商品番号 = Q.商品番号
GROUP BY 商品テーブル.商品番号
2.全ての商品を集計
SELECT 商品テーブル.商品番号, SUM(IIF(ISNULL(入出庫数),0,入出庫数)) AS 在庫数
FROM 商品テーブル LEFT JOIN
(
SELECT 商品番号, SUM(入荷数) AS 入出庫数 FROM 入荷テーブル GROUP BY 商品番号
UNION ALL
SELECT 商品番号, COUNT(売上番号) * -1 AS 入出庫数 FROM 売上テーブル GROUP BY 商品番号
) Q
ON 商品テーブル.商品番号 = Q.商品番号
GROUP BY 商品テーブル.商品番号
でどうだ?
116 :
名無しさん@そうだ選挙にいこう :02/10/02 23:10
>>102 まるで自分が初心者じゃないかのような言い草だな。
117 :
名無しさん@そうだ選挙にいこう :02/10/02 23:16
> 総合相談所なんだから初心者歓迎で行きます ってことは、ヘルプ見ろ、本読め、過去スレ見ろとは言われないわけですね。 安心して質問できます。
俺にわかる質問には答える。
ただし質問の意味がわからん場合は答えようがない。
それだけのことだ。
>>1 にも書いてあるしな。
・分かる人はできるだけ回答して下さいませ
>>116 初心者がどうとか言ってるやつは、ほっとけって。
どこの板でも荒らしは放置。これは基本だ。
119 :
名無しさん@そうだ選挙にいこう :02/10/03 00:14
22さん、ありがとうございました!!
121 :
名無しさん@そうだ選挙にいこう :02/10/03 08:15
初心者同士馴れ合ってるから、いつまでも進歩が無い罠
ここは初心者以外書き込むなってことですね?
123 :
名無しさん@そうだ選挙にいこう :02/10/03 10:09
初心者よ、本科って勉強しる 楽して技を得ようなんて甘いんだよ 分かったか、ヴぉけ
本当にスキルが必要なことはマ板で聞いたほうが良いレスがつく罠
>>24 で22さんが元ネタ
>>14 のSQL版をキボーンしていたので、とりあえず書いてみる
まだ出てないよな?
テーブル名(削除対象) - D
フィールド名(抽出条件比較先) - dst
テーブル名(比較元) - S
フィールド名(抽出条件比較元) - src
レコード抽出確認用 Select文
Select D.dst From D
Where D.dst Like
(Select '*' & src & '*' As Aliassrc From S
Where D.dst Like '*' & S.src & '*');
実際にデータを削除する Delete文
Delete * From D
Where D.dst Like
(Select '*' & src & '*' As Aliassrc From S
Where D.dst Like '*' & S.src & '*');
これでOKだったけど。 - Access2002
>>124 マ板はネタ板ですが、何か?
ム板のほうがよろしいかと。
127 :
名無しさん@そうだ選挙にいこう :02/10/03 14:16
アクセス初心者です。 EXCELのEDATEのように ある日付の何ヵ月後は何日と出したいのですが 【 例) 02/08/31 の6ヵ月後は 03/02/28 と出したい。】 どうやれば良いのか解りません。 どなたかご教授していただけませんか?
128 :
名無しさん@そうだ選挙にいこう :02/10/03 14:27
>>127 それぐらいヘルプで調べれ
キーワードは「日付追加」でな
みなさんありがとう。理解できました。本当にありがとうございました!
130 :
名無しさん@そうだ選挙にいこう :02/10/03 17:06
>>129 90番さん、よかったっス
がんばってください。
131 :
名無しさん@そうだ選挙にいこう :02/10/03 17:08
す、すみません、理解したつもりだったのですが・・・・・。 単票形式のフォームにピクチャーを貼り付け、それを削除。なしの状態にして レコード移動時にコードで下記のように書きました、ピクチャーはイメージ22でした。 Private Sub Form_Current() On Error Resume Next Me.写真パス01 = "C:\My Documents\My Pictures\" & Me![サンプル] & ".jpg" [イメージ22].Picture = Me![写真パス01] End Sub 確認したいのですが、上のコードは、Me.写真パス01に、写真を格納していると理解してよろしいのでしょうか? すると、Me![サンプル] ここでコンパイルエラーになってしまい、動きません。 テーブル構成は、 生徒ID、生徒氏名、生徒フリガナ、保護者氏名、保護者フリガナ、学年、コース、学校名、生年月日です。 テーブルにもピクチャーを格納する場所が必要でしょうか? たびたびすみませんが、宜しくお願いいたします。
133 :
名無しさん@そうだ選挙にいこう :02/10/03 17:39
>>132 me.[なになに] というのは、フォーム上のコントロールのこと(TEXTBOXとか)
あなたは多分、フォーム上にTEXTBOXを作って、それをデータベーステーブルと
連結させているはず。
それから"!" は "." の古い使い方だから、全部"."に統一したほうがよい。
dim PictureFileName As string 'ファイルパスを格納する一時的な変数の定義
PictureFileName = "C:\My Documents\My Pictures\" & cstr(me.生徒ID) & ".jpg"
Me.写真パス01 = PictureFileName
[イメージ22].Picture = Me.写真パス01
以上のようにする。
わからなかったら、フォーム上で自分が設定してるコントロール名の一覧くらい付け足せよ。
他人にはわからないことなんだからな。
ここまで書いてやってるんだから。
>>132 > テーブルにもピクチャーを格納する場所が必要でしょうか?
自分で写真パス01というコントロールをVBAに書いてるが
これに格納するつもりじゃないのか?
それからピクチャを格納じゃなく、 ピクチャに表示する画像ファイル(この場合は.jpg)の参照先の ”文字列”を格納という意味だからね。 でも、やりたいこと見てると別にそんなデータ取っとく必要なさそうだけどな。 単純にレコード移動したら、ファイルパス作ってpictureコントロールに 設定するだけだろ。
>131 質問の糸がよう分からんが、MSDEが付いてるか付いてないかと言われれば、付いてる。 PCにSQL鯖を入れるっちゅーこと
>>133-135 ありがとうございます。
ちなみに参考にしたのは
>>91 です。
フォームには
生徒ID、生徒氏名、生徒フリガナ、保護者氏名、保護者フリガナ、学年、コース、学校名、生年月日
をテキストボックスで表示してあり、その横にピクチャーをダミーで貼り付け、それを削除した状態です。
会社でやってみます。またお世話になるかもしれませんが、よろしくお願いします。
138 :
名無しさん@そうだ選挙にいこう :02/10/03 23:36
139 :
名無しさん@そうだ選挙にいこう :02/10/04 07:43
どなたか教えてください。 CurrentDbを使う場合 1-CurrentDb.OpenRecordset 2-Dim MyDb as Database Set MyDb=CurrentDb MyDb.OpenRecordset 2のように、毎回宣言したほうが良いのでしょうか?
140 :
名無しさん@そうだ選挙にいこう :02/10/04 08:00
>>139 標準モジュールで宣言しておけば、1回で済む
>>128 ヘルプで探しても該当するのがなかなか見つからなかったのですが、
わかりました。
ありがとうございます。
142 :
名無しさん@そうだ選挙にいこう :02/10/04 10:01
>>139 >2-Dim MyDb as Database
>Set MyDb=CurrentDb
>MyDb.OpenRecordset
これ変だぞ
まともに動くとは思えないが
>>127 しょうがないなぁ〜
DateAdd関数でやってみれ!
144 :
名無しさん@そうだ選挙にいこう :02/10/04 11:56
フォームのボタンで「EXCELファイルを呼び出す」というのを作成し、以下のコードをイベントプロシージャに書き込みました。 Private Sub コマンド624_Click() Dim ExcelObj As Object Dim ExcelWBook As Object Dim ExcelSheet As Object Dim wfile Dim i Const strPATH = "c:\写真データ一覧\" wfile = Me.店舗番号.Value & ".xls" Set ExcelObj = GetObject(strPATH & wfile) Set ExcelWBook = ExcelObj.Application.Workbooks(wfile) Set ExcelSheet = ExcelWBook.Worksheets(Me.店舗番号.Value) ExcelObj.Application.Visible = True ExcelObj.Application.windows(wfile).Visible = True End Sub エクセルファイルは、開くことは開くのですが、閉じる時に編集を加えてなくても 「保存しますか」と聞いてくるし、スクロールしようとすると 「エラーが発生したため、Excel.exeを終了します。プログラムをもう一度開始する必要があります」 といわれ、勝手に閉じてしまいます。 どこが悪いのでしょうか。
145 :
名無しさん@そうだ選挙にいこう :02/10/04 12:52
146 :
名無しさん@そうだ選挙にいこう :02/10/04 15:07
質問です。 クエリの抽出条件を5ケタとするにはどんな式を入力したらいいですか?
148 :
名無しさん@そうだ選挙にいこう :02/10/04 15:18
どんな文字を?
149 :
名無しさん@そうだ選挙にいこう :02/10/04 16:33
>>146 WHERE 文字列=5桁
とすればいいんじゃないの?
文字列数を出す関数ぐらいは、
自分でヘルプで探せるだろ。
>>146 結局、5桁って…10000以上100000未満の整数? 5文字の文字列?
それぞれで変わってくるんで、
現状どんなデータ列を抽出したいのか書いてくれないことには…。
>>138 じゃ、2002はJetやめてMSDEになったということでいいの?
>>151 いやそうじゃなくて、CDの中にMSDE2000のセットアップファイル一式がこっそり入ってるんですよ。
Office2000のMSDEと同じ事。
>>151 自分で張ったとこちゃんと読んでんのか?
その答えははっきり書いてるじゃん。
Access2002は
・Jetネイティブのmdb形式
・SQL Serverネイティブのadp形式
の2種類の形式を扱えるっつーか2000でもそうなっておろうが!!
結局貴様が今Accessのどのバージョンを使っているor使ったこと無いかもわからん上に
>>131 がネタくさすぎたから返事する人がちゃんと返事も返せない、甘く切ない初恋状態で
僕の股間も切ないですが、どうにかしてください
>>131 さん
154 :
名無しさん@そうだ選挙にいこう :02/10/04 17:30
帳票の一部に写真を入れる為、 入力フォームにイメージコントロールを使っているのですが、 画像が縦だったり横だったりするのですが、フォーム上で画像を縦にする(90度回転させる) ことは可能でしょうか。例えば、ボタンを押すと回転する、みたいなのにしたいのですが。 おながいします。
155 :
名無しさん@そうだ選挙にいこう :02/10/04 17:39
>>154 横長用、縦長用を作って2枚重ね
ボタンを押した時に片方を消して片方を表示すればいいんではないか。
>>155 画像自体が縦なのです。
カメラを縦にして撮影した感じで。
これを90度回転して、寝ているのを立てたいのです。
157 :
名無しさん@そうだ選挙にいこう :02/10/04 18:11
中国語のGB書体の文字(simsun)を書き込むにはどうしたらいいと思われますか? フィールドでフォントを設定するとすべてがsimsunになってしまうのです。
159 :
名無しさん@そうだ選挙にいこう :02/10/04 19:06
>>157 理解しているつもりです。
>>155 サンが言っているのは縦長なら枠を縦長にしる、ってことでしょう。
僕が言っているのは、PCに取り込んだ時点で
「 画像:横長/カメラ:縦 」
のものを90度回せるかということです。
頭が右、足が左にあるってことすね。
レタッチソフトにだいたいついている、「編集(E)→90度回転」というのを
Accessでできないか、と訊ねています。…これで分かるかなぁ。
>160 Access上で90度回転、あるいはサイズ変更や位置の変化可能だが、 キミには無理なプロシージャを書かねばならないのでは? 自分で調べることができないようならば、 Accessのフォーム上にフォトレタッチソフトで90度回転させた写真を 貼り付けておけばよかろう? 正位置、90度回転の2枚をプロジージャ内で、 select caseあるいはIf thenで条件分岐の上、 .Visibleを使って表示/非表示させた方が簡単だと思うが。 恐らく >155はそのことを言っていると思う。
↑>155ではなく >156だった…すまん、逝ってきます。
>>160 Accessは画像ソフトじゃないんだから、たとえ機能があったとしても
回転したら汚い画像になってもしかたないと思うけど、そういうのは
考えてるの?
回転させたい画像はあらかじめ回転したのをレタッチソフトで作って
おくとか、Accessから他のソフトを呼び出すとか、考えようがあるだろ。
事前処理するには画像が大量なら、面倒くさければソフトによっては
バッチ処理でできるものもあるし。
初心者によくあるけど、Accessみたいなたかだか一つのソフトに
何でも要求しすぎ。
164 :
名無しさん@そうだ選挙にいこう :02/10/04 22:13
Accessで作ったデータベースをJAVAで使いたいんですが いちいちコントロールパネルのODBCで設定するのが 面倒なので自動でやる方法ってありませんか? 100個のファイル全部登録するのはつらいです。
MSDEに全部ぶっこめばいいんじゃねーの (・凵E)シラネ
>>142 > これ変だぞ
> まともに動くとは思えないが
すいません・・・・アホですね。
>>140 説明の仕方が下手でスイマセン
下記の2の宣言の仕方だと、問題が発生してしまうのでしょうか?
DAOのことをよく理解していないので、見当違いのことを質問して
いたらスイマセン。
================================= 1 ===============================
Dim MyDb As Database
Dim MyRec As Recordset
Set MyDb = CurrentDb
Set MyRec = MyDb.OpenRecordset("TaableName", dbOpenDynaset)
================================= 2 ==============================
Dim MyRec As Recordset
Set MyRec = CurrentDb.OpenRecordset("TableName", dbOpenDynaset)
167 :
名無しさん@そうだ選挙にいこう :02/10/04 22:57
>>160 全然解ってねーじゃねーか。
>僕が言っているのは、PCに取り込んだ時点で
> 「 画像:横長/カメラ:縦 」
>のものを90度回せるかということです。
「マンガでわかるパソコン入門」
とかから始めたほうがいいんじゃないの?
>166 問題ない
>>168 そうなんですか!
参考になりました!ありがとうございます。
みなさん申し訳ない。
最初は「イメージコントロールを回転させるプロパティ」でもあれば、と思って
お聞きしたのですが、VB関連で検索したら回転させるコードのサンプルが
出てきましたので、僕が悪かったです。ごみん。
>>167 「カメラを縦に使い、取り込んだ画像は横長」まで親切に書いた方がお気に召したの?
まぁ、もういいけど。
あと、画像が大量にある為、レタッチソフトでは無理な旨を最初に書くのを
忘れまして。それも併せてごめんということで。
では草々。
>170 >「カメラを縦に使い、取り込んだ画像は横長」まで親切に書いた方がお気に召したの? 正直、それが助言を乞いに来た者の言なのか?はっきり逝ってむかつくぞ。 言葉を吐き捨てる前に、自分の聞きたいことがきちんと伝わらなかったことを反省しろ。
172 :
名無しさん@そうだ選挙にいこう :02/10/05 01:15
>>170 どりあえず解決したのかな。よかったの。
173 :
名無しさん@そうだ選挙にいこう :02/10/05 01:15
174 :
名無しさん@そうだ選挙にいこう :02/10/05 01:15
営業マンリストテーブルと、各商品別に月日別の売上テーブルをつくり それを基に集計クエリを作りました。 このとき、営業マンごとに売上を集計して売上の多い順に並べ替えました。 それを使ってさらにランク付け(売上順位を表示)しようとしたのですが Excelを使う感覚で新しいフィールドにランク関数を用いても上手くいきません。 ランク付けをした後、商品ごとの売上順位を更に抽出し、 その合計によって営業成績をポイント化したいので、 売上順位をどうしても表示したいのでお願いします。 一度Excelにエクスポートするしかないんでしょうか?
集計クエリ[q]のデザインが [営業マン]、[売上] だとすると、 select count(*) as ランク , [q].[営業マン], [q].[売上] from [q] , [q] as [qa] where [q].[売上] < [qa].[売上] group by [q].[営業マン], [q].[売上] order by count(*) でランク付けは出来る、と思う
アクセスで入出庫の管理ソフトを作ってもらうとだいたいいくらくらいするもんなんでしょうか? 入出庫の形式が一般的ではないので、つるしのソフトだと対応できないらしいんです。 (つるしのソフトをカスタマイズする程度で何とかなりそうなんですが・・・) っていうか以前はExelを使ってやってたんですが、品目が多くなって対応しきれなくなりました。
177 :
名無しさん@そうだ選挙にいこう :02/10/05 02:05
>>176 普通の会社なら最低3人月=300万。
SOHO系に頼めば、多分200万くらいじゃない?
>>177 ありがとうございます
やはりその位の値段はするんですねぇ・・・・
やっぱり自分で作るかな・・・・
180 :
名無しさん@そうだ選挙にいこう :02/10/05 03:38
>>175 見物人ですが、こんなクエリがあるのかと感心しております。
自分がSELECT文について理解できてないということなのでしょう。
なぜそんな結果になるのか、よく検証してみます。
一つ欠点を申しますと、売上トップの営業マンが表示されませんね。
>>143 DateAddでできました。ありがとうございました。
>>158 詳しく申しますと中国人、アメリカ人などの多国籍の個人管理データベース
を作っているのですが、日本語、アルファベットを入力することは当たり前のように
できていますが、中国語のGBフォントをよそからコピーして張り付けると?が表示され
てしまうのです。何か良い方法はありませんか?
>>181 「フォント」とか「文字コード」とか、
ちょっとは勉強して桶!
Access2000 とかなら、文字列データそのものは
内部的に Unicode として扱うので、
アンタの問題について言えば表示できない
(保存はされているのに) という点が問題なんだよね。
で、同フィールドだけれど別レコードのコントロールなら
別のフォント (グリフじゃないよ) で表示させたいのであれば、
↓こんなふうにすればいいと思うよ。
1. テーブルやクエリーをデータシートビューで見ないようにする。
フォーム必須!
2. なまえ表示欄はテーブルないしクエリーに対して非連結とする。
VBA 必須!
3. エントリの国籍ごとにテキストボックスのフォントを切り替えてやる。
テーブルに国籍フィールドを追加!
入力の仕事が発生!
VBA 必須!
>>182 助言ありがとうございます。
1.フォームを作ってそこに入力するだけで
データシートビューで見ないってこと?
2.よく理解できません。
3.フォントはsimsunにしていれば中国語と
アルファベットは入力できるので切り替える
必要はないのでは?
テーブルの名前のフィールドだけsimsunにできないんですか?
184 :
名無しさん@そうだ選挙にいこう :02/10/05 16:54
185 :
sleepy galaxy :02/10/05 17:22
( ´,_ゝ`)( ´,_ゝ`)( ´,_ゝ`)( ´,_ゝ`)( ´,_ゝ`)
sleepy galaxy
http://www.msleep.com/jp/sg/ ( ´,_ゝ`)( ´,_ゝ`)( ´,_ゝ`)( ´,_ゝ`)( ´,_ゝ`)
VBA組むとしたらどういう風にしたらいいんですか?
187 :
名無しさん@そうだ選挙にいこう :02/10/05 17:56
>>186 VBAを全然知らなかったら、本買って勉強汁
で、どうにもならない場面に直面したら
ここで質問汁
みなさん。すみません。お願いします。 あれから、色々試行錯誤してみたのですが、どうしてもうまくいきません。 で、ためしに、下記のコードを書いてみたのですが、これでも表示されませんでした。 フォームのピクチャーを貼るところはサンプルという名前で、そこにサンプル.jpgという名前の 写真を貼り付けるテストをしてみました。イベントはレコード移動時です。 Private Sub Form_Current() On Error Resume Next Me.サンプル = "C:\My Documents\My Pictures\" & Me.[サンプル] & ".jpg" End Sub なにが違うのでしょうか?
つまらんネタだ
最近フォーム勉強しはじめました リストボックスより、サブフォームの方が機能的に優れている所はどこでしょう 一行が自由な配置で並べ替えられるだけな気がしてなりません ド素人質問ですみません。
191 :
名無しさん@そうだ選挙にいこう :02/10/05 18:28
>>188 ネタに混じれ酢テスト
コントロール名を変えろ
>>190 その比較はおかしい
サブフォームが必要なければ使わなければいい
もっと勉強するとサブフォームの有り難みが分かるはずだ
>>192 あれ?考え方が間違ってますか?
私の考える使い方としては、両方ともデーブルのデータをリスト化して、
そのうちから一件ないし複数件選択する用途かと思いますが・・・・
あ、サブフォームはプラス入力機能があるのかぁ・・・
>>190 リストボックスはデータを選択させる機能
サブフォームは、フォームの中に他のフォームを埋め込む機能
たとえば、一つのサブフォームが複数のフォームで使えるということにメリットを感じない?
>>194 そっかぁ、確かにそうですね。
一覧形式の入力用と考えると有用かもです。
いろいろやってみます。ありがとう
196 :
名無しさん@そうだ選挙にいこう :02/10/05 21:16
>>188 1フォーム&1テーブルの簡単なサンプルをサーバーにうpしましょうか?
ネタはいらんて
>>196 見物人ですが、是非お願いします。
自分も何か助言できるかと調べてましたが、何を悩んでるのか良く分かりません。
>>197 ネタって、どのレス?
199 :
名無しさん@そうだ選挙にいこう :02/10/05 22:45
>>114 すいません。良く分かりませんでした。
もうちょっと考えてみます。
201 :
名無しさん@そうだ選挙にいこう :02/10/05 23:39
とりあえず・・・・ 2 2 さ ん 、 あ り が と う ! !
202 :
名無しさん@そうだ選挙にいこう :02/10/06 00:06
教えて君なんですが コンボボックスを使って、例えば商品コードと商品名を選択するときに、 商品コードの部分が数値なら問題無いんですが、アルファベットを含んだコードを使うと 商品名の所が引用されないんですが、何か良い方法があるんでしょうか? どなたか宜しくおながいします。
ちょっと重いかもしれないけど、 ディスプレイを90度回転させるってのは? 時には発想の転換も必要かもよ!
>202 んなわけねーだろカスが
205 :
名無しさん@そうだ選挙にいこう :02/10/06 01:21
>>202 ↑禿同
コンボボックスの使い方に問題ありでは...
**だから**だというのは変!
207 :
名無しさん@そうだ選挙にいこう :02/10/06 09:28
>>199 もう一度ファイルをうpして下さい
おながいします
208 :
名無しさん@そうだ選挙にいこう :02/10/06 09:57
>>207 うpしました。No.15542 です。
>>208 たびたび申し訳ございません
私にはlzh書庫の解凍プログラムがございませんので、
できましたら、zip圧縮で再度うpおながいします。
210 :
名無しさん@そうだ選挙にいこう :02/10/06 11:55
211 :
名無しさん@そうだ選挙にいこう :02/10/06 13:22
生産管理にアクセスを利用してきましたが MSプロジェクトのタスクのようにタイムラインに沿ったリソースの 割り振りを視覚的に表示出来ないでしょうか?
212 :
◆Zj2ch.yUw6 :02/10/06 13:44
画像を読み込んで,そのサムネールを作成してデータベースの中に入れるやり方を教えて。
お前ら社会人ならもっとまともな質問の仕方できへんのか?
>214 セーガクが生産管理すっかヴォケ
217 :
名無しさん@そうだ選挙にいこう :02/10/06 15:44
>>196 ありがとうございました。大変助かりました。
これをもとに作ってみます。
220 :
名無しさん@そうだ選挙にいこう :02/10/06 15:57
221 :
名無しさん@そうだ選挙にいこう :02/10/06 16:05
リストボクースの列見出しってば、中央寄せできませんか? 見づらくて。
ADOでRecordsetをCloseせずにダイレクトに Set Recordset = Nothing しちゃったら何か弊害ありますか? どうせNothingするなら一回で済んだ方が早いかな、と。 問題ないならCloseなんか二度と使いませんよ?
好きにしろ包茎
225 :
名無しさん@そうだ選挙にいこう :02/10/06 17:54
>>223 ていうか、nothingなんてしなくていいからcloseはしろ。
228 :
名無しさん@そうだ選挙にいこう :02/10/06 18:49
>>226 nothingとは、オブジェクト変数とオブジェクトの関連付けを解除するキーワードだよ。
1対1なら、メモリなども開放されるけど。
いづれにせよ、すべての変数がスコープ外になれば開放されるから、VBでは
あまり気に病む必要なし。
>>228 そうすか、ありがとう。
今回のRecordsetはPrivateで宣言しているので、しておいて損無しという
感じなのでしておくことにします。
230 :
名無しさん@そうだ選挙にいこう :02/10/06 22:38
>>229 二行書くのが面倒だという話だったと思うが?
アホはほっとけ
232 :
名無しさん@そうだ選挙にいこう :02/10/06 23:00
数値を文字列にする関数でstr関数があるけど、逆って内科なぁ・・・・
CIntのこと?
234 :
名無しさん@そうだ選挙にいこう :02/10/06 23:14
>>232 ↓ヘルプより
変換に関するキーワード一覧
機能 キーワード
ANSI コードの値の文字列への変換 Chr
文字列の小文字または大文字への変換 Format, LCase, UCase
日付の連続した番号への変換 DateSerial, DateValue
十進法表記の他の表記法への変換 Hex, Oct
数字の文字列への変換. Format, Str
データ型の変換 CBool, CByte, CCur, CDate, CDbl,
CDec, CInt, CLng, CSng, CStr,
CVar, CVErr, Fix, Int
日付から日、週、月、年への変換 Day, Month, Weekday, Year
時間から時、分、秒への変換 Hour, Minute, Second
文字列の ASCII コードの値への変換 Asc
文字列の数字への変換 Val
時間の連続した番号への変換 TimeSerial, TimeValue
参考にして下さい!では。
236 :
名無しさん@そうだ選挙にいこう :02/10/07 00:35
今語られている事に関係するかも知れませんが、教えて下さい。 あるクエリのフィールドで、date()-min[入荷日]ってしたら、 最初の入荷日から今日までの日数を数字で出してくれるですけど、 それを例えばこのように 10-date()-min[入荷日] ってやって他の整数と計算したりすると、変な計算結果 になってしまいます。 たぶんdate()-min[入荷日]の結果が整数に見えて 日付のフォーマットのままだからなのだと思いますが、 それを整数のフォーマットに直して計算するには どうしたら良いでしょうか?
>236 頼むから datediff関数 を使ってやってくれないか
>>187 中国語を入力したい教えて君です。
VBA少しは解るのですが、どういうふうなしくみにしたらいいのか
検討もつきません、軽く教えてもらえませんか?
>238 軽く…と言っても説明する方が難しいと思うけど。 VBAのプロシージャ名の宣言、変数の宣言、動作の記述、プロシージャの終わりの記述。 これらで構成されています。 やっぱりヘルプの中の使用例をいろいろ見て、1冊本を買って読んで実践した方がいいと思う。 select case/If then/Do Loop/For Next/On Error何かは覚えた方がいいかも。 1冊本買って、プロシージャをモジュールにprivate(あるいはpublic) sub(あるいはFunction) Test と言った形でテストして動作確認して覚えて行ってください。 ちなみにAccess97の時はMe!でデバックすることは困難だったので、 私自身はMe!を使用することはお勧めしませんが…。
↑後はmsgboxかな? デバックの時とかに「今、変数の値は何?」とかって時使える。 テストプロシージャは簡単にフォームにコマンドボタン1つ作って、 そこのプロパティ/イベント/クリック時って言うところに [イベント プロシージャ]と言う表記にして右側の…をクリックし そこへ書き込むと、記述した動作が確認できます。 [イベント プロシージャ]と言う表記にして右側の…をクリックするとVBA画面が開き、 既にPrivate Sub ×××(ボタン名)_Click()とプロシージャ名と終わりの宣言End Subがついてます。 Private Sub ×××(ボタン名)_Click()の下に使用する変数名と動作を記述して、 冒頭にブレークポイントを付けておき、フォームのボタンを押したら、 VBA画面で止まって黄色い行(現在実行している記述)が表示されるから、 デバッグ(D)/ステップインで1行1行動作を確認して覚えて行ってください。 AccessでVBAを覚えるならば、このくらいの自力の努力が必要なのでは?
>238 ↑連続すまん。 VBAでのプロシージャ記述そのもののことではなく、 何か別のことについての質問だったらごめん。受け流してくれ…
ファイルの移動を制御しようとして困っています。 アクセス97のフォームに、フレーム(ラジオボタン3つ)とコマンドボタンを配置して、 ボタンを押した時に、ラジオが1だったらあるフォルダ(D:\01 北海道\)の下、2だったら 違うフォルダ(D:\02 青森\)の下、3だったら移動しない、ということをやりたいのですが、 どうもフォルダ名のスペースが悪さしているのか、SHELLでCOMMAND.COM /C MOVEが うまく動いてくれません(メッセージも出さず、ファイルは移動しないまま)。 ひょっとしてフォルダ名を変更しないとダメなのでしょうか。
name as でいいじゃん
>>243 Dim A, B
A = "D:\aaa.txt"
B = "D:\01 北海道\aaa.txt"
FileCopy A, B
Select CaseなんかでBを分岐。
>>244 すいません、どうやって使うのでしょうか。
>>245 これは、コピーし終わったあとに、もとのファイルを削除するイメージでしょうか。
ちょっと試してみますね。
Shellでやろうとしているのが男前。
name A as B で終わりじゃん
>>248 やりました!
おっしゃるとおり、name A as Bですんなり解決でした。
皆さん、ありがとうございました。
>>247 男前だなんて...
>>237 そんな便利な関数があるなんて知りませんでした。
やっぱり関数帳は買った方が良いかな、、。
253 :
名無しさん@そうだ選挙にいこう :02/10/07 21:37
>>238 中国へ3年程、渡れ。
みんなそうしてる。
チョトワラタ
255 :
名無しさん@そうだ選挙にいこう :02/10/08 00:12
みゆきちゃん.... (;´Д`)ハァハァ
256 :
名無しさん@そうだ選挙にいこう :02/10/08 20:17
Access VBAで Openステートメントでテキストを開いて、 "5百日"という文字が書いている行から、 Line inputステートメントで変数に代入したいと思っていますが、 VBAの記述で、”5百日”という文字を探して、そこから、変数に格納するというのが わかりません。 単純にテキストファイル先頭から末尾までを変数に格納はなんとかわかったのですが… どなたかよろしくお願いします。
>>256 あなたのスキルなら、InStr関数とかMid関数使って出来ない?
258 :
名無しさん@そうだ選挙にいこう :02/10/08 21:52
よろしくお願いします。 アクセスXPで4万件のデータを扱っても問題ないでしょうか? かなり重たいですか?
>>257 検索して、ヘルプ見まくってやっとここまでたどりつけたもので、
まだスキルといったほどのものがありませんです…
----------------------------
Private Sub 自動入力()
Dim Textline As String
Open "Anbasa.txt"For Input As #1
Do While Not EOF(1)
Line Input #1, Textline
Loop
Close #1
End Sub
----------------------------
Instr(Textline ,"5百日")
てな感じのを使え、ということですよね?
上記コードの、どの行の間にいれたらいいのかがわからないです。
あと、Instr(Textline ,"5百日")でみつけたところから。
「〜から」Input Line しなさいてのがわかりません。
そういった構文あるんでしょうか?
260 :
名無しさん@そうだ選挙にいこう :02/10/08 21:56
261 :
名無しさん@そうだ選挙にいこう :02/10/08 22:00
>>260 様
ありがとうございます。
現在アクセス95で管理しておりまして,データを検索するにも2分くらい
かかってしまっております。
アクセス95とXPは,どれくらい性能が違うのでしょうか?
聞いてばかりで申し訳ありません。
どなたかご教示ください
262 :
名無しさん@そうだ選挙にいこう :02/10/08 22:05
>>261 質問
インデックスキーをつけたフィールドでの検索ですか?
CPUはどのくらいのスペックですか?
263 :
名無しさん@そうだ選挙にいこう :02/10/08 22:07
インデックスキーをつけたフィールドではありません。 ペンティアム3です
>>259 Input Lineでそれをしようと思わなくてもいいのでは?
作業用の変数に取り込んで、じっくりやればいいと思うな
265 :
名無しさん@そうだ選挙にいこう :02/10/08 22:10
ファイルサイズを大きくする原因になりますがインデックスキーをつければ早くなるのではないですか? またCPUは大きく左右します。当方もPENU266からアスロンXP1600+にして驚きの早さです。
追記 しかしJETもバージョンアップされていますので、ここらでXPにするのも 良いですね。 私は97使いでしたが、XPにして使い勝手に大満足してます。 ADOの勉強や、SQLサーバーの勉強など、今までよりデーターベースの勉強が 増えるのも楽しいかも!
267 :
名無しさん@そうだ選挙にいこう :02/10/08 22:23
>>261 あと、検索に2分と言いますが
その「検索」をどのように作っているのかが
処理時間に大きく影響すると思います。
検索するテーブルはインデックスと主キーは必須。
269 :
名無しさん@そうだ選挙にいこう :02/10/08 22:33
>>268 ありがとうございました。勉強になりました。
JETは,進化したんですね。期待がもてそうです。
270 :
名無しさん@そうだ選挙にいこう :02/10/08 22:40
271 :
名無しさん@そうだ選挙にいこう :02/10/08 23:03
既出かもしれませんが VBAではなく普通のときに "" という文字を入れるのはどうやったらいいんでしょうか 空文字が勝手にはいっちゃうんですが
なんで「""」を入れる必要があるの? "(文章)"なら分かるが。 プログラム上必要ならプログラム側で入れれば良いし。 もっかい見直してみたら?
273 :
名無しさん@そうだ選挙にいこう :02/10/08 23:23
274 :
名無しさん@そうだ選挙にいこう :02/10/08 23:25
>>271 まったく根拠はないんだが
何かと予期しない不都合が起こりそうな処理だな。
出来れば他の回避策の検討をお奨めする
275 :
名無しさん@そうだ選挙にいこう :02/10/09 01:23
前スレの最後のほうでお世話になった者です。 1台のコンピュータに入ったデータを、リンクテーブルで、同じ部屋にある 別の2台から突っつき合ってます。素人がつくったとても不細工なDBです。 ある一台からあるテーブルに、追加更新をかけている真っ最中に、他の一台 からも同じテーブルに同じような処理がかかるのをさけるために、「フラグを 立てる」みたいな話を何度か読んだことがあるんですけど、これって具体的に はどんなもんなんでしょう。 うちの職場もやっぱりそういうことやっといたほうがいいかなと思って、 形だけは考えてみたんですけど、いくつか分からないことがありまして。 フラグテーブルみたいなものをつくり、そこに0が入っていたら処理実行、 1が入っていたら MsgBox "もう少し待て" みたいなものを初めは考えました。 でも、ここでMsbBoxというのはどうも気にくわないな、と。 ボタン押す フラグテーブルを見に行く 見て0だったら、それを1に書き換え、処理を開始する。 処理が済んだらまた0にもどしておく。 1だったら一度そこでレコードセット(フラグテーブル)を閉じる。 3秒待つ(まあ何秒でもいいんですが) 再びフラグテーブルを見に行く・・・ てな感じのループが出来ればベストなんですが、この中の「〜秒待つ」 ってのがどうしても分かりません。 そもそも、VBAでそんなことって出来るんでしょうか。 出来ないようなら、別な形を考えるか、最悪MsgBoxで我慢します。 てか、このフラグの立て方自体、大丈夫なんでしょうか。 偶然まったく同時に、2台のコンピュータからフラグ書き換えにいったら・・・ とか、わずかなタイムラグでフラグの切り替わりが別なコンピュータに 伝わるのが間に合わなかったら・・・とか、なんてことまで不安がってたら、 データベースなんて扱ってられませんけど。
276 :
名無しさん@そうだ選挙にいこう :02/10/09 01:47
>>275 排他ロック、共有ロックでヘルプ検索しる。
>>275 てか、そこまで真剣に取り組んでる積もりなら
自宅でも書籍とか雑誌とか読めや。
教室に通えとかは言わないから。
「ロック」とか (>276) その辺の技を中心にな。
神田川> ちょっとの工夫で この旨さ ウマー(゚Д゚)
278 :
名無しさん@そうだ選挙にいこう :02/10/09 10:26
・frm閲覧 … 人名を列挙したリストボックスがあり、そのリストボックスをクリックすると、 同じフォームの詳細を表示するテキストボックス群(入力不可)に 選択した人の全データを表示する。 ・frm入力 … frm閲覧の[新規登録]ボタンを押すと開くウインドウ。 データ入力用のテキストボックス群があり、frm閲覧で使う人データのテーブルに データを新規登録する。登録処理が終わったら、frm閲覧のリストボックスを Requeryしてから閉じる。 という単純な2枚のフォームなのですが、 frm入力で登録→Requery→閉じる としても、リストボックスが更新されない場合が多いです。 多分、DBが更新される前にRequeryしちゃってんじゃないかと思うのですが、ADOの デーブルからRecordset取得→rs.AddNew→rs!氏名 = txtName→(以下同様に代入)→rs.Update としているのが悪いのでしょうか。 ADOの本しか持っていないので、これしかやりよう無いのですが…。 #それ以外にはクエリで更新するのがあるみたいですが、どっちが早いですか?
279 :
名無しさん@そうだ選挙にいこう :02/10/09 11:26
レポートについて質問です。 一枚に4つのデータを印刷します。 例 1 2 3 4 ↑ 普通にしたらデータの並び順はこうなりますが 2 1 4 3 の並びにデータをいじることなくできるでしょうか? よろしくお願いします。
>>278 frm閲覧がアクティブになったときにリストボックスをリクエリするとか
281 :
名無しさん@そうだ選挙にいこう :02/10/09 14:10
二つのレポートを一度に両面印刷することはできるでしょうか? 例えば 表:Aの1枚目→裏:Bの1枚目 表:Aの2枚目→裏:Bの2枚目 よろしくお願いします
282 :
名無しさん@そうだ選挙にいこう :02/10/09 14:12
全般的に言える事ですが、 まず、重要な事を認識してください。 C言語の習得においては、ポインターと構造体がキーポイントになります。 これらを理解できる人と理解できない人に分けることができます。 理解できない人は、一生かけても理解できません。寿命を500年に延ばしてあげてもも同じです。 データベースについても、同じ事がいえます。 データベースが良く理解できない人は、時間をかけても理解できるようにはなりません。 人間には向き、不向きがあって、向いていない事に時間を費やすのは、まさに時間の無駄なのです。 向いていない事は人に任せて、向いていることを伸ばしましょう!
283 :
名無しさん@そうだ選挙にいこう :02/10/09 14:23
frm入力を開く際、frm閲覧を開いたままにしていたのですが、 これを閉じるようにし、frm入力を閉じるタイミングで開き直すようにしても やはり更新されていません。(frm閲覧は開く時にRequeryがかかります) しかも、今度は、開いたfrm閲覧のリストボックスをクリックすると 「データは変更されています。このレコードに対する変更を保存する前に、 別のユーザーがこのレコードを編集し、変更を保存しています。レコードを再度編集してください。」 というメッセージボックスが開くようになってしまいました。 自分自身が他のユーザとして認識されているみたいっす。。。 やはり、frm閲覧が開いてから、テーブルが更新されているようです。 人の作ったシステムで更新がこんな遅いの見たことないけどなぁ…。
284 :
名無しさん@そうだ選挙にいこう :02/10/09 14:37
久々に来たのですが、なんだか此処もVBAが普及してきたみたいですね。 恐れながら質問です。MSのサイト探し回ってもなかなか答えが見つからない ので、知っている方いたらご教授願います。MSのサイトの技術情報の文書番号 やURLを教えて頂いても結構です。 Access2000でWinME環境のスタンドアロンで動作するアプリを組んでいるのですが、 突然、VBAのプロシージャCALLで「ファイルへのアクセスでエラーが発生しました。 ネットワークへの接続が切断されている可能性があります」とメッセージがでて、 モジュール部すべてが呼び出せなくなってしまいました。バックアップしてあった .mdbを戻せば直りますが、改修を加えているとたまにまた現象が出てしまいます。 .mdbの最適化/修復では直りません。 PCはネットワークに接続はしておますが、すべての.mdbはローカルのディスクに 置いてあります。 知人がMSの技術情報で見かけた気がする(レジストリ書き換えないと直らないとも) と言っていたのですが、ご存じの方いらっしゃいましたらご教授願います。
>>283 frm閲覧がテーブル等への連結フォーム(レコードソースが入っている)だったら、
frm閲覧のフォームの後進の許可とか追加の許可とか削除の許可とか全部falseに
するとか、フォームのレコードセットをスナップショットにするとかでは駄目
ですか? 見当違いだったらスマンソン
更新の遅れはタイマーとかでごまかせないでしょうか?
287 :
名無しさん@そうだ選挙にいこう :02/10/09 14:58
(1) frm入力 (2) frm入力からのADO (3) frm閲覧 それぞれ同じテーブルを開いていて、そこらへんの絡みでないかしらん って、そこまではわかっておられたか…
290 :
名無しさん@そうだ選挙にいこう :02/10/09 17:54
>>285 その辺、触ったことなかったので、スナップショットにしてみたり
いろいろしましたが、やっぱダメです。
あと、間に「お待ち下さい」と書いた、frm更新というフォーム挟んで、そのフォームの
タイマーを3.5秒に設定すると、更新されるようです。(3秒だとダメでした)
こんなダサい対処法しかないのかとヘコみ、いろいろ画策中です。。。
>>289 同じテーブルでやらない方法があるのですか?
どこを閲覧したら良いのでしょうか。
292 :
名無しさん@そうだ選挙にいこう :02/10/09 22:45
>>291 ソース見なきゃ細かいことわかんないよ!
謎解きゲームじゃないんだから、プロトタイプつくるなりして
問題解決の方法探ってから質問したら?
まるっきりの初心者じゃないみたいだし。
レコードセットのオープン/クローズのタイミングとかどうなってるの?
( ´-`).。oO( >292 がイイこと逝ったのよさ ホ〜イのホイ〜 )
294 :
名無しさん@そうだ選挙にいこう :02/10/09 23:42
>>291 ・frm入力を閉じる時に
Forms!frm入力.SetFocus
・frm閲覧「アクティブ時」イベントでリストボックスをrequery
Me.リストボックス名.Requery
でダメかな?
>>292-293 ソース見りゃあ分かるのですか?
>>278 に書いた処理と何ら変わらないのですが…。
とりあえず、frm入力の「新規レコードの追加」処理の擬似ソースを作ってみました。
この後、frm閲覧のリストボックスをRequeryしてウインドウを閉じる処理を行います。
この処理による、テーブル更新の遅延で困っているワケです。
本見て学習中なので、細部の間違いは許して下さい。おながいします。
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim strSQL As String
With cn
.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;" _
& "Data Source=" & CurrentDb.Name
.Open
End With
strSQL = "SELECT * FROM tbl人データ"
Set rs = New ADODB.Recordset
rs.Open strSQL, cn, adOpenStatic, adLockOptimistic
With rs
.AddNew
!氏名 = txtName
''( ゚д゚)<同様に10行ほど代入処理。
.Update
End With
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
改行が多すぎるって…
>>294 今、やってみましたが駄目でした。どうやらRequeryのタイミングの問題ではなく、
物理的にテーブルが更新されていないようです。試しに、遅延時間中に
空にした該当テーブルを元にRecordsetを取得してみましたが、RecordCountはゼロでした…。
297 :
名無しさん@そうだ選挙にいこう :02/10/09 23:55
>>281 プリンタドライバに依存していたと思うので
無理だと思います。
それか、VBスレなどでAPI職人にでも聞いてみるくらいかな。
298 :
名無しさん@そうだ選挙にいこう :02/10/10 00:01
>>295 Requeryは、どういう風に書いてますか?
>>298 なんら不思議なことはしていないと思います。
Forms![frm閲覧]!lstName.Requery
>>296 にも書きましたが、この処理の問題では無い気がします。
300 :
名無しさん@そうだ選挙にいこう :02/10/10 00:17
>>295 こんなんで出来たけどなぁ。
●frm入力
Private Sub cmdUpdate_Click()
On Error GoTo ErrStep
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
rs.Open "t_test", CurrentProject.Connection, adOpenStatic, adLockOptimistic
rs.AddNew
rs!txt = Me.txt
rs.Update
rs.Close: Set rs = Nothing
DoCmd.Close acForm, Me.Name, acSaveNo
Forms!frmlst.SetFocus
Exit Sub
ErrStep:
If rs Is Nothing Then
Else
rs.Close: Set rs = Nothing
End If
MsgBox Err.Description
Exit Sub
End Sub
●frm閲覧
Private Sub Form_Activate()
Me.lst.Requery
End Sub
301 :
名無しさん@そうだ選挙にいこう :02/10/10 00:23
この不景気の中、財布がホクホクです♪
先月は21万、ネットで稼がせて頂きました?。
半信半疑始めたサイトでまさか生活できるとは
思ってなかったから実感があんまりないけど
とにかくうれしい!!!
はっきりいってなめてました
初心者の私もできた
なせばなる?。
諦めないこと?。
お陰さまで
来月ハワイへいってきま〜す
http://plaza15.mbn.or.jp/~u_club/
どなたか
>>284 に答えて頂けないでしょうか....
.mdbが壊れた時の処置として、新規に.mdbを作成し、元mdbもしくは壊れる前の
mdbから全部インポートしてみたのですが、インポートしたモジュール部すべてが
参照不可で、VBA編集画面からも開けなくなってしまいます。標準モジュールや
クラスモジュールは新規に作って元mdbからコピペできますが、Formの部分は
それやると気が遠くなってしまいます。それに何が原因でこうなったのか判らない
と、今後も壊れる可能性があるので心配です。
304 :
名無しさん@そうだ選挙にいこう :02/10/10 08:56
お願いします。困っています。どなたか助けてください(涙) Access2002でSQLserverを使ってソフトを作っています。 メインメニューのボタンをクリックしたらクロス集計を印刷できるように したいのですが、印刷がうまくできません。 ピボットテーブルの形式でクロス集計を作成した後、ピボットテーブルから データアクセスページに形式を変換しました。 ボタンをクリックしたら、データアクセスページの形式で画面に表示される ようになったのですが、A4サイズまでしか印刷ができません。 B4サイズで印刷しないと全体が入らないのですが、A4サイズの枠があって そこから先は切れてしまいます。 どのように設定すればB4サイズで印刷することができるようになるのでしょうか。 長文すみません。 よろしくお願いします。
305 :
名無しさん@そうだ選挙にいこう :02/10/10 09:13
>>304 書き込む前にこれで意味わかるかなぁとか推敲しないのかな?
>>305 大感謝です!!!
さっそくやってみて、なんとかエラーでない状態まで復旧する事が出来ました。
確かにOfficeXPのデベロッパインストールして、直後にアンインストールした
事がありまして、問題が発生しだしたのはその後でした。しかし最初に壊れた
時はインポートとかまったくやってなかったので、根本的な原因は判らない
ですね。取り敢えずまた壊れたらこの方法でやってみます。
ちなみにすべてのモジュール(Form含め)に何らかの修正を加えた上でコンパイル
しました。
308 :
名無しさん@そうだ選挙にいこう :02/10/10 15:18
データーシートビューでテーブルを印刷したら 列名のところがそのまま銀色で印刷されるじゃないですか〜 ここを白くする方法ってないですか?
309 :
名無しさん@そうだ選挙にいこう :02/10/10 18:11
どなたかノースウインドのサンプルの社員一覧(写真が入ってるやつ)をください。
>304 意味が分からん
>>309 AccessのCD-ROMに入ってる。
313 :
名無しさん@そうだ選挙にいこう :02/10/10 23:14
>>304 B4の紙を買って来い!!
って言うのは冗談で
ページ設定して上書き保存しても無理?
Accessの関数なんですけど、ある日付が入ったフィールド(型は数字でも日付でもよい です)から土日祭日を含まない2日分追加した値を計算させて別フィールドに入れたいと 考えています。例 20021011なら 20021016 20021015なら20021017 ExcelでいうところのWORKDAY関数なんですけど、Accessのバージョンが2000とかそれ 以上であれば、こういう関数はあるのでしょうか? もしそうなら買おうか考えてます。 また、別の方法で簡単にこういう計算させることは可能でしょうか? カレンダーの テーブルを作って参照させてから日付計算できそうなのですが、カレンダーのメンテ とかあるから関数のように楽には行かないかとは思うのですが...。 ただ、祭日を計算に考慮させるとなると、やはりカレンダー用テーブルを持つべきか とも思えます。 どなたか似たような処理をされている人がいたら、どう処理した ほうがいいのか レスいただけないでしょうか? よろしくお願いします。
>>314 なんつーか、関数があるなら買うとか言うなボケ。
Weekday関数かなんかで曜日取って、適当にループさせろや。
ExcelもAccessもないだろ、こんなもん。
317 :
名無しさん@そうだ選挙にいこう :02/10/11 21:36
自分で作ったFormじゃなく、Accessの一番外側の枠っていうんでしょうか、 あれをVBAで最大化するにはどうしたら良いでしょうか。 Docmdとかずっと眺めてますが、見つかりません。 もしかして無理っすか?
>>314 カレンダーのテーブルは私もよく作ってます。祭日だけでなく、銀行の営業日や
会社の休み、学校なら夏休み春休みなど、曜日だけでは判断できない特異な日って
必ずありますから。5年程度先まで管理するだけなら、全ての日をテーブルに
保存しておいてもいいかなと思います。日付といくつかの(金融機関休みとか会社
休みとか)フラグ項目ぐらいでいいと思います。このテーブルを直接読む関数を
作ってもいいですし、特異点(平日で休みの日とか)だけを.mdb起動時にパブリック
な配列に読み込んで日付関数と合わせてその配列を参照して判断させる関数にすれば
多少処理が速いかもしれません。
何十年も先までの厳密な利息計算とかだと作るの大変ですが。
>>314 春分・秋分までは自動化するとしてもだ、
なんとかホリデー法で月曜休みが今後も増えるしなぁ、
天皇が改宗してイスラム暦が導入されるかも知れんし。
よくわからないが、マスタメンテ萬歳 ヽ(;´д`)ノ
>>317 起動させるショートカットで最大化させるのでは駄目ですか?
322 :
sakura :02/10/11 22:24
>82 ありがとうございます デフォルトではCドライブの空き容量に依存するってことですね がんばります! >83 ヘルプ、ネットで調べてみたんですがコレといった表記が見つからず こちらでお願いしちゃいました 言葉足らずで誤解を招くような質問でした 以後、気をつけます
>322 だからね、ネットやヘルプ見るより 高くっても自分に合った本を1冊探して買った方が ずっとわかり易いし勉強にもなると思うんだけどなぁ… こんなこと言ってもわかんないか… でも、みんな頑張れ!sakuraもがんばれよ! 俺も毎日自宅で業務用ツールの制作頑張ってるんだぜ
妄想か…可哀想に…
326 :
名無しさん@そうだ選挙にいこう :02/10/12 01:57
>>324 本に載ってることで満足できる
お前程度の頃は楽しかったなぁ
でも、頑張れ!いつか就職したときに
今、作ってる業務用ツールでバリバリ頑張るんだぜ
PS
今、隣でsakuraが「この人、気持ち悪い」と言ってます。
327 :
名無しさん@そうだ選挙にいこう :02/10/12 02:11
2000でアドレス張を作っています。 データ型をOLEオブジェクト型にして写真を格納し、フォームビューでダブルクリックしたらファイルを開いてくれるんですが、 プレビュー表示はされません。そういう機能はないんでしょうか?
328 :
名無しさん@そうだ選挙にいこう :02/10/12 02:13
>>327 サンプルのDB見れ。
意地悪で言ってるんではなくて
見たほうがいいから。
329 :
名無しさん@そうだ選挙にいこう :02/10/12 02:19
イベント管理、スケジュール管理、家計簿、顧客管理、在庫管理、支出管理、資産管理、受注管理、出退勤管理、保守サービス があります。この中に参考になるのがあるんでしょうか?どれも写真使いそうにないですが・・・取りあえず片っ端から見てみます
>>328 ( ´-`).。oO( 胃エーテル )
角の隅の隅まで見れ、ってことだよね。HAGE-Do!
>>329 それじゃなくて「サンプル」だよ ヽ(`Д´)ノ
northwind に写真が載ってんだろ?
サンプルのデータベース見てみたんですが、OLEオブジェクトを使っているのはありませんでした、それとも他の意味でサンプルを見ろという事だったんでしょうか? ちなみに参考書は「超図解ACCESS2000基礎編」と使っています。これには写真などを格納ずるフィールドだと説明しているだけでした。 だれか教えていただければ嬉しいです(^^;よろしくお願いします
>330 あ、そういうことだったんですか、サンプルテーブルの方ですね?
333(^▽^)
サンプルテーずるから写真だけ持ってきてテーブルをフォームで表示させて、画像を格納するとファイル名が表示されるようになりました。 プロパティなどを見ても背景が普通・透明の違いしか見つけれませんでした・・・なにかヒントでも教えてもらえませんか?
ツールボックスのイメージというのを使えば、表示は出来ました。 でも「データ型をOLEオブジェクト型にして写真を格納」という方法は未だにわかりません・・・ サンプルに写真があるということはおそらく可能なんでしょうが・・・もし良ければ方法教えて下さいm(_ _)m
>>335 なにがいいたいのかさっぱりわからん。
実際に社員テーブルに適当なデータでも入れてみなさい。
>336 すみません、説明下手で・・・取りあえずそれは試してみたんですが 実際の画像が表示されずにファイル名が表示されてしまうんです。 そこでなんとか画像を表示できないかな・・・と。 新規で画像ファイルを挿入して、別の画像をコピペして保存するとちゃんと表示されたので、 出来ない事はないハズだと思っているのですが、その方法がわからないので調べています。 自分で読んでも下手な説明ですね、スミマセン
>>327 申し訳ないが、あなたのいってることはさっぱり理解できません。
主語と述語に注意して箇条書きでも良いので順を追って説明しなさい。
できないなら二度と質問しないでください。
339 :
名無しさん@そうだ選挙にいこう :02/10/12 04:00
>>327 先ず、写真をフォームに表示するにあたり
イメージか
連結オブジェクトか
教えてください。
>338 アドレス張に個々の写真を表示したいので、テーブルにOLEオブジェクト型のレコードを作製 ↓ 単票形式のフォームを作成(プロパティは初期設定のまま) ↓ 写真の欄に画像をD&Dすると表示されないorファイル名が表示される こんな感じでよろしいでしょうか・・・ご迷惑をお掛けしてスミマセン >339 イメージ&連結オブジェクトの違いがわからないので今から調べてみます
341 :
名無しさん@そうだ選挙にいこう :02/10/12 04:20
あ、できました・・・ 今までjpgとpngとgifで試していたんですがノースウィンドの写真を調べてみるとbmpだったので、 もしやと思いD&Dしてみると・・・見事に表示されました・・・ 本当に皆様ご迷惑をお掛けしました。ごめんなさいm(_ _)mありがとうございました。
>341 あっ、これと同じ症状です。本当にありがとうございます!\(^o^)/
>314 workdayを使っても結局祭日のリストをつくらにゃいかんし、 メンテの手間は一緒だから自前で関数作りなはれ
>>316 はAccess2000にWorkday関数が無かったとしても
Weekday関数でできるよ、ってことでは?
なんだか自演っぽいので消えます。。。スマソ。
347 :
AC97 user :02/10/12 14:48
みなさん ありがとうございました。
おっしゃるようにWeekdayでもある程度可能かと思いましたが
祭日、夏期休暇、年末休暇の処理がどうしても残っちゃうので
284さん、
>>344 さん、
>>345 さんのいうとおり、可憐だと関数で考えます
どうもでした。
Weekday()でのループ+祭日をテーブルで持つのが最強と。
349 :
名無しさん@そうだ選挙にいこう :02/10/12 21:34
関数なんて自分で作るもんだ
>>349 がいいこと言った。
というか、当然のこと言った。
検索すると、春分秋分を自動計算やるやつがあるけど、やめといた方がいいよね?
>>352 だーかーらー
春分・秋分は、自動計算すべき。
しかし、いちおう人力で前年にチェックもすべき。
(その計算式を採用するという設計および
計算結果が正しいということを確認するということ。)
なぜなら、 現 状 で は この先100年程度 (俺達生きてるか、
次の代でギリギリか、くらいの年月) ならばなんとか計算可能だが、
しかし、閏年の根拠などよりは値が変動しやすいから。
また、日本では前年に政府が決定し発表するものなので、
間違えた値を発表されたらそのまま仕方なく施行される
虞もあるから。
さらにいえば、休日としての春分の日・秋分の日は
せっかく自然現象にそって法制化されているのに、
今後は自然現象とは別の任意の曜日に (たとえば月曜に)
法律で変えられる可能性がわずかながら有るから。
☆ 計算式、実装する際には、丸めの関数や演算子を
間違えやすいから気をつけて。算出結果の数値を
100年分くらい載せてるサイトが在るから、そこのと
照らし合わせるテストを必ずしましょう。
354 :
名無しさん@そうだ選挙にいこう :02/10/12 23:19
毎年、年末の仕事納めの日に投入します。
2002でテーブルにデータを入力するとき項目を移動するたびに日本語入力がONになります。 OFFにしたいのですがどうすればいいでしょうか?
356 :
名無しさん@そうだ選挙にいこう :02/10/13 00:09
359 :
名無しさん@そうだ選挙にいこう :02/10/13 15:31
不一致クエリーウィザードってあるんですけども、単列の比較しかできないじゃ ないですか(あたりまえ?)。それを複数列で不一致クエリーみたいなことってできますか? ある表(A表)に発注NO列と行NO列があって、その2列で主キーです。発注NOと行NOの ある別表(B表)があって、その中にA表には存在しない発注NOと行NOの組み合わせが あるので、それをクエリ処理で抜き出したいんですけど・・・。 今は、B表から、A表にないものを自分でチェックしているのですが、何かよい方法があれば 教えてもらえないでしょうか?
>>359 2列を1列にして比較、その後列を元の2つにわけるっつーのはどうだ?
361 :
ム板浄化委員会 ◆4HBm.6a6tA :02/10/13 16:35
>>359 SELECT [B].[発注NO], [B].[行NO] FROM A RIGHT JOIN B ON ([A].[発注NO]=[B].[発注NO]) AND ([A].[行NO]=[B].[行NO]) WHERE [A].[発注NO] Is Null Or [A].[行NO] Is Null;
>>361 ありがとうございました。OKでした。というかSQLからデザインビューみたら
最初に作ったものと全く同じでした。まったく同じクエリーなのに片方は動作して
片方はあいまいといわれてしまうとは???
もう一回試しにあいまいといわれたクエリのデザインビューからテーブルとかを
一度全部削除してもう一回同じクエリ再作成しても動作しました。最初のクエリが
何かいぢくってるうちにどこか壊れてしまったのかも?
とにかくありがとうございました。
363 :
名無しさん@そうだ選挙にいこう :02/10/13 21:36
>>362 クエリのプロパティも確認するといい事あるかも・・・
詳しく読んでないので
はずしてるかもしれませんが(ワラ
>>362 デザインビューを「みる」ことによって
「まったく同じ」と言い切れる眼力は
寧ろすごい (゚д゚) と思うが、
たぶん見切れていない罠。
てか、同一性の確認については
最初からおとなしく SQL ビューで比較シロや。(;´Д⊂)
365 :
名無しさん@そうだ選挙にいこう :02/10/13 22:50
Access使ってるやつってアホばっかりだな(ワラ
366 :
名無しさん@そうだ選挙にいこう :02/10/13 23:01
>>365 ここは相談所なんだから、まあそう言うなって。
お前が優秀なことはじゅぶん証明されたんだから。
367 :
名無しさん@そうだ選挙にいこう :02/10/13 23:11
MSのAccess2000SR-1を起動すると、Windows Installerが出てきます。 Accessを立ち上げると必ずなんです。 そのInstallerの処理が終わったあとは普通に立ち上がるんですが。 再セットアップしてみても直りませんでした。 どうすれば、この表示をさせなくできますか? OSはWIN98SEです。
セットアップの仕方が悪いんじゃボゲェ 全部入れろ
>>368 チョトワラタ。
なんで男塾みたいな口調なの?
371 :
名無しさん@そうだ選挙にいこう :02/10/14 02:08
>>370 笑うな!彼はいつも
一杯一杯なんだよ!
あー男塾ってあったねぇ。 江田島だっけ?塾長。
373 :
アクセス初心者 :02/10/15 00:28
テーブルのリンクによるネットワーク負荷について教えてください サーバにテーブルを置いて、 クライアントからそのテーブルをリンクしているアクセスのアプリがあります(単純なテーブルリンクです) クライアントアプリの起動時に何らかのやりとりがサーバのテーブルとの間にあると思いますが、 その後はクライアントアプリは起動していますが、何も操作しないとします その時も常にサーバテーブルとやりとりしてネットワークに負荷をかけているのかを教えて欲しいのです。 ※クライアント側のアクセスアプリは非常に単純な物と考えて下さい。 フォームが立ち上がっていて、それはサーバーテーブルの更新照会画面とします そのフォームも直接サーバのテーブルを参照しているわけではなく、 更新照会のアクションを起こした時にサーバのテーブルをアクセスするといった作りです ネットワークの担当者がテーブルのリンクをするだけで、常に回線に負荷をかけていると言っているのです。 私自身はブラウザと同じで、クライアントからなんらかのアクションを起こさない限り、 ネットワークに負荷をかけていないと思うのですが.... 何か定期的に送受信するものなのでしょうか? 明日、本屋でいろいろ調べようと思うのですが、もし分る方がいればご指導下さい その辺の解説の載っているHPのURLを教えて頂けるだけでも結構です、よろしくお願いします
374 :
名無しさん@そうだ選挙にいこう :02/10/15 00:30
>>373 > ネットワークの担当者がテーブルのリンクをするだけで、常に回線に負荷をかけていると言っているのです。
この理由を聞いていないのか?担当者もカンでいってるわけじゃないだろ。
>>373 ネットワークのトラフィックが上がってようには思えないけど、遅くなるのは事実です。
自分もなぜなのか不思議に思っています。
>>373 更新照会のアクションを起こした時にサーバのテーブルをアクセスするだけなら、
わざわざリンクしなくてもいいのでは? もちろんフォームはすべて非連結でなら
ですが。VBと同じ要領で組んでみたらどうでしょうか?
>>367 Office97とOffice2000両方入れてるPCで、97のアプリ使った後、2000の方を
起動すると確かにインストールの画面が出てました。あまり気にならないと
思いますが...
>>376 横槍を入れて申し訳ないけど・・・
更新照会だけならともかく、リストボックス等、ACCESSの機能が使いづらくなりますね。
それから、以前実験してみて思ったのですが、DBへの接続って意外と時間が掛かりますね。
(10Mbpsのネットワークでたかがこの処理になんで?って思うんですけどね)
良く分からないので自分はSQL Server(MSDE)+ACCESSで組んでいます。
<(([forms]![入金伝票]![テキストA]),([forms]![入金伝票]![テキストB]),[forms]![入金伝票]![テキストC]) これで構文エラーが出る・・。 なんでだろ?
380 :
名無しさん@そうだ選挙にいこう :02/10/15 11:06
こんな事できるのかわからないけど……。 Databade1.mdb にある、Form1 というフォームの状態をテーブルなどに 格納された情報ではなくフォームの状態そのものの情報を Databese2.mdb から、参照させることはできませんでしょうか? また、DataBase2にあるボタンを押したタイミングで、 DataBase1.mdb にある Form1 というフォームのTextbox1 という テキストボックスにDataBase2.mdb から、メッセージを書き込ませる方法 は何かありませんでしょうか? DataBase2にあるボタンを押したタイミングで、DataBase1.mbdの ウィンドウハンドルを取得してアクティブにさせて、SendKeys関数で、 メッセージを転送しても、その前後に別の操作が入ると誤動作してしまうので 直接指定のフィールドをそうさしたいのですが何か方法は御座いませんでしょうか? P.S.使用しているAccessは2002です。 Win32API使用でもかまいません。 どうか宜しくお願い致します。
>>381 mdbを一度に2つ開けるのか?
無理だろ、やり方教えれ
異なるアプリとしてならば開くことできるでしょ?
>>383 どうすれば2つ開けるんですか?
やり方教えて下さい。
385 :
名無しさん@そうだ選挙にいこう :02/10/15 18:22
>>381 難しそうだね。
なぜそういう処理が必要なのか気になる。
駄レスすまそ。
>>381 VBA で Win32API 駆使すればできると思うけど、素直に VB でロジック組んで、Database1.mdb と Database2.mdb を参照/更新するようにした方がいいと思う。
>>384 1つのAccess上に2つのmdbは開けないです。
2つAccessを起動すれば出来るでしょ?
>>385 誰かが作った、セキュリティでガチガチに固められたmdbファイル。
使い勝手が悪いのでフォームのレイアウトや支援ツールを同じmdbに
組み込もうにも権限がないだので変更するにも保存も出来ないファイルが
提供された。もしかしたらmdeになってしまうかもしれないので
外部から操作する必要性が出てきました。
>>386 VBAにこだわる理由は特にないです。元のファイルがmdbなので、同じAccessの
アプリならAccess同士で何か情報のやりとりとか出来ないかな?っと、思っただけです。
VBで、組んでも、Windowハンドルの取得やそのハンドルへの操作は出来るけど、
そのハンドルの中の特定のコントロールを指定する方法が分かりません。
宜しければご教授宜しくお願い致します。
>>387 >セキュリティでガチガチ
にワラタ。
提供されて動きが分かるなら、同じものも作れんでしょ。
新たに作った方が早いと思われ。
>>388 最適化した状態で10MBもあるmdbファイルとてもじゃないが作れません。
何か手段無いでしょうか?
390 :
名無しさん@そうだ選挙にいこう :02/10/15 21:25
>誰かが作った、セキュリティでガチガチに固められたmdbファイル。 誰が作ったんだよ。ダウンしたアクセスアプリがクラックできません って正直に言えよ。
>>390 企業ならあるよ、そんくらいの。
うちの会社にもAcc95で作ってある13MBのファイルがサーバに入ってて
使いやすい仕様なんで今も使われてるよ。
>>389 作った人には連絡取れないの?
古株の人なら、連絡くらいとれる気がするが。
>>389 一番簡単な手段があるのになぜここに聞く?
セキュリティーはずせよ。
掛けた人なら解るはずだよ。連絡すればよし!
395 :
お前、論理回路が狂ってんの? :02/10/15 21:43
>>392 >企業ならあるよ、そんくらいの。
は?ヴァカ?当たり前だろ。
>>392 >誰が作ったんだよ。
>企業ならあるよ、そんくらいの。
何か変なレス。
結局、サイズがデカいのがテーブルなんだろ。 外部のmdbからインポートしてこれないのかな。 フォームは自分で作る、と。
>>389 > 最適化した状態で10MBもあるmdbファイルとてもじゃないが作れません。
10MB ったって、ほとんどデータじゃないの ?
テーブル仕様書とかないの ?
フォームの内容は見れないの ?
そもそも...
> フォームのレイアウトや支援ツールを同じ mdb に組み込もうにも権限がないだので変更するにも保存も出来ないファイルが提供された。
と言う状態で、
> また、DataBase2にあるボタンを押したタイミングで、
を実現するのは、かなり困難だと思うよ。
使いにくいと言ってるからには、大体動きはわかっているんだから、
>>388 の言うように作り直した方がいいと思う。
399 :
名無しさん@そうだ選挙にいこう :02/10/15 21:55
引っ張ってるみたいなので一応マジレス。
>>389 ファイル共有のJetでがちがちのセキュリティなんてありえないでしょ。
データベースのファイルとしては「10MBも」ではありません。
「たかが10MB程度」です。
基本的なことから勉強しなおしたほうがよいのでは?
テーブル無くてもmdbが大きくなることはあるよ。今俺が作ってるのはフォームと モジュールだけで8MBある。
>>399 389はMDBの中はデータよりVBAコードやフォームオブジェクト
が多いと思っているらしい。うちはテーブル1つで40Mとかあるぞ。
MDB使うのは良くないが......
コーディングの履歴が残ってんじゃないの? 最適化じゃ治らないと思うが。
>>400 興味あるな。どんな仕様なの?
何のシステム?
>>407 役所で使う、利子補給とか預託とかのシステム。
>>400 ( ´-`).。oO( オタンコ! 「最適化」シロや )
>>398 >テーブル仕様書とかないの ?
てか、DAO とかでテーブルの結果セット採れたら
それでイチコロだよねー。テブールの仕様がまるごと判るし。
410 :
名無しさん@そうだ選挙にいこう :02/10/15 22:17
>>381 テーブルのテーブル自体またはデータはエクスポートできますか? できるなら
やっぱ作り直した方が早そうですね。参考にならなくてすまそ
>>409 最適化して8Mなんだが...やっぱ日次、月次、年次、マスタメンテなどで
mdb分けた方がいいのかな...
>>411 別に分けなくて良いと思うけど、8Mは行き過ぎな気がする。
処理の効率化しる。
無駄に別窓開いたりしてんじゃないのか?
アクセスで作ってある確定申告のシステムもでかいよ。
(
>>400 はオブジェクト指向には逝けなさそうだな。)
>>400 フォームに絵とかをべたべた貼ってんじないの ?
(もしくは、なんかクリックしたら喋るとか、おねーちゃんがお辞儀するとか...。)
どうせビジュアル重視で素人にスゲーとか言われたいだけだろ。 処理速度重視の方がスゲーっつの。
>>412 確かに、古い旅館が増改築を重ねて迷路のようになてしまったような
システムではあります...今は2000ですが最初はV1.1だった...
>>416 > 処理速度重視の方がスゲーっつの。
それは、それで単純すぎる。
使ってもらえるシステムとしては、ビジュアルも結構重要。
>>417 > 今は2000ですが最初はV1.1だった
この情報から得られるのは、少なくとも2つのバージョンがあることだけだ。
そんなことを言いたいわけじゃないんだろ。
419 :
名無しさん@そうだ選挙にいこう :02/10/16 00:18
>>416 速度重視の設計って誰にでもできるんだよね。
先人の模倣でしかないし。
>>418 「古い旅館が増改築」にワラタて言え (゚д゚)
推して知るべし。 マズー(゚,Д,゚)
ギシギシ鳴く渡り廊下が迷走してんのな。
仲居さんがメシとか熱燗とか持って右往左往。
大風呂目当ての数多の客が迷ってぐるぐる。
421 :
名無しさん@そうだ選挙にいこう :02/10/16 01:03
スタンドアロンを前提として バージョンアップなどを考えて通常はテーブルをリンク形式にするけど プログラム側はレポートにちょいと重めを貼り付けても5メガまでを目標値。 データはマスターテーブルによほどのものがなければ 蓄積型は10メガ突破には2年超かかるし... いよいよ重くなればそん時考える!! リンクテーブルで逃げるならこの辺が妥当なところだと思うのですが 皆さんいかがでしょう?
422 :
名無しさん@そうだ選挙にいこう :02/10/16 07:19
お馬鹿な質問ですんません アクセス2000です。 連結フォームでフォームヲデータ追加モードで開いた場合、登録せずに終了させても データが保存されているんですが、保存させないようにする方法はないでしょうか? 尚、登録はボタンを作成してそれで登録させています。
423 :
名無しさん@そうだ選挙にいこう :02/10/16 08:51
undo
>>397 はじめはそうしてました。でも、
よく、改版かかるので、その度にやってられません。
>>398 >10MB ったって、ほとんどデータじゃないの ?
テーブルの情報はほとんどありません。
モジュール、フォーム、レポートがほとんどです。
クエリーは、モジュールに含まれるので空です。
>>399 >ファイル共有のJetでがちがちのセキュリティなんてありえないでしょ。
クライアント側DBファイルです。サーバー側情報はSQLを返しているようです。
サーバー側のシステムは、知りません。
>「たかが10MB程度」です。
されど10MB。(^^;
-----------------------------------------------------
けれど、サーバー側のシステムを論点としていません。
他プログラムからデータを特定フィールドに伝送できるか
また、その方法を論点としたいのですが?
無理ならいいです。今までありがとう御座いました。
普段から「考えるだけ」で相手に言いたいことが伝わるびっくり人間たち
>>12 ,83,131,154,381
このスレのヒーロー
>>22
426 :
名無しさん@そうだ選挙にいこう :02/10/16 14:53
ACCESS2000で質問です。 フォームを開くときにサブフォームにフィルタをかけるには どこに何を書けばよいのでしょう? 普通のフォームはマクロの「フォームを開く」のWhere条件式で絞り込んでいるような 私でもできるような方法をどなたかご教授ください。 よろしくお願いします。
>>425 次スレのサブタイトルは
「22さんありがとう!」
だな。
初心者もあれぐらい腰が低ければ、上級者が気持ちよく教えられるといういい例。
数えたら(暇人...)8回もお礼をしていたよ。
>>426 親フォームに貼り付けたサブフォームのコントロール名をAAAとして
サブフォームに連結されたテーブルorクエリのA_ID=1のレコードのみ
表示したい場合。
ついでにA_SORT昇順,A_DATE降順で並べ替えたい場合
親フォームのVBAで
Private Sub Form_Load()
'フィルタ
Me.AAA.Form.Filter = "A_ID=1"
Me.AAA.Form.FilterOn = True
'並べ替え
Me.AAA.Form.OrderBy = "A_SORT, A_DATE DESC"
Me.AAA.Form.OrderByOn = True
End Sub
ちなみにフォーム開くときだけでなく、どこでやってもいいですよ。コマンドボタンに
組み込んでもいいし。
>>428 補足
Form_Load()は親フォームのフォームのプロパティシートの読み込み時です。
ここの右の欄外ボタンをクリックしてコードビルダを選択すると表示されます。
この方法だとサブフォームのプロパティにフィルタと並べ替えが残ってしまいます
ので、他のフォームで共有してたりしてまずいなら、読み込み解除時に
Private Sub Form_Unload(Cancel As Integer)
Me.AAA.Form.Filter = ""
Me.AAA.Form.OrderBy = ""
Me.AAA.Form.FilterOn = False
Me.AAA.Form.OrderByOn = False
End Sub
とするとよいと思います。
初めてなんですがよろしくおねがいします。 ふりがなについてなんですが、新規入力の時は書式の「ふりがな」のところで設定できるのはわかったのですが、 既存のデータに対して、一括でふりがなを振ることはできないかとおもってます。 たとえばaccessなどで作成したテーブルのデータをexcelに出力してそれに対してふりがなを一括してふりたいのですが。 なにかよい方法があればよろしくおねがいします
431 :
名無しさん@そうだ選挙にいこう :02/10/16 18:03
ムリです。 ダメです。
432 :
名無しさん@そうだ選挙にいこう :02/10/16 18:10
>>430 Excelを使う方法は初心者には技術的にハードルが高い上、説明も大変。
加えて、Excelのふりがな機能は常に正しい解釈ができる訳ではなく、
実用には耐えられない。
精度の高いフリガナ変換を行うには、膨大な対応辞書を作るぐらいしか
手段はないと思う。
いずれにせよ、コストパフォーマンスがよくないので、アルバイトの
パンチャーを雇って手作業で処理した方が無難。
>>432 > コストパフォーマンスがよくないので
現実的なコストパフォーマンスではないので
>>430 私なりのやり方途中まで書いていて、間違ってリロードして消えてしまいました...
前提条件として、データ件数と対象となるフィールド(氏名とか)は何ですか?
>>430 対象が氏名なら、氏と名にデータを分離して、それぞれで重複を取り除いた上で
手入力でそれぞれのフリガナを入れ、氏と名のフリガナをくっつけた物と元の
漢字氏名の対応テーブルを作って更新クエリで元のデータテーブルへふりがなを
付け込むという手法を私なら取ります。
この手のデータメンテって、結構いいトレーニングになりますよ。
>>284 さん、細かいところまでご親切にありがとうございます。
お蔭様で出来ました。VBAは初体験で怖かったのですが、便利なのが分ったので
勉強したいと思います。
また何かありましたらよろしくお願いします。
437 :
名無しさん@そうだ選挙にいこう :02/10/16 20:06
>>426 リンク親フィールド、子フィールドを確認
>>429 私はよくDocmd.closeでacSaveNoを使います。
レコードへの変更は保存されるが
フォーム(filterなどのプロパティ)への変更は保存されない。
話がそれた。スマソ
438 :
名無しさん@そうだ選挙にいこう :02/10/16 20:09
>>421 DBのサイズなんて何作るかで変わるだろ。
まあ、動作が重くなるくらいなら、多数mdb使うな。 見た目しょぼくても処理軽くないと大概文句出るし。 確かに軽くするにこしたことないとは思う。
440 :
お願いします。 :02/10/17 09:29
Excelでメールのアドレスを入力すると 青くなってリンクが張れますが、アクセスのテーブルでも 同じようにするにはどうしたらよいですか?
441 :
名無しさん@そうだ選挙にいこう :02/10/17 09:48
>>440 1.データ型を「ハイパーリンク型」にする。
2.テーブルをデータシートで開き、同フィールドを選択して、
3.「挿入」メニュー → 「ハイパーリンク」
4. 「ハイパーリンクの挿入」ダイアログで、リンク先に"電子メールアドレス"を指定
5. 「電子メールアドレス」、「表示文字列」を入力して「OK」
442 :
名無しさん@そうだ選挙にいこう :02/10/17 10:59
>>440 フォーム上でクリックしてメールを起動させるには・・・
>>441 さんに補足
書き込まれたフィールドをF2キーで見るとわかるように
mailto:**@**.**#mailto:**@**.**# になります。
これをフォームのテキストボックスで打ち込むのはウザイので
適当にVBAでも組んでください。
さすれば、
>>441 さんの4.5は不要になりまつ..
443 :
??????? :02/10/17 13:16
>>441 >>442 やってみたのですが、フィールドを選択して挿入メニューをクリックしても
「ハイパーリンク」が指定できません。(なんというんでしょう、字が黒く
ならない・・・。)
444 :
マツボックリ :02/10/17 13:45
1日毎の集計で 縦軸と横軸をそれぞれ記入して、 縦軸と横軸とをそれぞれ合計する簡単な方法ってありますか? □A B C /合計 11A 1B 1C/1計 22A 2B 2C/2計 33A 3B 3C/3計 ■A計B計C計/計 今は、全てにフィールドを割り当てて(15項目X10項目)、 フォームに数字を打ち込むと合計を自動計算、 レポート用にクエリでもう一度計算させてそれぞれを表示、とやってましたが、 この表を組み込んだ日誌のレポートを作ろうとすると、 「フィールドが多すぎてレポートが作れません」と出て困っています。
445 :
名無しさん@そうだ選挙にいこう :02/10/17 14:02
パールで作ったCGIファイルをアクセスで開く(実行する) 事ってできますでしょうか? 教えていただけると助かります。
448 :
名無しさん@そうだ選挙にいこう :02/10/17 15:17
>>443 フィールドを選択するのではなく、フォーカスを置くといこと。
カーソルを点滅させ、入力可能状態にするってこと。
449 :
??????? :02/10/17 17:27
>>445 >>448 やっぱりできないです〜。ウィザードが起動したり、はたまた
「インターネットサーバーまたはプロキシーサーバが見つかりません」
とメッセージが出るんです。(; ;)
450 :
名無しさん@そうだ選挙にいこう :02/10/17 17:38
>>449 だからぁ............
>>441 さんの 3〜5はやったのか?
そのエラーはリンク先が「ファイル、Webページ」に指定されたときに出るんだよ。
451 :
名無しさん@そうだ選挙にいこう :02/10/17 18:58
>>449 一度↓をそのままコピーしてハイパーリンクが設定されているフィールドの
任意のレコードに貼り付けてみましょう。
mailto:**@**.**#mailto:**@**.**#
貼り付けたら、そのレコードを左クリックしてみる!
「インターネットサーバーまたはプロキシーサーバが見つかりません」のエラーは
http://**@**.**のように 、450さんが指摘されているWebページになっていると思われ。
452 :
名無しさん@そうだ選挙にいこう :02/10/17 21:38
そして、ちゃんと出来たら「22さん!ありがとう!」と 御礼を忘れないように。
ACCESS2000にて フォームからレコードを印刷する際に 複数に渡るレコードを、用紙1枚に対して1レコードのみしか印刷させないように強制する方法って ないでしょうか? つまり、レコードが30件あれば必ず用紙を30枚使うようにし 全て同じ余白スペースで出力されるようにしたいということです。
455 :
名無しさん@そうだ選挙にいこう :02/10/18 12:18
>>454 フォームの詳細セクションの「改ページ」プロパティで、"カレント セクションの前"に設定する。
>>455 うまくいきました。
ありがとうございます!
458 :
名無しさん@そうだ選挙にいこう :02/10/18 14:58
登録者テーブルからアダチさん以外を削除したいのですが、 DELETE * FROM tbl登録者 WHERE コード NOT IN (SELECT コード FROM tbl登録者 WHERE フリガナ LIKE '*アダチ*') ↑このSQLをクエリのSQLビューに入力して実行すると、思った通りアダチさんだけが残るのに、 コード内で、 strSQL = "DELETE * FROM tbl登録者 WHERE コード NOT IN (SELECT コード FROM tbl登録者 WHERE フリガナ LIKE '*アダチ*')" Set rs = cn.Execute(strSQL) とすると、なぜか全件消えてしまいます。さっぱり分からないです。 何か間違ってますでしょうか。 環境はAcc97、ADO接続してます。
>>450 3の時に、挿入→ハイパーリンクのハイパーリンクの文字が黒く反転しない
のです…。(つまり、クリックできない。。。)
>>451 mailto:もやってみましたら、ウィザードが起動して、「アドレス入力して」とか
メッセージが出てきて、わけわかめです。。。
460 :
名無しさん@そうだ選挙にいこう :02/10/18 15:59
>>458 DELETE * FROM tbl登録者 WHERE ((フリガナ NOT LIKE '*アダチ*') OR (フリガナ IS NULL))
じゃダメ?
461 :
名無しさん@そうだ選挙にいこう :02/10/18 16:37
>>459 新しいテーブルでも一個作って実験してみて..
●デザインビューで
フィールド名 データ型
-----------------------------------
ID オートナンバー型
メール ハイーパーリンク型
●続いてデータシートビューで
メール欄に↓の一行をすべて貼り付け
mailto:**@**.**#mailto:**@**.**#
>>461 色々ありがとうございます。やってみます。
463 :
名無しさん@そうだ選挙にいこう :02/10/18 19:06
データ入力のシステムをフォームで作って、エンドユーザに配布して、 そのエンドユーザから、テーブルを隠蔽する方法をご存知でしょうか。 shiftキーを押しながら開くとテーブルが見えてしまうのですが、 これを出来なくする方法ありますでしょうか。
>>463 ヘルプでAllowBypassKeyを調べてね
465 :
名無しさん@そうだ選挙にいこう :02/10/19 02:01
>>463 テーブル名を右クリックして
隠しオブジェクトにするのも結構使えるよ。規模にもよりますが。
開発者はオプション設定で
隠しオブジェクトが表示できます
466 :
名無しさん@そうだ選挙にいこう :02/10/19 16:48
以前お世話になりました。フォームにイメージを貼り付けるという件です。 あれからずーっとやっているのですが、どうしてもできません。 On Error Resume Next Me.生徒顔写真 = "C:\MyDocuments\My Pictures\" & Me![生徒ID] & ".bmp " [イメージ38].Picture = Me![生徒顔写真] これで、エラーは起こらないのですが、写真が表示されません。 テーブルには、 生徒ID テキスト型 生徒氏名 テキスト型 保護者氏名 テキスト型 生徒住所 テキスト型 生徒顔写真 OLEオブジェクト 生年月日 日付時刻型 住所 テキスト型 フォームは単票形式オートフォームで作成し イメージを貼り付けるところは、イメージを一度はりつけ、リンクをなしにしてあります。 表示したい写真の名前はそれぞれ、0001.bmp〜 という風にしてあります。 よろしくおねがいします
>>466 です。
テーブルをのところにはバイナリデータというのが格納されてました。
これをクリックすると、ActiveXコントロールでエラーが発生しました。OLEサーバーを終了して
再度同じ手順で行ってくださいと出ました。
これが原因でしょうか?
>>466 エラーが怒らないんじゃなくて、
エラーが起こってもシカトされてんのよ。 ・゚・(ノД`)・゚・。
「On Error Resume Next 」 って書いてあるべ。
エラーメッセージを表示させないと
エラーの原因が分からないでしょ。
自分でエラー処理の部分を(理解しつつ)書けないなら、
「On Error Resume Next」なんて書いちゃだめだよ。
>>468 ありがとうございます。エラーを表示させたら、実行時エラー2220
ファイルC:\MyDocuments\My Pictures\0001.bmpを開くことができませんと出ました。
で、[イメージ38].Picture = Me![生徒顔写真] ここで止まってます。
470 :
arara :02/10/19 18:38
はじめまして。宜しくお願いします。 画面のコピーは、"Print screen"で、できるのですが、画面の一部だけを切り取ってコピーする時はどうすればいいのでしょうか?
471 :
名無しさん@そうだ選挙にいこう :02/10/19 18:47
>>469 「MyDocuments」って、コピペ投稿失敗なのかなぁ。
それともマジで
「MyDocuments」なのかな?
「My Documents」みたいじゃなくて?
>>470 適当なグラフィックソフト使えや。ペイントでもできるぞ。
で、これが Access と何の関係があるんだ ?
>>460 ナンダカンダで遅レスですみません。
それでも結果は同じ(クエリのSQLビューでは○、コード上では×)でした。
何が悪いのかさっぱり分かりません…。
誰か…。
475 :
名無しさん@そうだ選挙にいこう :02/10/19 21:38
>>469 >>472 さんのおっしゃるとおり My Documents です。
板にはこのようになっていますが、いつぞやうpしたファイルは
My Documentsとなっているはずです。
On Error Resume Next は最終レコードに到達し、次を開こうとして時に
出るエラーを回避するためにつけただけです。
この辺は自分でVBAを考えて処理してください。
すみません、天然でした。 コード内でワイルドカード文字が「%」なのを忘れてました。 スレ汚しスマソです。
477 :
arara :02/10/20 01:29
>>471 さん
すいません。GetDCの意味がわかりません。
どういう意味なんでしょう?どうすればいいんですか?
>>473 さん
Accessの画面を切り取りたかったので、ここで聞いたんですけど、
こんなことここで、聞いたらダメなんですか?
478 :
名無しさん@そうだ選挙にいこう :02/10/20 01:54
>>477 ALT + PrintScreen でウィンドウのコピーがとれるから
あとはグラフィックソフトなど使ってやれ。
まったくAccessとは関係ない質問だ。
一回でも検索したのでせうか
480 :
名無しさん@そうだ選挙にいこう :02/10/20 02:46
>>472 >>475 ありがとうございます。変更してみましたが、やはりダメでした。
どうしても[イメージ38].Picture = Me.[生徒顔写真] ここで止まります。
エラーナンバーは一緒です。
やめちまえ
483 :
名無しさん@そうだ選挙にいこう :02/10/20 03:11
>>480 466のモジュールで変な個所は
Me.生徒顔写真 = "C:\MyDocuments\My Pictures\" & Me![生徒ID] & ".bmp "
↑空白なし ↑空白あり
My Documents
".bmp"
484 :
名無しさん@そうだ選挙にいこう :02/10/20 03:18
上を書いたアフォです ↑空白なし↑空白あり の位置がおもいっきりずれています。 Me.生徒顔写真 = "C:\My Documents\My Pictures\" & Me![生徒ID] & ".bmp"
485 :
arara :02/10/20 08:10
>>478 グラフィックソフトで切り取りできました。ありがとう。
486 :
名無しさん@そうだ選挙にいこう :02/10/20 11:32
>>484 ありがとうございます。止まる箇所は次のポイントなのですが、
そこに異常があるととまってしまうものなのでしょうか?
>>475 >On Error Resume Next は最終レコードに到達し、次を開こうとして時に
>出るエラーを回避するためにつけただけです。
>この辺は自分でVBAを考えて処理してください。
(;゚д゚) ハァ?
「ために〜だけ」だったら、その行に「On Error Resume Next」書いちゃ
だめだぞ。
そこ(またはそこより上、ただし同じプロシージャの中)に
「On Error GoTo hogehoge」 を書くんだ。
そして、プロシージャの最下部あたり(End Function とかの前)に
hogehoge:
If Err.Number = なんとか Then '「ために〜だけ」
Resume Next
End If
とか、書くんだぞ。
そういうのは、入門書にもちゃんと載ってるべ?
> この辺は自分でVBAを考えて処理してください。
なんて言って、自分の不甲斐なさをごまかしていると、
キミは自分でVBAを考えないで処理しつづけてしまうぞ。
>>486 惜しいな。
ヘルプがちょっと見づらかった。
(HTMLファイルで説明書同梱。これは紙に
印刷しちゃったほうがいいです)
あと、画面が広くないと作業が困難です。ヽ(;´д`)ノ
1024×768 あればOKみたいだけど。
俺のサブノートじゃ難しかったです。(´・ω・`)ショボーン
とにかく、最初にマニュアルを印刷して、
じゅうぶんに(小一時間?)終了・起動とか保存とか
試しまくってから使ってください。
俺は、自分じゃ使うのイヤなソフトだな。
テーブルのデザインを見たら、烈しく厨房的だったので。
490 :
名無しさん@そうだ選挙にいこう :02/10/20 14:14
Windows2000Pro で Access97は使えますか?(問題なく) WindowsのサイトHPを見ても、Access2002しかもう載っていません。
追加 Adminユーザーで使ってね
493 :
名無しさん@そうだ選挙にいこう :02/10/20 16:31
>475,488 >最終レコードに到達し、次に開こうとして出るエラー 最後のレコードの写真を開いた後、また次のレコードを開こうとして 「もう開くレコードがないよ!」って言ってるんでしょ? そう言う時のためにDo…Loop、For…Nextがあるんじゃない? 488さんの方法でエラーを回避する方法もあるけど、 Do…Loop、For…Nextのやり方もあるよ。 この辺は参考書なんかで調べてね。 ちなみに最初にlngX=Dcount("id","[テーブル名]")で レコード数を調べておいた方が楽だと思う。 ループのやり方で「次のレコードがなかったら…」と言うような条件付けの方法もあるけど。 私はよく下記の方法を使ってます。 intCountX=0 intDcount=Dcount("id","[テーブル名]") Do Until intCountX=intDcount 内容 Loop
↑ごめんなさい。 ちゃんと見てなかった…475さんは質問者さんじゃなかったんですね。 すみませんでした、見当違いなこと言って。 質問の本題から外れてました。
495 :
Tommy :02/10/20 16:44
Access2000で在庫管理のシステムを作成しています。2台のPCでデータの 共有をするためWin2000のPCとWin95のPCをLANで接続し、在庫管理システム はWin2000のPCに入れました。 両PCを立ち上げ、Win2000側の在庫管理システムを起動した後、Win95から Win2000内の同システムを起動しようとすると次のような注意が表示され、 開けません。 マシン'YS-PX'のユーザー'Admin'がデータベースを開けない状態、または ロックできない状態にしています。 YS-PXはWin2000のコンピュータ名です。 参考まで[ツール]ー[オプション]の詳細設定は「既定の開くモード」は 共有モード、「既定のレコードロック」は編集済みレコード、が選択され 「レコードレベルでロックして開く」にチェックが入っています。 この症状はいつもではなく、両PCでうまく開くときもあるのです。 どうしたら常に安定して開くようにできるのでしょうか。どなたかお分かり の方、いらっしゃいましたらアドバイスいただけないでしょうか。 よろしくお願い致します。
496 :
名無しさん@そうだ選挙にいこう :02/10/20 18:31
>>492 >Adminユーザーで使ってね
コレの意味がよく解らないのですが・・
>>496 ユーザー権限がAdministratorって事だよ
498 :
名無しさん@そうだ選挙にいこう :02/10/20 19:11
>>497 なるほど略していたのですね。 了解しました
499 :
名無しさん@そうだ選挙にいこう :02/10/20 19:12
>>486 本当に仕事で使うには不十分。
月に5,6枚とかの人なら良いかも。
500 :
名無しさん@そうだ選挙にいこう :02/10/20 19:26
>>499 一日2〜3枚ですが・・ 厳しいでしょうか? エクセルやAccessやファイルメーカーProどれも
完全超初心者です。
それで、ベクターHPで見つけたのです。 コレなら使えるカナと・・
たまたま見つけて、使うソフトがAccessだったわけです。
Accessソフトは購入しないといけませんが。
>月に5,6枚とかの人なら良いかも。
どんどんファイル保存していけばよい、ということではないのでしょうか?
501 :
名無しさん@そうだ選挙にいこう :02/10/20 19:28
>>499 書き忘れました。 仕事で使うといっても、用途は自営業(工務店)です。
>>500 毎日2,3枚作るなら、もっときちんとしたものを使ったほうがよい。
>どんどんファイル保存していけばよい、ということではないのでしょうか?
常用するには使い勝手が悪すぎる。
試用したが、3枚目作ってるときにいやになってあぼーんした。
503 :
名無しさん@そうだ選挙にいこう :02/10/20 19:53
>>502 きちんとしたものだと、なんだか難しそう・・・。
>試用したが、3枚目作ってるときにいやになってあぼーんした。
まだAccess購入していないので、ダウンロードしたのを使えないのですが、
そんなに、使えない物なのですか?
簡単に、しかもできればフリーで、Exl、Accessで、きちんと使えるのは知りませんか?
(Exl97はもっています)ていうかOS2000で使えるかどうか・・ インストールしているだけです。
>>503 >きちんとしたものだと、なんだか難しそう・・・。
いや、この場合は、殊にこの場合は、
きみにも俺にもヤツにも使い易い、
よく考えて作られた、人に優しい「きちんとした」ソフトが欲しい
…っていうことさ。
505 :
名無しさん@そうだ選挙にいこう :02/10/20 21:05
>>504 つまり、使えないのですか?
でも人気あるみたいですよ、5位以内に入っているみたいです。
Access使いこなせる人からみたら、バカにたいなソフトなのでしょうか?
506 :
名無しさん@そうだ選挙にいこう :02/10/20 21:31
>>505 君もくどいね。
はっきり言うよ。
使えない。
満足か?
>>506 ( ´∀`)σ)´∀`)プニプニ
>>505 むしろ逆。
Access 使いこなせない人から見たら、
(`ε´).。oO( シロトだと思てバカにすなよ (゚д゚)ゴルァ!! )
って感じになるので、お薦めできないっつーことです。
はっきり言うよ。
使えない。
満足しろよ ヽ(`Д´)ノ
508 :
名無しさん@そうだ選挙にいこう :02/10/20 23:37
>>507 ますます解りにくい・・です。
使えるが
>(`ε´).。oO( シロトだと思てバカにすなよ (゚д゚)ゴルァ!! )
って感じになるなら、それは個人の「感性」の問題ですよね?
しかしコノソフトを動かすのはAccessです。 わざわざAccsee購入して
コレは使えんわ!! ではもったいないですね。
一日3〜4枚の見積書と請求書 では どのようにつかえないのでしょうか。
幼稚園児が使うママゴト道具では、毎日の料理は作れない位、使えないのですか?
>>508 ウザイ。
ここ見てるやつは使えないと思った。
オマエガ使うかどうかは個人の問題でそこまで関与する気はない。
使いたければ使いなさい。
510 :
名無しさん@そうだ選挙にいこう :02/10/21 00:34
肉体労働者には無理
>それは個人の「感性」問題ですよね? と思うならば、やはり使ってみるしかないのでは? >わざわざAccess購入してコレは使えんわ!! ではもったいないですね。 だったら、Accessははなから諦めて論外とし手持ちのソフトで動き、 自分が「コレなら何とか使える」と思うものを探して試すしかないでしょうね。 もしかしたら、他の人は「使えない」と思っても、 あなたにとっては充分満足するようなものがあるかもしれないし。 あるいは手持ちのソフトのテンプレート集を使えば、 そのソフトの本を買って自分でカスタマイズする程度の労力で済むかも知れないし。 そう言う意味では、ダウンロードして試していろいろ探して頑張ってください。
512 :
名無しさん@そうだ選挙にいこう :02/10/21 03:33
>>508 Access 使いこなせない人から見たら、
(`ε´).。oO( シロトだと思てバカにすなよ )
Access 使いこなせる人から見たら、
(`ε´).。oO( 見かけで繕ってごまかすなよ )
基本がナってないソフトなので、胸を張って配布する事自体が
不謹慎だなぁ、と思った次第。
>>513 俺はあのテーブル構造のいい加減さ(?)を見て逆に半分感心したよ。
残りの半分はこの程度で済むような見積書なら苦労しねぇなと思った。
515 :
名無しさん@そうだ選挙にいこう :02/10/21 12:48
516 :
名無しさん@そうだ選挙にいこう :02/10/21 14:27
どなたか教えて下さい。 表形式のサブフォームのあるフォームを作りました。 サブフォーム内で、最終レコードの最終項目でTABキーを押しても 最終レコードの最初のフィールドに戻ってしまいます。 最終レコードの最終項目でTABキー(キーボードであれば何でもいいです) を押したときにメインフォームに戻るにはどうすればよいのでしょう。 サブフォームは削除・追加は不可にしています。 ACCESS2000を98SEで動かしています。 よろしくお願いします。
517 :
名無しさん@そうだ選挙にいこう :02/10/21 16:18
Ctrl+Tab
518 :
名無しさん@そうだ選挙にいこう :02/10/21 16:32
>513 見積書Tableの項目が・・・正規化されてないようです 後々、すごく苦労しそうな予感 でも、見た目のフォームはかっこいいね
ファイルがおいてある場所を移動させたらリンクファイルがぐちゃぐちゃになってしまいました。 簡単な復旧方法ってないですか?
520 :
名無しさん@そうだ選挙にいこう :02/10/21 17:34
>519 どのようになっているのか分かりませんが・・・ システムオブジェクトの、 MSysObjectsの中のDatabaseを確認してみてはいかがでしょうか?
521 :
レコードソース件数 :02/10/21 17:36
フォームにおいて、 レコードソース件数が0の時、 いろいろなコマンドが機能しにくくなるのを、 どうにかして解消したいが。 (レコードソースが1件でもあるときには完全機能します)
>>517 さんありがとうございます。
そういう機能があるんですね。
最後のレコードを判断してグジャグジャやらなきゃ駄目かと思ってました。
523 :
名無しさん@そうだ選挙にいこう :02/10/21 17:46
>521 >いろいろなコマンドが機能しにくくなるのを 意味がよく分かりませんが、レコードソースが0の時は、 フォームを開かなければ、いいのではないでしょうか? If DCount("条件", "表示クエリー") = 0 Then MsgBox "検索結果は0件です" Else DoCmd.OpenForm "表示フォーム" End If End Sub こんな感じでしょうか? Select Case DCount・・・ でもいいかもしれません
524 :
80ギガバイ〜ト :02/10/21 18:27
>520 おっしゃっておられる事、判りました。 ツール→オプションでシステムオブジェクトを表示させ、 でてきたMSysObjectsの中を見てみましたが、 これって直接書き換えられないですよねえ? 直接書き換えれれば一発解決なんですが・・・
>512 エラー2220は、手持ちの本にもネットで知ってるのエラー一覧にも出ていませんので、 正直どんなエラーかわかりません。 エラー回避のコードに msgbox "エラー番号:" & err.number & chr(10) & chr(13) & "エラー説明:" & err.description と記載して、エラー内容を確認した方が良いと思います。 今までずっと、いろいろなことが書かれているので、 どういう状況なのか読み解くのが大変なので解決策は分かりません。 ごめんなさい。 それから、デバッグモードで一行一行動作を確認していますか? エラーが出た時にデバッグを中止してみて、変数や[イメージ38].pictureや Me.[生徒顔写真]にマウスポインターを当ててみるとどうでしょう? できれば、Me!を使わずにMe!を置き換えて一行一行デバッグしてみてどうですか? 思いもよらぬところで、エラーが発生している可能性もあります。
探したら、mdac2.5どころかmdac2.1までDLできるぞ、Microsoft。 JETきりやがったかと思った君に朗報。
ごみん、誤爆すた。
528 :
名無しさん@そうだ選挙にいこう :02/10/21 21:27
>>518 Access2002は、Excelや他のデータベースエンジンとの連携機能、
強化されたデザイン機能や入力支援機能などを使うことにより、
迅速かつ効率的にデータベース環境を構築することができます。
Web ベースのデータ共有、すばやいデータの抽出や高度な分析も可能です。
とありました。
勘違いしていました!!
またExlみたいなソフトかと・・・ でも今日帰りついでに購入しました。とりあえず購入したら
そのうち、使うかなと・・ 他のソフトみたいにインストールしてみるだけかも。。
>512さんへその1 196さんがUpしたmdbをやってみたところ、 もともとデータ(生徒のデータ)がないレコードにも 勝手に写真のパスが入力されてしまいます。 実際にOn Error Resume Nextをコメントにして実行すると 2220エラーが出て写真がないためとわかります。 結局、写真がないために出るエラーだと思いますが? コレを回避するためには196さんがUpしたmdbの冒頭のOn Error Resume Nextをやめて 登録されたデータの未表示するようにした方が良いかと思います。 196さんの作られたままの状態ではないですか? コレだと次々と「次のレコード」を押した時、本来テーブルにデータがないのに 勝手に写真のパス(C:\My Documents\.jpg)が入ってしまいます。 この辺はどう回避していますか?
80ギガバイ〜トさんへ リンクが切れている(パスが違う)だけなんですね? それでしたら、 ツール→データベースユーティリティ→リンクテーブルマネージャー を開いて、パスの設定を直してあげてください 沢山のリンクファイルがあると面倒かもしれませんが・・・ AC2Kでしか確認しておりませんが、リンクの更新は出来ました 外していたらすみません
>512さんへその2 ↑「登録されたデータの未表示」は「登録されたデータのみ表示」 ちなみに初心者である私は以下のように作ってみました。 写真のデータ(パス)は既に入力されているものとする。 新規登録の生徒データとその写真のパスの登録は考慮しない。 これをやろうとしたら、私ならばデータ登録時に写真パスを登録するために 写真を選ばせる「ファイルを開く」ダイアログを表示させて登録させますが。 ***テーブル(仮にテーブル1)*** id(オートナンバー):生徒の生徒番号とは別のテーブル固有のID、主キー 生徒ID:テキスト型(必要文字数) 生徒名、保護者名:テキスト型15文字 住所、生徒住所:テキスト型30字 生年月日:日付型(検索などを作る場合は、私なら年/月/日を別々にしてそれぞれ整数型) 写真パス:テキスト型100字(場合によっては足りない?) 正確に写真へのフルパスが記載されていることとします。 フィールドの並び順は仮に、id/生徒id/生徒名/写真パス…とします ***フォーム(仮にフォーム1)*** フォーム1のレコードソース:テーブル1 イメージ:フォームのツールボックスから「イメージ」を選んで適当に画像を貼り付けます。 この名前は仮に「photo」とつけておきます。 あなたが行ったようにピクチャの部分のパスを消しておけばファイルサイズは小さくなります。 コンボボックス:とりあえず生徒名、写真パスと言う名前のコンボボックスを作成 (それぞれのコントロールソースにはテーブル1の同じ名前のフィールド名を指定) (フォーム上で選ぶ必要がなければテキストボックスでも構わない) 以上の状態でフォーム1の「レコード移動時」に Private Sub Form_Current() Forms!フォーム1!photo.Picture = Forms!フォーム1!写真パス End Sub
>512さんへ その3 ***コンボボックスでレコード表示を移動させる場合*** ※生徒名がコンボボックスならば「値集合ソース」にテーブル1を選び、 生徒名がテーブル1の左から3番目とすると連結列は3、 列数はファイル名までが分かればいいとすると生徒数までの4、 列幅を0cm;0cm;2.5cm;0cmに設定することでコンボボックスからでもレコード選択が可能です。 ※写真パスコンボボックスも同様に連結列4、列数4、0;0;0;5 ※生徒名コンボボックスをクリックした時に写真を表示させたい場合は「クリック時」に Private Sub 生徒名_Click() Forms!フォーム1!写真パス = Forms!フォーム1!生徒名.Column(2) Forms!フォーム1!photo.Picture = Forms!フォーム1!写真パス End Sub テストは、必ずテーブルのコピーを作成してデータが壊れても復帰できる応対にしてください。 この場合、直接コンボボックスにテーブルをつなげているので、 エラー(テーブルのレコードがないところにくると実行時13が出ます)が出たりデバッグで止めたりすると、 テーブルレコードのデータが書き換えられてしまいます。 コレを回避するなら、私ならばクエリーを使いますが…。 また、テーブルデータがない場合のエラー回避は、どうぞ自分で調べてください。
>512さんへ その4 532記載違い Forms!フォーム1!写真パス = Forms!フォーム1!生徒名.Column(2) は Forms!フォーム1!写真パス = Forms!フォーム1!生徒名.Column(3) これはColumnプロパティの使用方法です。 興味があるようならば、本で調べてみてください。 連結列等も本によく記載があるので調べてみてください。 参考になりますか? できれば、自分のフォームのプロシージャにブレークポイントをつけてデバッグモードで確認してください。 エラー等が起きたところで「デバッグ」を選択し、 Forms!フォーム1!写真パスやForms!フォーム1!生徒名.Column(3)等にカーソルを当ててみると 今どのような値があてがわれているか確認できますので、正しい値か確認してください。
>512さん その5 適当にエラー回避入れてみました。 本当はもっといいやり方があったように思いますが…。 何度も言いますが、531/532では表示だけの機能しかなく、 データの登録(生徒データと写真パス情報)は考慮に入れたものではありません。 Private Sub Form_Current() On Error GoTo Err_Case Forms!フォーム1!photo.Picture = Forms!フォーム1!写真パス Exit Sub Err_Case: Select Case Err.Number Case 13 MsgBox "レコードがありません", vbCritical, "レコードなし" End ' Case Else MsgBox "エラー番号=" & Err.Number & Chr(10) & Chr(13) & _ "エラー内容=" & Err.Description, vbCritical, "レコードなし" End Select End Sub
↑うわッ、トロイことしてしまった… Case Elseの部分は Case Else MsgBox "エラー番号=" & Err.Number & Chr(10) & Chr(13) & _ "エラー内容=" & Err.Description, vbCritical, "エラー発生" End Select ですね。
537 :
名無しさん@そうだ選挙にいこう :02/10/21 23:06
>>525 >>531-
>>536 本当にありがとうございます。助かりました。早速やってみます。ありがとうございました。
>512さん その6…これで最後です。すべて出し尽くしましたから。 単純にフォーム1の設定で「追加の許可」をいいえに設定すれば、 データの登録はできなくなるのでレコードの移動時に行き過ぎて 「実行時エラー13」とそれに付随する「インデックスにNull値は入力できません」と言った フォームを閉じることができないようなエラーのループは回避されます。 この場合、フォームに「登録」といったボタンを作って、 データ登録用画面を作るなどの必要があります。 他にいいアイデアのある人いませんかね? 私は、本当に初心者なんで…これ以上はなんとも考え付きません… では、さようなら
>512さん その7、本当にこれで最後 ちなみに**コントロールボックスでのレコード移動***は 「移動ボタン」(?レコードセレクタ?)と連動していません。 連動させる方法はあると思うので、探してみてください。 ではでは
>512さん 緊急報告です データのトップが書き換わる原因は↑のレコード移動ボタンのレコード番号の表示と コンボボックスに表示されているデータの不一致が原因です。 レコード移動ボタンに表示されているidのデータが、 コンボボックスに表示されているデータに書き換わります。 これを回避する方法までは私は探さないので、 1)フォームのレコード移動ボタンをやめるか、コンボボックスをやめるか 2)自分でコンボボックスとレコード移動を連動させる方法を見つける のどちらかです。 必ずデータはバックアップ取ってください。 必ずデータが一部、書き換えられるバグが存在します。
テーブルのフィールド数の制限ってあるよね あれってSQL分でcreate table文だとエラーになるけど デザインモードでは作成できちゃうんだけど なんか逃げ道あんの? クライアントにテーブル追加したいんだけど20台以上あるから 鬱なんだよ1人でやるの。 サーバMDBとマスタ系のデータを同期とるためSQLのテキストファイル 伝送してやってクライアントがログインする時に実行する仕組みが あってそれ利用できないかと考えてるんだけど..... テーブルのレイアウト見直せってのはナシね。
542 :
名無しさん@そうだ選挙にいこう :02/10/22 00:35
>>541 雛形を1コだけ造れ。
あとは延々とインポートとかエクスポート。
鬱るのは、その後にしろ。
544 :
HELP〜 :02/10/22 11:00
レポートの設定で、PrtMipとか使おうとしたら、 「メンバーがありません」 って出てしまいました。 ヘルプのをそのまま使ったので、コーディング間違いってこともないと 思います。 (レポートをデザインモードで開いてから、値を代入してます) 何が問題なのでしょうか。 デバッグのイミディエイトウィンドウで確認したところ、 PrtDevmodeなんかも使えないみたいです。 アクセス2000で、OSはWindows98です。
545 :
名無しさん@そうだ選挙にいこう :02/10/22 11:56
>544 PrtDevmodeを使用するためにはDEVMODE構造体を格納する ユーザー定義が必要だったと思いますが、ユーザー定義してますか? AccessVBAの載ってる参考書にPrtDevmodeを使用する方法が載っていました。 本屋で見てみた方がいいと思います。 DEVMODEを使うための参照設定があるかどうかは未確認ですが。
546 :
名無しさん@そうだ選挙にいこう :02/10/22 12:57
ACCESSで既存ファイルを開くってとこのファイル名消すにはどうすればいいんですか?
547 :
bloom :02/10/22 12:58
548 :
名無しさん@そうだ選挙にいこう :02/10/22 12:58
>>541 フィールド数の上限(0xFF)に引っ掛かってくる時点で、ダメダメ決定。
正規化を1から勉強しなさい。
>>541 様
デザインモードでも256個を超えるフィールドは作成できないはずです。
当方Access2000、実際にフィールド1から順に作成していって確認しました。
何か仕様を超える裏技があるのでしょうか。
仮に裏技があるとしても、仕事でお使いになる(であろう)ものでそういう冒険を
するのはいかがなものかと思います。貴殿は優れたスキルをお持ちのことと察し
ますが、仕様を超える部分の内部メカニズムまで把握することは容易ではない
ないでしょう。その分の労力を仕様内での対応を考えることにまわされた方がよ
ろしいのではないですか?
みなさん。俺は大馬鹿やろうでした。 テーブルには、 生徒ID テキスト型 生徒氏名 テキスト型 保護者氏名 テキスト型 生徒住所 テキスト型 生徒顔写真 OLEオブジェクト 生年月日 日付時刻型 住所 テキスト型 これです。生徒顔写真のテーブルデザインで型がOLEオブジェクトでした。 これをテキスト型にしました。・・・・・・解決しました。 レスを下さったみなさま。本当に感謝しています。ありがとうございました。 493さん。あなたのテキスト型にする、という書き込みで気づくことができました。 いろいろと、ありがとうございました。 Private Sub Form_Current() Me![生徒顔写真] = "C:\My Documents\My Pictures\" & Me![生徒ID] & ".bmp " [イメージ38].Picture = Me![生徒顔写真] End Sub で、写真が見つからない場合表示しない、という形をとりたいのですが、 If〜で、写真がなかったら〜というとき、「なかったら」というのはnothingと書けばよいのでしょうか? いまは、エラーがでてとまってしまいます。 On Error Resume Next はやはり、つかうのはまずいですよね?
>>551 > 写真が見つからない場合表示しない、という形をとりたいのです
Dir関数を調べれ。
553 :
名無しさん@そうだ選挙にいこう :02/10/22 17:46
レポートについて教えてください。 単票形式の帳票を作ったのですが、宛名の欄があって、相手の役職が入っている時は ----------- 総務課長 モナー 様 ----------- と2行にし、役職が入っていない時は、 ----------- モナー 様 [空白行] ----------- と、1行で下を空白にしたいのですが、こういうことはどうするのがベターでしょうか。 #元テーブルで[役職名][氏名]は別のフィールドです。 コードで[氏名]テキストボックスの座標を変える方法を思いついたのですが、何か良い方法が あるのでは、と思うのですが。。。 家にプリンタが無いもので、ろくに実験も出来ない環境で困ってます。。。 おながいします。
>>553 > 家にプリンタが無いもので、ろくに実験も出来ない環境で困ってます。。。
プリンタがなくても、プリンタドライバだけあれば、プレビューはできると思うが
どうよ。
>>553 役職氏名1行目 =Switch(isNull([役職]),[氏名],True,[役職])
役職氏名2行目 =Switch(isNull([役職]),"",True,[氏名])
>520,530,533 いろいろとお心遣いをいただいてありがとう御座います。 そうですよね、リンクテーブルマネージャーで変更できるはずですよね? でもできなかったんです。 やっと理由がわかりました。 \\Data-base\Db001.mdb \\Data-base\Db002.mdb の二つのデータベースがあってDb002.mdbのいくつかのテーブルが Db001.mdbのテーブルを参照していると言う状態で、この二つのデータベースを \\FileServer\というサーバにコピーして \\FileServer\Db001.mdb \\FileServer\Db002.mdb として運用しようとしてたわけなんです。 でもそのままだと\\FileServer\Db002.mdbのリンクテーブルは \\Data-base\Db001.mdbを参照しようとしますから、これを換えようとしてたわけです。 \\Data-base\Db001.mdbのパスを\\Data-Old\Db001.mdbのように書き換えて見えなくしたら やっとリンクテーブルマネージャーで新しいリンク先を尋ねてくれる画面が出てきました。 >533 でお教えいただいたアドインはアクセス2000には組み込めなかったので試せませんでした。 いろいろとお心遣いをいただいて大変ありがとうございました。
>551 466さん、解決してよかったですね。 正直応答がないので心配でした。 On Error Resume Nextでも悪いことではないと思いますが、 基本的にOn Error Resume Nextは無視しても差し支えのないエラー時に 次のステップへ飛ぶためのエラー回避だと思います。 例えば On Error Resume Next Docmd.DeleteObject acTable "T_temp" など、この場合は「もともと削除したいので、なければ"ないから実行できないよ〜" と言うエラーは無視して次へ行っても構わない」と言うことですね。 あなたの場合は、無視してはまずいエラーなので せめてOn Error Goto Err_Caseなどのエラーのよる処理をさせた方が良いと思います。 基本は「エラーを出さない」だと思いますが、どうでしょう? Dir関数でデータのパスの有無を調べるとか、方法はいろいろあると思います。 どのような生徒データの表示形式を取っているか分かりませんが、 レコード移動ボタンでレコード移動させるならば単純にフォームの「追加」をいいえにしてしまえば データのあるものしかレコード移動しないのでエラーそのものはなくなります。 レスの538-540を読みましたか? 後は参考書等を買って頑張ってください。
558 :
kobune :02/10/22 19:21
>>554 会社でLANに繋いでいる端末だけど、プリンタが使用不能です的なエラーが
表示されてダメです。Acc97だからでしょうか。
>>555 ありがとうです。
VBAと違って、この「式」って理解しづらいですね。
一冊本買ってみようかな。。。
>>559 ローカルプリンタのドライバ入れろよ。
なんで、そんな程度のことも考えられないの?
頭悪いんじゃないの、あんた。
なんでキレてんの? 病気?
>559 エラーが出るのは実際にプリントしようとするからだよね? プリンタを「オフラインで使用」と言う設定にはできないの? 私は自宅や会社でよくその方法で印刷実験してるよ。 テストプリント何枚もじゃ、もったいないから。 本当のレイアウトはプレビューで見ればいいし、 本当に印刷できるかは「オフライン」で送ってみれば分かるので充分。 テストの仕上げに最後に1、2回本当に印刷してみる。 「オフライン」だったら、本当にプリンタがつながってなくても、 適当なドライバ(Windows付属のものでいい)を入れて エラー(プリンターが見つかりません)が出ても無視して「オフラインで使用」にする。 これでテストはできる環境が整うと思うよ。
↑「オフラインで使用」はOSのプリンタの設定のところで行う設定のことで、 Access上での設定ではありませんよ。一応、念のため。
今見たら、NT4.0だと「オフライン」がないね。 オフラインがなかったら「一時停止」でもいいと思う。 そんな方法でどうでしょう?
俺はFine Print 2000使ってる。シェアウェアだけど便利
>>564 559じゃないけど、Windows2000にはありますね。
つまらない質問だと思って見てたけど、勉強になりました。
そんな設定があったんですね。
>>559 プリンタの種類によっては、プレビューですら
ソッコーでダメ出しされるってことかなぁ?
たいていのドライバはそんなことないから。
ほかのドライバをインストールして試してみてみてください。
お、うちもケーブル抜いたらメッセージ表示されるな。 プレビューもできない。
ちなみにうちでLANケーブル抜いたけど、Win2k+Access2000では問題なかったよ。 プレビューOK、エラーは出るけど印刷も送れる。レポートのプレビューもDcmnd.OpenReportでもOK。 ちなみにローカルプリンタ/自動動的に検出しないプリンタ/印刷テストなしで CanonバブルジェットBJC600を入れてテストもしてみた。 でも、問題なくプレビュー見れるし印刷も送れる。オフライン、一時停止でも問題ない。 OSとか環境の違いかな?
突っ込むまでもない、初歩的なネタにずいぶんレスついてるな。
暇だからね
574 :
名無しさん@そうだ選挙にいこう :02/10/22 22:51
575 :
名無しさん@そうだ選挙にいこう :02/10/23 16:20
質問です。 テーブルやクエリのデザインを リレーションシップの印刷のように ACCESSから印刷する方法はないでしょうか。 現在はプリントスクリーンでやっていますが 単純な方法をご存知の方、教えて下さい。
576 :
名無しさん@そうだ選挙にいこう :02/10/23 16:42
お願い致します。 現在Aテーブル&Bテーブル、Cテーブル&Dテーブルでそれぞれレポートを出してます。 A・Cには日付(他)、B・Dには、その日の時間系列の報告を記述してます。 A&B、C&Dは、日付キーで(CDの方はキーではなく重複インデックス)関連づけてます。 今回、同じ日付でB&Dの組み合わせでクエリを作成し、レポートを出そうとしまして、 B、Dの日付同士を関連づけて表示させたところ、 日付X日付で同じデータが大量に表示されてしまい、どうにも行き詰まってしまいました。 何か良い方法はありますでしょうか? 宜しくお願い致します。
>>577 ありがとうございます。
リレーションまで出てきて大助かりです。
579 :
名無しさん@そうだ選挙にいこう :02/10/23 17:35
>>579 その程度もわかりませんので、ここは場違いだと思いました。
どうも申し訳ありません。
>>579 ちょっと言い過ぎじゃないかい?
スキルがあれば充分な情報だと思うぞ。
俺はスキル無いが。。。
>>580 リレーションの結合辺りをを弄ってみては?
>>581 SQLが間違えてんだから、正しいSQLを教えてやろうと思ったらテーブ
ル構造がわかんなきゃ書けないじゃんか。
>>582 禿ドゥー
( ´-`).。oO( 直積してんのか? )
>582,583 そうなんだよね…アドバイスしたくてもできないね もしかしたら、状況によってはSQLビューでdistinct入れれば済むかも知れないし… でも各テーブル構造(どんなデータが入ってるか)とか 何でそれぞれをつなげてるか分からないと何とも言えない…
585 :
名無しさん@そうだ選挙にいこう :02/10/23 21:15
フォーム1枚1枚のアイコンって変えられないのですか?
少なくとも581よりは579のほうが質問者の役に立つだろうね。
でも576はもう見てない罠
>>585 変えれる。
でも所詮ACCESSアプリなんだから。
そこまでやるなら自作しなさい。
それ以上は君の質問にある情報からはアドバイスできないが。
>>587 その程度だったんでしょ。
場違いとか言ってるから他スレに行ったのかもしれないけど、丸ご
とコピペでいけるコードでももらって満足するんだろうか?
そういう香具師はまたすぐに質問してくるんだよな。
「教えていただいたコードが動きません!」
とか言って。
まぁ2chは罵倒の中に優しさが隠れてるんだけどね。 yahooBBSのような他の掲示板経由してくるとそれが解らないんだよな いかにもそんな感じの質問の仕方だしね
591 :
名無しさん@そうだ選挙にいこう :02/10/23 22:43
>>576-590 一応、他の人たちのコメントで決着してるようなんだけど、ちょっとだけ補足。
状況を整理してわかりやすく説明するのもSE(
>>576 氏がSEだという前提で)として
大事な能力だと思う。
普段、
>>576 のような文章しか書けないようだと、残念ながら、提案書や仕様書など
でも、わかりやすいものは書けない公算が高い。
また、技術上の質問の大半は、状況が(第三者が理解できる程度に)整理できた時点で
半分解決したに等しいといってよい。
他人に伝えるのが面倒だと思うなら、自己解決するしかない。
>>588 まじで?横レスだけど、変えられないと思ってたよ、漏れ。
一番外側のAccessのウインドウじゃなくフォームの、だよ?
当然変更できますよ。 アイコンでパラパラアニメをエミュレ−トすることもできますが。
なるほど、Accessの機能じゃなく、ってことね。 APIかなんかか。
>545レスありがとう。 PrtMipは同じ構造の構造体をデータ型として ユーザー定義をしてあったのに、 エラーになったので、お手上げって感じでした。 今週末あたり、本屋に走ってみます。
596 :
名無しさん@そうだ選挙にいこう :02/10/23 23:25
すみません。Excelのスレで質問したところ、Accessでやるべきだろうとの お言葉をいただいたので、こっちに引っ越してきました。アドバイスをいた だけると助かります。 386 名前:名無しさん@そうだ選挙にいこう :02/10/23 20:57 すみません。Excel2000での印刷についてご教示ください。 手形の一覧表がExcelのデータとして手元にあります。列要素が左から、 相手先、期日、金額、支払銀行といった項目で並んでいて、そのレコードが 1000件程度ある、そういう単純な表なんですが、これを印刷するときに、 各ページごとに「ページ小計」を一番下の行に印字し、最後に全体の合計を 表示するようにしたいのですが、どうすればできるのでしょうか? こんなアドインがあるから使ってみ、みたいなアドバイスでも結構ですので、 ご教示いただけますでしょうか。
>>596 レポートでできる。基本。
Access知らないなら無理
598 :
名無しさん@そうだ選挙にいこう :02/10/23 23:36
>>597 Accessを使わず、VBのみで処理するという選択肢もある。
この場合はAccessが最善、最短だとは思うが。
>>596 ExcelでやりたいのかAccessでやりたいのかファイナルアンサーはどっちだ?
だいたい、後で気付くが、ページ毎の小計って役に立たないもんだよな。
小計が必要なら、Excelなら、分類ごとに種類分けるだろうし。
よく考えろよ、
>>596 。
>596 単純にExcelでもページの大きさに改ページなんかで区切って (印刷するページの大きさに入るように表を作ることが基本) 各ページの終わりに小計(Sum使えばできるよね)、 最後のページに総合計(各小計のSum)でできると思うけど? Access使うメリットは例えば、 毎月それを何ページにも渡って作らなくてなならないと言う場合です。 一度苦労して入力フォーム、データを格納するテーブル、印刷するレポート レポート出力に必要なクエリーを作れば毎月あるいは毎週、毎日、 同じ形式の印刷が正しくデータを入力するだけでできます。 Accessを使用するメリットとはそう言うものだと思いますが? その代わりAccessを知らないのであれば、 それ相応の覚悟で作る必要があると思いますよ。
みなさん、いろいろとありがとうございます。
>>599 ExcelでもAccessでも、どちらでもかまいません。要は質問したことが実現
できればいいと思ってます。
>>600 仰ることはわかります。まあ、自分で表をデザインするなら私もページ小計
なんていらないとは思うのですが、サラリーマンなもので、とりあえずは
上からの要求に答えなきゃいけない、と、そういう事情です。(ナサケナイ...
603 :
名無しさん@そうだ選挙にいこう :02/10/23 23:57
>>596 エクセルでの場合。
1ページの行数を決め、ある列にページ番号を記入する。
ページ番号でグループ集計をおこない小計と総計を表示させる。
ページ番号の記入は関数使ってやってくれ。
>>603 あ、なるほど。それなら私でもすぐにできそうです。聞いてしまえば
なんてことなさそうですが、なかなか思いつかないものですね。
明日、会社で試してみます。どうもありがとうございました。
605 :
名無しさん@そうだ選挙にいこう :02/10/24 00:01
>602、596さん Accessでできるけどそのためにはテーブル、クエリー、レポートのことを知らなくてはならない。 先ずはAccessでやろうと思ったら、本屋へ行ってAccessの初心者用の本買ってきなさい。 テーブルはとりあえずAccessにExcelからテーブルへインポートする機能があるから、 それ使ってテーブル作るとしてもレポート作るためには本を読んで実践した方が良い。 いくらなんでも、まったくAccess知らない人にいちいちレポートの作り方から データの出力まではここで教えて上げられないよ、私ならそんなことはゴメンだ…。
>>605 はい。ここで手取り足取り教えてほしいとは申しません。とりあえずは
603さんのアドバイスを試してみることにして、これを機にAccessも少し
弄ってみます。
皆様、どうもお騒がせしました&ありがとうございました。
603みたいなこと、Excel相談所で教えてくれなかったの? 何だか……なぁ…
608 :
仕様書無しさん :02/10/24 00:08
\ 馬 / \ 鹿 / ∩ ∩ | つ 「,"| ヾ∧ !,'っ_ ⊂_,! / ・ |ミ / ・ ヽつ (_'... |ミ ▼,__ | (゚Д゚; )..|ミ (゚Д゚ ,)・| (| .、)| (| 、)| | | | ・・| ヽ.._人 ヽ._・ν U"U U"U
609 :
名無しさん@そうだ選挙にいこう :02/10/24 00:11
>605 596さん 気を付けてね。実は603と601は同じこと言ってるようだね。 でも、1ページの行数決めてもきちんと用紙に合った行に 作り込むようにしないと印刷がずれたら悲惨だよ。 >601が言ってる「改ページなんかで区切って」と言うのはそのことだと思う。 Excelに改ページがあるので、それを使ってページをさらに強制的に区切るのが 確かに良いかも知れないね。 まぁ、がんばれや。
↑606を605と間違えた 俺もうましかだよな…逝って来るわ
>>609 確かに印刷設定を旨くやらないと意味ないわな。
601のように途中行に式を挿入するのは工数が大変だ。
しかし結局改ページでうまく区切らんといかんな。
>>607 なんか寂しいよね。
あそこは何でもかんでもVBAで片付けようとしてるし。
俺はVBAなんて知らんから関数とメニューでしか解決できない。
>>606 イイ!初めての事勉強する会社員少ないのでガンガレ!
小さな問題なら、ここで答えるぞい。
>611 そうなのか、VBA推奨なのか。 俺もExelは一般的によく使われる関数と書式設定くらいしか知らんな。 使い方によってはピボットとかフィルターは使えるようだが…。 2〜3年位前、Excelで確かにできるんだが処理に時間がかかる(Pen233で15分)上、 マクロでは難しくてExcelVBAの5000円もする本を個人的に購入して作ったことがあった。 …結局、処理の重さは変わらないしExcelVBAの難しさに閉口してAccessで作り替えたっけ。 同じデータ量の処理ならAccessではほんの1分かからずに済んだよ。 その時、結局ExcelVBAを組まなくてはならないようなものはAccessで処理した方が良いように感じた。 もっとも、何を処理するかの問題もあるが。 もちろんAccessで作るより、Excelでササッと処理した方がいい場合もあるがね。 すまん、思い出に浸ってこのスレの本題がなんだったか忘れた…逝って来る
こんにちは。 質問ですが、ユーザー設定で、ツールバー作成しました。 そのツールバーのフォント色を変更したいのですが、可能でしょうか? もし可能であれば教えていただきたいのですが・・・。
>>607 禿同!!
漏れもExcelは簡単な足し算ぐらいにしか使っていない
ベクターで公開されているソフトを試してみてもExcelで作ったやつは遅いと思うし
かといってAccessで作ったソフトがなぜ人気あるのか良くわからんがな…
616 :
名無しさん@そうだ選挙にいこう :02/10/24 16:55
なぜEXCELとACCESSを比べるのか? その時点でACCESSについての理解不足を露呈する罠
表計算とデータベースだからなぁ。
Excelはデータを貯めるものでは無いと早く気付いた方がいいよ。
>>614 Access単体の機能では多分無理。
618 :
あくせす初級 :02/10/24 19:39
テキストデータをインポートするマクロ(テキスト変換)を組んだんですけど、 そのテキストデータ(インポート元)を動的設定にできませんか? つまり、マクロ実行と同時にパラメータ(ファイル名)を入力する画面が出て そこにファイル名を入力することでそのファイルをインポートするというものにしたいのです。 いまいち内容を説明し切れていない拙い文章ではありますが、何卒ご教授ください。
620 :
名無しさん@そうだ選挙にいこう :02/10/24 20:04
マクロじゃむり。apiつかわんと。comdlg32.dll の GetOpenFileNameA かな。
手入力でPATH入力するならAPIなんぞいらんが?
622 :
あくせす初級 :02/10/24 20:16
すいません。やはり拙い文章のせいでうまく伝わりませんね。 マクロのテキスト変換ではインポート元のファイルは固定ですよね。 この部分をブランクにしてインポート(テキスト変換)を実行するたびにファイルを指定したいのです。 うーん、日本語って難しいですね。
>>622 だから、その変換作業とやらの前に
ファイル選択ダイアログで入力したPATHを変数にでも持ってて
それ指定しる。普通の作業だけど。
624 :
あくせす初級 :02/10/24 20:36
>>623 そゆことじゃないと思う。ヤツは
「モジュール」じゃなく「マクロ」だから困ってるンだろう。な。
(・∀・)(・∀・)(・∀・)(・∀・)ニヤニヤ
れべるひくぅ
でも早速やってみるそうだよ。
629 :
名無しさん@そうだ選挙にいこう :02/10/24 23:33
630 :
名無しさん@そうだ選挙にいこう :02/10/24 23:51
Access2002も↓コレだよね? でも考えたんだけど〜 「ライセンス認証」技術は、2台以上のコンピュータで同一のライセンスを 使用できないようにする技術で、シェアウェアのシリアルの不法使用や、 市販ソフトウェアの違法コピーを防止するために開発している技術です。 要するに、ネット接続環境していたら、マイクロソフトに通知されて、 ○○○になるんでしょ。 だったら、ネット切れば、回線を切って(ADSL)使えば問題ないじゃん!!
631 :
あくせす初級 :02/10/25 00:48
でけた。
>>630 Accessの話からは脱線するけどな、それはちと違う。
現行のXP製品は、CDケースのプロダクトキーを入力してインストールを
終えた段階では数えで50回までは通常起動、それ以降は単なるビューワ
に成り下がる制限があるんだ。
その制限を取り払う方法が"ライセンス認証"って行為だ。
ライセンス認証ツールを開くとコードが表示される
そのコードをMicrosoftに通知すると新たなコード(IDと表現している)が
発行され、そのコードをライセンス認証ツールで登録すると制限解除となる。
つまり、ネットに接続しているか否かが問題なんじゃなく、最終コードを
所得しているか否かが問題なんだ。取得してなきゃ起動回数制限に引っ掛かる。
>>632 Do
50回使ってはOS再インスコ
Loop
でどうか。
情けなくて涙出てくらぁ
>631 よかったな。頑張れよ!
636 :
名無しさん@そうだ選挙にいこう :02/10/25 12:31
>>632 なるほど…
すると、オークションなどで、「無登録 登録所あり」とあっても、
その人が先にインストールをすでにライセンス登録済みなわけですね!!
もしも闇シリアルなどを使って、インストールするとどうでしょう?
世界中ナン満人が同じシリアルで、マイクロソフトへライセンス登録申請して
捕まるのでしょうか?
WINXP pro でなぜかMSDE2000がインストールできない。アドミで 入ってるのに・・・以前他のマシンでも同様に症状が出た。 C:\mydoc***にファイルが見つからないってなに探してるんだ。 頭痛いです!
>617 やはり無理ですかねー。 Access単体では無理って言うことは、他ではなにか方法が・・・ うーん、でもあんまり難しかったりしたら・・・ ある程度でユーザー様に妥協してもらうしかないですね。 すいません。ありがとうございました。
640 :
名無しさん@そうだ選挙にいこう :02/10/25 18:28
>>639 出来るけど結構面倒。
っていうか、煽りじゃなくあなたの今の技術じゃ無理(もしくわ莫大
な工数がかかる)。
状況をもう少し詳しく教えてくれれば、サンプルあげるなり、他の
方法教えるなり出来るけど。
640> そうですね。私今年仕事をはじめたばっかりで。まだまだで。 状況としては ユーザー様が使われるときに、たとえばツールバーのところに、「検索実行」「検索取り消し」 などのツールバーがあるとします。検索実行と検索取り消しがならんでいて、取り消しを押そうとして 実行をおしてしまうことがあるということなんです。そこで、ツールーバー一つ一つの幅を広げ、 間に押してもなにもならないものをつけています。 ユーザー様としては、それプラスボタンの文字部分の色が違えばもっとわかるんですけど。 という要望があって。それで、フォント色の変換ができないものかと・・・。 何か乱文ですいません
642 :
名無しさん@そうだ選挙にいこう :02/10/25 19:52
>>636 ユーザー登録してあってもマイクロソフトにユーザー変更届を出せば大丈夫だし、未登録であれば認証していようがいまいが関係ない
643 :
名無しさん@そうだ選挙にいこう :02/10/25 20:03
>>642 なにが? ナニが どう 関係ないの。
>>636 の書き込みに対して、アナタの書き方では、いろいろと受けとれるけど?
>>641 (;゚д゚) ハァ?
どうしてツールバーなんて使うの? フォームにボタンを
付ければ、レイアウトなんて自由自在なのに。
よしんばツールバーを使うとて、アイコン画なんて自作すればいいのに。
645 :
名無しさん@そうだ選挙にいこう :02/10/25 20:19
て ゆうか〜。 一つのCDから二台までならインストールできるんだよね?たしか・・ だったら、自分のマシン一台にインストールして、売っちゃえばいいじゃん!! 買った人が、二台三台と自分のマシンにインストールするときに、はじかれるだけ。 じゃん!! まぁ一台にインストールすれば、CDにとっては二台目な訳で・・認証取得できるわけで・・・
>>645 書くなとは言わん。その手の話題はそれなりのスレで展開してくれ。
あと余談だが、ソフトウェアの譲渡における売買行為に対して
MSは牽制しているよな?MSの主張の法的効力はグレーゾーンだけど。
>>625 VBA覚えてプログラマ気取りですか?(プ
V B A 覚 え て プ ロ グ ラ マ 気 取 り で す か ?
プログラマが泣くぞ
649 :
名無しさん@そうだ選挙にいこう :02/10/26 01:48
>>648 >>645 >認証解除の電話かけられたら終わり
ふ〜ん まず最初に認証した人が、認証解除するまで継続して使えるんだ〜。
認証解除なんて 普通しないし〜!! 実際現実問題として、問題なし!!!
>>647 おう。( ´ω`).。oO( つれたな )
それでは、C++ ならば、どうするだい?
(・∀・)(・∀・)(・∀・)(・∀・)ニヤニヤ
>>650 お前に言っても理解できないじゃん?(プ
654 :
名無しさん@そうだ選挙にいこう :02/10/26 16:51
Accessなんて中高生用のDB勉強ツールじゃないですか。
はいはい、そこまで。 他人の目で自分の書き込み見てご覧。 ほら恥ずかしい。 やめようね。 ↓次の質問ドゾー。
このスレはいったい なんなのですか
657 :
名無しさん@そうだ選挙にいこう :02/10/26 17:19
ここは酷いイソタ-ネトですね
658 :
名無しさん@そうだ選挙にいこう :02/10/26 17:46
ACCESS使いってクエリのSQLビューがSQLだと思ってるって本当?
659 :
名無しさん@そうだ選挙にいこう :02/10/26 19:00
MSDEのサーバーを立ててADPで接続しています。 で、テーブルの所有者がdboのテーブルを 別のユーザがフォームの中でSelect文を発行する場合 Select文のテーブル名の前に 所有者dbo.を付けないと実行出来ないんですが select dbo.tbl_test.ID, dbo.tbl_test.simei from dbo.tbl_test db_datawriterとdb_datareaderなん。
(°Д°)ハァ?
こんなもんだよね? 初心者・・・・mdbしか知らんヤツ 中級者・・・・SQLserver(msde含む)、Oracle接続などでの開発チームに在籍 上級者・・・・SQLserver、Oracle接続でのシステム開発経験3年以上
>>662 どうでもイイが、なぜ、それをAccessの初級者向けのスレに貼る?
興味無いならム板でも行けばどうだろうか。
664 :
名無しさん@そうだ選挙にいこう :02/10/26 22:37
伝票テーブルの下に明細テーブルがあるとします。 ここで伝票テーブルのカレントレコードをWordで差し込み印刷したいのですが、 明細テーブルの行列を一緒に差し込むことができません。 サブフォームの内容を差し込む方法を教えてください。 レポートだと簡単にできるのですが、体裁の都合でwordを使わないといけないのです。 よろしくおねがいします。
665 :
名無しさん@そうだ選挙にいこう :02/10/26 22:40
>>662 開発チームに在籍してるとか、開発経験が3年以上ある、とかは
(本当の意味での)実力の指標にはならないのでは?
開発経験話しの繋がりで質問させてもらうが オレは自分の職場で、マターリmdb作成しかしたことが無いのだが 実際、ソフト屋での開発状況ってどんな感じ? やっぱり地獄なのかな?(イメージだけど) 転職を考えてんだけどさ。
>>667 レス早いね(ワラ
すごいスレだがACCESSでココまでには
ならんでしょ?
>>665 ( ´-`).。oO( スクラッチからER図 )
>668 ( ̄ー ̄)ニヤリッ
>>666 ある程度自信がついたらそのように考えるのは至極ごもっともだが
あなたのようなポジションはこれから益々必要になると思うよ。
委託して何百万も払うほど投資効果は無いし、規模も5人程度で使うくらいで
堅牢なものにする必要性はないけど、DBシステムは欲しいみたいな。
今のままで開発をつづけることをお勧めします。
会社の台帳管理をするのに Excel→Accessに移行しようと思っています。 商品の入力が多く、今までは、縦に入力していました。 (番号は番号でまとめて、仕入れ値は仕入れ値でまとめて) Excelの場合、リターンを押すと、↓にカーソルが移動してそれが 可能だったのですが、Accessのテーブルですと、横に移動してしまいます。 これを縦に移動するような設定はできないのでしょうか? DBの本質から考えると横なのは理解しているのですが、 どうしても入力上縦の方が助かるのですが。。。
>>671 堅牢じゃないDBなんて、なんの役に立つの?
674 :
名無しさん@そうだ選挙にいこう :02/10/27 20:53
>673 安いじゃん。自分のPCだけで動くじゃん。
テキストボックス非連結にしておいて、 更新前にエラーチェック→ADOで更新→・・・というのをやっているのですが、 ADOの更新が遅くて、後の処理が先に動き出しちゃうんですが、 やっぱ、普通は連結させて使うものですか? 連結させると、いろいろ気にしなきゃいけないことが増えて鬱なんですが。
>>672 Access側のテーブルと同じ表をExcelで作成→Accessでファイル→インポートしてごらん。
>>675 はい?どんなコード書いたら更新中に後続処理に制御移るんですか?
>>678 住所録テーブルの氏名欄と連結させたリストボクースに
隣に並べたテキストボックス群にデータ入力して、
テーブルを更新(ADOのupdate)→リストボクースのrequeryとやってます。
リストボクースが更新されてデータが増えないんす。
VBから同じコードでやると更新されるんだけどな・・・。
680 :
名無しさん@そうだ選挙にいこう :02/10/27 22:48
R14レベルのLisp(AutoLISP)が使えて、DWGの互換性(の無さ)など考えんヤツには、 今のIntelliCADが抱える深刻な構造的問題など説いてもムダ。そういった種族には 到底、理解不能の問題。 VBAが安く使えたり、リモコンできるからといって喜んでるヤツらの多くは、そのうち DWGdirectXの正式版が世に出てきた途端、IntelliCADから一気に離れていって しまうだろうよ。 とにかく自分たちの身の回りに何が起こりつつあるかなんてことには、全く関心が 無いんだから、破滅の足音が近づいているということに、全然、気が付いてない。 …そこが哀れ。
(°Д°)ハァ?
だ、誰か・・・解説してください。 VBA使えるようになったとひそかに喜んでいる僕は、 もうすぐ破滅しちゃうんですか?
684 :
名無しさん@そうだ選挙にいこう :02/10/28 00:40
>>682 そんなことはありませんよ
officeを使う中小企業はたくさんあります。
しかしVBAを使って「実用的に使いこなす」ところはほとんど皆無です。
ましてやアクセスVBAを覚えれば、かなりの事ができるはずです。
682さん、頑張って!
確かにC+、コボル・・・それらを使いこなせるスキルを持った人はすごいのですが
この不況の中、たかが顧客管理システムに、ん百万もかけるところはそうそうありません。
安く仕上げたい....クライアントの切実な現状だと思います。
ケースバイケースであるものはMDB、またあるものはSQLserverを構築するなりして
柔軟に対処すれば良いと思います。
685 :
名無しさん@そうだ選挙にいこう :02/10/28 03:24
VBA使えるからってデータベース・プログラミングできる訳じゃ無いだろう? テーブル設計やSQLが糞だからVBAで余計な苦労してる馬鹿もいっぱいいるし。 個人的にはシステム部門の人間じゃ無いんなら、まずクエリーで組んでみて 限界が来たらVBAに向かうのがよろしいかと思う。
686 :
名無しさん@そうだ選挙にいこう :02/10/28 05:33
>>682 上の方から毎日、このスレ荒そうとするのやめれ。
いい加減飽きた。このしつこさ…学生か?
644> 今回は元のPGの改善なんで、なぜか最初からツールバーだったんですよ。 それで、そこの改善はフォームにってことよりは元のツールバーを変更ってことになったらしくて・・・。 そこで何かいい案がないかと・・・。フォント色をかえれればOKなんですが・・・。
だからツールバーのアイコン画をどうにかせればよかんべっちゃる
689> アイコン画ってことは、あのプロパティのイメージのへんしゅうとかですか?
んだ。要は見た目に変化をつけて間違えないようにしたいんだべ? んだら片っ方に真っ赤な四角のアイコンをひっつけとくだけでも他と区別はつくべさ。 あるいは文字列を「危険! 検索実行!」とでもしたらよかんべさ。 フォントの色はかえれねぇんじゃねえがとおもうっぺよ。
691> そうですね。ありがとうございます。 なにかアイコンをつけるのではどうかということで話してみます。 ありがとうございました(^^)
693 :
名無しさん@そうだ選挙にいこう :02/10/28 16:53
これはアクセスに限った事ではないかも知れませんが、 リレーションに付いての質問なのですがよろしいでしょうか? 販売管理のデータベースを作ろうと思っているのですが、 それは入荷、売上、商品を管理する物になり、 それで最終的に現在の在庫数や、回転率、利益率等の 計算をしたいと思っています。 しかし扱う商品には色の種類があり、以下の問題が生じました。 売上や入荷テーブルに個別に商品の色を記録する様にすると、 後で色別に利益率等を計算する事が出来ません。 商品テーブルに多対多で色テーブルを作っても、 売上、入荷された商品を色別で把握する事が出来ません。 皆さんはこういう場合どう解決されているのでしょうか?
両方とも把握できるでしょ。 多対多って?
695 :
名無しさん@そうだ選挙にいこう :02/10/28 17:19
>>693 はあ? 詰まる部分は何も無い気がするが?
商品マスターで、色違い商品は別アイテムとして扱い、集計用に
色識別用の項目と、色以外は同じ商品を同じ物として識別する為の区分かなんか
付けておけば良いだけの話しじゃないの?
というか、実現したい計算の内容も、現在のテーブル構造も書かれていないので
どこで詰まってるのか、読んだ人にはワカラナイよ。
>売上や入荷テーブルに個別に商品の色を記録する様にすると、 >後で色別に利益率等を計算する事が出来ません。 ?????
一つのフィールドのみで、全てを解決しようとしてないかい?
みなさんご教授ありがとうございます。 お陰で何かに気付きましたが、言葉に表せません。 もうちょっと試行錯誤してみます。
700 :
名無しさん@そうだ選挙にいこう :02/10/28 20:50
>>693 >売上や入荷テーブルに個別に商品の色を記録する様にすると、
>後で色別に利益率等を計算する事が出来ません。
>商品テーブルに多対多で色テーブルを作っても、
>売上、入荷された商品を色別で把握する事が出来ません。
商品の色を記録するのは商品マスターだけで良いんじゃ?
商品名 色
-----------
バナナ 赤
バナナ 青
バナナ 黒
この二つの項目をキーにする。
っていうかまず全体をエクセルで構築してみれ。
あ〜阿呆だ、間違えた。 商品マスターはコード化するのが前提でね。 商品番号 商品名 色 ---------------------- A1 バナナ 赤 A2 バナナ 青 A3 バナナ 黒 でもって番号をキーにする だった。ゴメン、逝ってくるわ。
連続半角スペースは無視されます。
さんざん既出かもしれませんが…… ACCESS2.0とWIN98の相性ってどうなのでしょう? 作成済みのバーコード帳票作成システムをWIN98で動かすと MSbarcordの一般保護違反が出ます。 オフィス2000をインストールしたのがマズイかもしれませんが…… 他にもエラーが出ています。 解決方法のご教授もいただきたいのですが、まずは発生しえる 不具合について、教えていただきたくて…… 教えて君で申し訳ないですが、よろしくお願いします。
バーコードコントロールのバージョンはOffice2kだと確か9.0。 Ac2.0の頃のバージョン殺しちゃったんだろうね もしAc2.0にそういう機能があるならの話だけど、再セットアップで バーコードコントロールだけ入れなおせば治るよ多分 当然Ac2.0とAc2kは別ディレクトリにインストールしてあるよね?
705 :
名無しさん@そうだ選挙にいこう :02/10/29 09:02
>672 >677 フォーム上に入力する場合、↓を押しても横に移動するだけだと思われます ↓を押して下(次レコード)に移動する場合、VBAが必要になります サンプルコードはベクターあたりを検索すると出てくると思います
>>704 バージョン違いのAccessをそれぞれ別ディレクトリ指定でインストールしても
コアのライブラリは\windows\systemや\winnt\system32に転がっていたり
しない? ライブラリ上書きされるとアウトなんだけど
707 :
名無しさん@そうだ選挙にいこう :02/10/29 10:20
ACCESS2000でお勧めの参考書などはありませんか? 本屋さんに行ってもたくさんありすぎてどれが良いかわからない。 おせーて。 スレ違い?
711 :
名無しさん@そうだ選挙にいこう :02/10/29 20:30
ACCESS97を使用しておりますが、MDBを起動すると 「"テーブル名" の読み取り権限がないため、レコードを読み取ることができません。 」 とのメッセージがでてデータベースがオープンできません。 新規データベースを作成し、そのデータベースへインポート・リンクを試してみましたが、それも 同様なメッセージでデータ取り込みができません。 何とかデータだけでもサルベージしたいんですが、何かよい方法ありませんでしょうか?
>>711 で、どこからDLしたの?
そのMDB。
>712 自分の会社で作ったデータベースなんですけれども。 しばらく前までは問題なく使えていましたし、他のPCの同じ構成のデータベースは現在も使用できています。 いままで権限の設定はまったく意識せず作成し、使用しています。
他のPCに移して開いてみたら。 パスワード分からなくなった(と同様の状況な)らどうしようもないと思うが。
>>704 >>706 コメントありがとうございます。
社内システムの関係で
ACCESS2.0 ACCESS97 オフィス2000(ワード)、単体エクセル
と変則的に入っている状況です。
Win95ベースのマシンで行っても一般保護違反がでる始末です(苦笑)
バーコードコントロールとかは問題ないはずなのに……
(WIN98マシンは再セットアップしても現象再発したので当マシンでの作成は放棄しました(泣))
バーコード伝票システムは2.0で組み、稼働中です。
困ったなあ……
#一帳票にバーコードを8つも載っけているのが問題なのかな……
ではん。
>714 他のPCへはコピーして試してみましたが、同じくだめでした。 パスワードとかは設定していないんですが、他に確認することありますでしょうか。
逆に何を確認したのでしょうか
>717 データの復旧が目的です。 MDBの修復を行おうとしてもACCESSでオープンができない状態です。 ただ、べつインポート・リンクでMDBを指定するとテーブル選択にすべてのテーブルは表示されております。 インポート・リンクを実行すると「読み取り権限がない」エラーとなります。
>>715 漏れのところでAccess2.0と相性悪かったのは、NET8とSAP4.0
FrontEnd。原因はよく分からないけど、ODBCドライバぽい。
見当外れかも知れませんが、どっちか入ってませんか?
>>719 どもです。
社内基幹システムがオラクルなので、ODBCドライバは入ってます。
詳しくは見てみないと……
>>715 VBEの参照設定でAc2.0のころの
バーコードコントロール(名前知らん)を参照しても無理かな。
もしくは、その参照設定のOff/On
>>718 誰かがセキュリティかけちゃったんじゃないの?
そのデータベースの所有者が誰になってるか次第だが、復旧は厳しいかも。
>718 とりあえずMDBをShiftキー押したままで起動して、ツール→セキュリティ→ユーザ/グループの権限 あたりから確認してみるとか。
724 :
名無しさん@そうだ選挙にいこう :02/10/30 09:44
ACCESS2000に関する質問です。 レポートで請求書を作る際に、ページヘッダーに顧客情報 詳細にサブフォームで作られた受注明細一覧を入れると、受注明細が1ページに収まりきらない場合 対応する顧客情報と一緒に2ページ目に続きが出るのですが。 このサブフォーム内で集計させた商品の合計額の値をメインフォーム内に表示させる場合で なおかつ上記のような場合、1ページ目にはこの合計額を表示させず、2ページ目にのみ表示させることは できないでしょうか? メインフォーム名を[メインフォーム]、サブフォーム名を[サブフォーム]、 サブフォーム内での合計額が入るテキストボックス名を[テキストボックスA]、 テキストボックスAの値が代入されるメインフォーム上のテキストボックス名を[テキストボックスB]とします。
フォームなんだかレポートなんだか・・・ 多分、ページヘッダー/フッターとレポートヘッダー/フッターの違いを調べれば解決する。
726 :
名無しさん@そうだ選挙にいこう :02/10/30 15:29
>724 フォームかレポートかどちらか分かりませんが・・・ 文章の最初ではレポート、後半ではフォームに変わっているようですが・・・ レポートで考えてみました ・・・詳細の部分はグループ化されているのでしょうか? グループ化されていたら、グループ毎にヘッダー及びフッターを付けることが できます。 そのあたりを見直されたらいかがでしょうか?
727 :
YAHOOO情報 :02/10/30 15:49
>>724 まずお湯を適量、沸騰させます。
それから、塩をこさ
729 :
名無しさん@そうだ選挙にいこう :02/10/31 14:10
>>724 Formatイベントで可視、不可視にする方法もあるよ。
これだったらヘッダ・フッタ関係なしにできる。
730 :
名無しさん :02/11/01 23:28
>728 続きが気になるYO!
空ageかよ。
732 :
名無しさん@そうだ選挙にいこう :02/11/02 18:00
時間表示の方法を教えて下さい。 ACCESS2000で勤怠管理をしようとしてるのですが、 勤務時間や残業時間を日付/時刻形式で表示すると 24時間以上だと翌日と認識するらしく0:00に戻ってしまいます。 現状は、仕方なく合計時間を数値形式にして24を掛けていますが 分単位が小数になり、見栄えが悪いです。 24時間を超えても「35:20」とか表示される方法がありましたら教えて下さい。 よろしくお願いします。
733 :
名無しさん@そうだ選挙にいこう :02/11/02 18:26
>>732 ユーザー定義関数作れ
それぐらい簡単だろ
>>735 つまり、12時間で「繰り上がる」ワケだね。
ほら、コード書いてごらん。
735 :
名無しさん@そうだ選挙にいこう :02/11/03 00:27
サブレポートのテキストボックスの値をメインレポートのテキストボックスに表示したいときは どうしたらいいの?
736 :
名無しさん@そうだ選挙にいこう :02/11/03 13:27
どなたか教えていただけませんか AccessまたはExcelで、下記Aの表をBに変換したいと思っています。 表Aがそれぞれ異なるフォーマットで大量にあります。 abcは可変、アイウは固定です。 表A(Access:値は件数) a b c ア 1 1 0 イ 0 0 3 ウ 5 5 3 表B(値の行の下に%表示を追加して印刷したい) a b c sum ア 1 1 0 2 50% 50% 0% 100% イ 0 0 3 3 0% 0% 100% 100% ウ 5 5 3 13 38% 38% 24% 100% sum 6 6 6 18 33% 33% 33% 100% Excelに、表Aを貼り付け、式参照にて別シートで表Bを 作って印刷しようと思っていますが、もっとエレガントな方法 がないでしょうか?
737 :
名無しさん@そうだ選挙にいこう :02/11/03 13:30
##表が崩れてしまったので、もう一度描きます スミマセン AccessまたはExcelで、下記Aの表をBに変換したいと思っています。 表Aがそれぞれ異なるフォーマットで大量にあります。 abcは可変、アイウは固定です。 表A(Access:値は件数) _____a____b____c ア__1____1____0 イ__0____0____3 ウ__5____5____3 表B(値の行の下に%表示を追加して印刷したい) ______a____b____c____sum ア___1____1____0____2 _____50%_50%_0%___100% イ___0____0____3____3 _____0%__0%__100%_100% ウ___5____5____3____13 ____38%_38%_24%__100% sum_6___6____6____18 _____33%_33%_33%_100% Excelに、表Aを貼り付け、式参照にて別シートで表Bを 作って印刷しようと思っていますが、もっとエレガントな方法 がないでしょうか?
738 :
名無しさん@そうだ選挙にいこう :02/11/03 17:00
>>737 簡単じゃねーか
Excelの空のワークシートにAccess側から書き込むようにしたらいいじゃん
739 :
名無しさん@そうだ選挙にいこう :02/11/03 17:59
>737 例えば、Excelで表Bの形式を組みます。 表Bには 1)Sumの行は当然アイウの合計数と全体の%を出すように計算式を入れておきます。 2)アイウ各行の下にはそれぞれの全体における%を出す式を入れておきます。 この表にAccess側からの操作(コマンドボタンにマクロ、あるいはプロシージャで記載)して 表Aのアイウの値を自動的に入れ、Excelで出力する方法もあります。 この場合は%の計算とSum行の計算はExcel任せになります。 この場合、Access側からプロシージャ(あるいはマクロ?)でExcelへの代入を記述する必要があります。 他には、単に表BをAccessレポート上で組んで印刷する方法があります。 どちらも印刷する表Bの形式がどの表Aに対しても同じであれば、 Access上での表Aに当たるテーブル(クエリー)がいくつあっても対応できるはずです。 やりにくいようであれば、表Aを一度「Temp」のような一時的なテーブルに吐き出すようにして、 そのTempテーブルとレポートを関連付ければ問題ありません。 ただ異なるフォーマットで表Aがたくさんあるとすると…その自動化をどうするかは悩むところですが。 あまりに異なる表Aがたくさんある場合、単に表AをExcelにエクスポートした方が早いような気もするし、 毎週あるいは毎月のように同じ操作を定期的にする必要がある場合には、 フォームでコマンドボタンを作って一括操作できるようにした方が便利かもしれません。
回答ありがとうございます。 ユーザー定義関数ですか。 やったことないのですが、 週明けにがんがってみます。 わからなくなったら、またお願いします。
昔、どっかで見たが、なんでExcelとAccessを並べて考えるのかと俺も言いたい。 使い方が相当違うぞ。
>741 739は737が詳しいこと書かないから、とりあえずAccess-Excelでの連携もできることを 記載したと思われるが…737の書き方では表Aがテーブルなのかクエリーなのか何なのかも分からん。 自分としては初心者の域を出ないからなのだろうが、 逆に何でAccessだからExcelだからと分けて考えなければならないのか良く分からない。 自分的にはやりたいことができればいいので、AccessとExcelを連携させることもありだと思うが。 使い方は違うが、Accessだけでは自分のテクニックで処理しきれない場合とか、 ある程度Accessで処理させたらExcelで処理させた方が楽な場合もあるような気がする。 もちろん、完全にデータベースとして構築されたものではAccess-Excelの連携なぞ無用だと思うが。 並べて考えると言うより、させたいことを実現するための手段(ツール)の一つとすれば、 別に両方使っても良いと思うし、両方の処理の仕方を考えて比較してみるのもいいと思うのだが? 使い方が違うと言うなら、どうやったらあるいはどう考えて処理したら良いか示してあげて欲しいな。 その方が、参考になると思う。
743 :
名無しさん@そうだ選挙にいこう :02/11/03 22:42
>>732 >>733 おいおい、このレベルの質問にこの答かよ。
俺としては、まあがんばれよ、とすら言えん。
頑張りすぎるな。
そこそこやってダメっぽかったらもう一度来い。
>>743 そんなことでageる必要ないだろ。
初心者相手に回答したくて必死だな…(プクス
745 :
名無しさん@そうだ選挙にいこう :02/11/04 01:45
フォームの合計の出し方について教えてください。 帳票フォームの詳細セクションにテーブルの内容を一覧表示しています。 内容は 商品名 | 単価 | 数量 | 金額 です。 フォームフッターに金額の合計を出したいためテキストボックス総合計をつくり 総合計のデータ・コントロールソースに=Sum([金額])としていますが、フォームを 開いてずっと待っても総合計に値が表示されません。refreshしても表示されないのですが Accessのウインドをいったん最小化して最大化すると総合計が表示されます。 この現象は私のパソコンだけなのか、それともやり方がおかしいのでしょうか?
すみませんパソコンの調子によるみたいでした。終了させてからやり直したら わりとすぐ表示されてます。
747 :
名無しさん@そうだ選挙にいこう :02/11/04 17:26
某所から誘導されてここに来ました ACCESS2000を使っています ボタンを押されるとクエリを実行して結果のデータを非連結のテキストボックスに表示したいのですが どうしたらいいでしょうか? こんな感じになると思ったのですがコンパイルが通りません 正しくはどうすればよいのでしょうか? Private Sub Seach2_Click() Me!name = Query.SearchQuery.name Me!sex = Query.SearchQuery.sex End Sub
>747 いいから死ね。一生コンピュータに触るな
749 :
名無しさん@そうだ選挙にいこう :02/11/04 18:06
>>748 あまりにも簡単な質問かもしれないけどそりゃ冷たすぎないか?
答える気もヒントもくれる気もないならレスしなきゃいいだろ
>>750 もちろん質問した本人だからだ 答えられるわけがない
っというかここのスレはIDが表示されないのですね
752 :
名無しさん@そうだ選挙にいこう :02/11/04 19:21
さっき注文していたヘリコプターが届きました。 メーカーはシコルスキーです。 どのボタン押したら離陸できますか。 あと出来れば着陸の方法も教えてください。
>>752 いい例えですね
まずエンジンをかけるといいと思います
離陸のためには操縦桿が必要ですがついていますか?
とりあえずonClickのイベントでプロシージャからクエリを発行して
フィールドのデータをプロシージャ内の変数に格納したいのですが
まぁなんとも他になんと言っていいかわからんのですよ
男友達の頼みなんでもう少し頑張ってできなかったらとっとと断ってすでに架橋に入っている
同窓会にでも顔を出しに逝って来ます
754 :
名無しさん@そうだ選挙にいこう :02/11/04 19:41
>>753 否!
1.先ず燃料を入れるべし.
2.マスタースイッチをオンに
3.コレクティブ・スティックのスロットルスイッチをオープンにし
4.メインローターの回転数を計器で、クリーンアークのところまであげる
ここまでできたら、また書き込んでくれ!
おりゃヘリの操縦なんて聞いてないのだが・・・ 妙に詳しいけどどこでそんな知識を手に入れるんだ? つ〜か 先に燃料って,タンク空で納車かよ
756 :
名無しさん@そうだ選挙にいこう :02/11/04 19:53
通常ヘリは空輸されてくるべ。
>>747 日本人ですか?
揶揄って言葉は知っていますか?
>>756 それはそうかも知れない
実際どうなんだろ・・・?
>>757 日本人だし比喩って言葉も知ってるよ
暗に比喩じゃなく具体的にどんな情報が足りないのか教えて欲しいって
伝えたかっただけだ
その前にも他になんといっていいかわからんと言っているから
日本人ならそれくらいわかってくれるかと思っただけ
どうしたいか、ってことが自分にしか分からない書き方がされているからじゃねーの。 具体的に書けば。 俺はしらん。
760 :
名無しさん@そうだ選挙にいこう :02/11/04 20:10
>>758 ちゃんとローターは回ってるか?
ちなみにシコルスキーとベルではローターの回転方向違うって知ってた?
ところでクエリーの結果は複数レコードになることを前提としなきゃいけないと思うのだが?
そして、多分DAOかADOのレコードセットを使用してフィールドのデータを取得するのが一般的だと思うのだが?
>>760 っというかヘリ自体詳しくない
博学な人間でないとプログラムは難しいのか・・・
複数レコードは前提が望ましいんだろうけど
希望のレコードが先頭にくるまで検索しろって感じみたいです
レコードセットを使うんスね なんか希望が見えてきた気がする
っというかクエリで簡単にはできんのね
PHP+postgresの方がなんぼかわかりやすい・゚・(ノД`)・゚・
762 :
名無しさん@そうだ選挙にいこう :02/11/04 20:59
根性無し!
763 :
名無しさん@そうだ選挙にいこう :02/11/04 21:01
教えて下さい。 DoCmd.OpenFormメソッドのwherecondition引数に、 検索対象の靴フォームにリンクする靴色サブフォームを 指定したのですが、おかしな状態になります。 DoCmd.OpenForm "靴フォーム", , , _ "(" & Forms!靴フォーム!靴色サブフォーム.Form!色 & " = " & Me!色 & ")and " _ & " ( 在庫帳番号 = " & Me!在庫帳番号 & " ) " どうすればサブフォームのフィールドを検索出来るのでしょうか?
764 :
名無しさん@そうだ選挙にいこう :02/11/04 21:07
すんません上のソースの在庫帳番号フィールドは、 靴フォーム内のフィールドです。在庫帳番号と色で検索し、 靴フォームの在庫帳番号フィールドにまず在庫帳番号を探し、 今度は見つかったレコードにリンクされたサブフォーム内の 色フィールドに検索する色を探し、それを持つレコードを見つけたいのです。
765 :
名無しさん@そうだ選挙にいこう :02/11/04 22:09
>764 whereConditionにしなくても サブフォームプロパティのリンク親フィールド、 リンク子フィールドに「 在庫帳番号;色 」ってなかんじで2つのフィールドを 指定してやると親フォームのフィールドで指定したレコードが抽出される。
766 :
名無しさん@そうだ選挙にいこう :02/11/04 22:13
ローターは正常に回ってるか?
そうしたら、コレクティブスティックを静かに引き上げろ、静かにだぞ!
機体が浮いたら、ふっとペダルで機種の修正をするのを忘れるな!
機体が流れたら、サイクリックス・ティックで直せ!
あっ、それからおいしい蕎麦屋があっても、決してヘリでは行くな!車で行け!
高速のサービスエリアに降りるのも駄目だ!
>>763 なにか根本的にサブフォームの使い方を間違えているような気がする。
767 :
名無しさん@そうだ選挙にいこう :02/11/04 22:20
>766 >なにか根本的にサブフォームの使い方を間違えているような気がする。
レコード検索画面が欲しいんじゃないの? 自分ならサブフォームじゃなくて
リストボックスにするけど。
もしかして
>>693 の続き作ってんのかな。
768 :
名無しさん@そうだ選挙にいこう :02/11/04 22:21
769 :
名無しさん@そうだ選挙にいこう :02/11/04 22:26
ところで飛行許可は取っているのか?
>>764 テーブルの項目を書いてみ
キーと外部参照キーのみでよいから。
22さん!まりがとう!!
MSDEで15台接続は無謀? 金がねぇんだよ〜・・・ ちなみに更新処理が多いのは5台くらい
772 :
693=763 :02/11/05 00:00
そうです。何故分かったんでしょうか、、、。 その後以下のリレーションになりました。 靴テーブル 主キーが靴番号 外部参照キーはなし 靴色テーブル 主キーが靴色番号 外部参照キーが色と靴番号 色テーブル 主キーが色 入出テーブル 主キーが入出番号 外部参照キーは日付と靴番号 日付テーブル 主キーが日付 入荷テーブル 主キーが入出番号 売上テーブル 主キーが入出番号
773 :
693=763 :02/11/05 00:01
入出テーブルに一対一で入荷、売上テーブルが付きます。 日付テーブルと靴色テーブルが一対多で入出テーブルに付きます。 色テーブルと靴テーブルが一対多で靴色テーブルに付きます。 合計等の計算は同テーブルの値同士でないと 色々問題が起こる事に気が付いたので、 入出テーブルに全ての商品の入出を記録する事にしました。 ですが記録内容に偏りがあるので、一応一対一 でそれと入荷、売上のデータを別にテーブルに 分けました。
774 :
693=763 :02/11/05 00:13
靴テーブルに在庫帳番号というフィールドが あり、人はその番号でだいたい靴を認識するのですが、 完全に靴ひと種類に対して固有な番号ではないので、 データベース用に靴番号という固有な番号を設けました。 そして前回教えて頂いた様に靴と色別の靴色テーブルも 設けました。 そこで靴が入荷したら、入荷フォームで在庫帳番号と色を入力すると、 それに対応した靴色番号が入荷フォームに入力される仕組みにしようと した訳なのです。同じ様な仕組みで売上フォームも作るつもりでした。
775 :
名無しさん@そうだ選挙にいこう :02/11/05 02:51
>>771 大丈夫じゃない?
実績あるよ
更新処理が同時に頻繁に掛かるような業務なの?
776 :
名無しさん@そうだ選挙にいこう :02/11/05 08:22
>>772 入出テーブルと靴テーブルの必要性が良く解らん!
靴テーブルのレコード数=靴の種類 なのか?
靴色テーブルのレコード数=靴テーブルのレコード数 なのか?
それであれば、靴色テーブルか靴テーブル、どちらか不要だぞ
入出テーブルのレコード数=入荷テーブル+出荷テーブル なのか?
それであれば、まとめたほうが良いぞ。
777 :
名無しさん@そうだ選挙にいこう :02/11/05 10:10
質問です。 VBAでもマクロでもかまわないのですが、あるデータを(仮に商品マスター) をダイアルアップ接続をして、相手側のサーバーに入り込みダウンロードをする 方法を教えてほしいのですが、どのようにやれば良いのでしょうか。 ちなみに、接続電話番号とユーザー名・パスワードは頂いています。
778 :
名無しさん@そうだ選挙にいこう :02/11/05 12:47
>>777 UIDとPWDは何のサービス用ですか。
一番単純で安全な方法は、ダウンロード対象をサーバー側でテキストにしてもらって
FTPで取りにいってクライアントのテーブルにインポート(TransferTextメソッド)するの
が良いと思います。
フリーのライブラリで
「同期型FTPクライアントDLL」「VBRas32」などがあります。
やりかたはちょっとわかりませんがサーバーがSQLServerでクライアントがMSDEを使ってる
なら直接同期をとる方法もあるかもしれません。
779 :
bloom :02/11/05 13:00
780 :
名無しさん@そうだ選挙にいこう :02/11/05 13:17
レコードセレクタでレコードを次々に送っていき、 ・最終レコードから一つ次のレコードに移った時 ・新規レコードボタン(>*)を押した時 にかってに新規レコード入力モードになりますが、 この瞬間を取得出来るイベントって無いでしょうか。 もし無ければ、この瞬間に新規コードを振ろうと思っているのですが、 他にやり方があるのでしょうか。
781 :
名無しさん@そうだ選挙にいこう :02/11/05 15:05
>>780 FormのCueerntイベントでNewRecordプロパティをチェックではだめけ?
先日、24時間を越える時間表示について質問した者です。
結局ユーザー定義関数は私のスキルでは無理だったので
非連結テキストに
=(DateDiff("d",#0:00:00#,Sum([残業時間]))*24)+Hour(Sum([残業時間])) & ":" & Minute(Sum([残業時間]))
こんなことを書きました。あとはIIfを駆使して表示がきれいになるようにします。
教わった通りには出来ませんでしたが
>>733 さん、
ヒントを下さった
>>734 さん
やさしい言葉を掛けてくださった
>>743 さん、ありがとうございました。
また何かありましたらよろしくお願いします。
783 :
名無しさん@そうだ選挙にいこう :02/11/05 16:45
Access97で作ったmdbを会社のPCに移動させたいのですが、 ADOを使っていたので、指定のプロバイダが見つかりませんの罠に 引っかかりました。MDACをインストールしても良いかと上司に訊くと 駄目とのこと(市ね)。 そこでDAO3.5で作り直そうと思うのですが、これならAccess97がインストールされて いれば動きますよね?
784 :
名無しさん@そうだ選挙にいこう :02/11/05 17:13
>>783 動くと思う・・・が心配ならmdbオープンする程度の単純なサンプル作って
動作確認してみたら?
785 :
名無しさん@そうだ選挙にいこう :02/11/05 17:47
>>783 Access97でADOて使えたか?
ADOは20000からじゃなかった?
>771 余裕だよ ただしMSDEは一番いいスペックのPCに入れとけ ん?鯖に入れるのか だったら何の問題もない
>>784 そうか、そんな簡単な手がありましたか…。
もう家帰って来ちゃったよ…。明日実際やってみます。
>>785 多分使えないけど、作ってる家にはVB6が入ってるから。
788 :
693=763 :02/11/05 20:26
>>776 ありがとうございます。
靴には大抵色が何種類もあります。
その靴を色別に管理する為に別に靴色テーブルを
設けました。
入出テーブルと入荷テーブル、売上テーブルを
一対一で繋いで別にしているのは、ただ空フィールド
を無くしてデータベースの容量がかさばらない為でした。
ウチの店のやり方では、一つの在庫帳番号に
現在在庫している一つの靴を割り当てており、
それを靴テーブルに記録しています。在庫が
ゼロになれば、新しい靴にその在庫帳番号は
譲られます。売り切れた靴も記録に残しておこうと
すると、在庫帳番号は主キーに出来ません。
その為に靴番号や靴色番号を作りました。
ですが売上、入荷を記録する時は、人は靴を在庫帳番号
でしか入力できません。その為に売り切れた靴には
売り切れチェックを入れる事で、同じ在庫帳番号でも
現行商品と売り切れ商品の区別を付けました。
例えば売上入力をする時は、在庫帳番号と色を
入力すると、靴テーブルから同じ在庫帳番号と売り切れ
チェックが入っていない物を探し、見つけたらそれに
リンクされた靴色テーブルからその色を探し出し、
そこに記録されている靴色番号を入出テーブルに
記録しようとしたのです。
その為にフォームとサブフォームにまたがって検索出来る
方法がいるのでした。
設けました、ってもっと考えてから作り始めろよ。
790 :
693=763 :02/11/05 21:22
>>789 考えたつもりだったのですが、
初めて作る為もあってか、いざ動かすと
やっぱりダメで、試行錯誤が必要でした。
791 :
名無しさん@そうだ選挙にいこう :02/11/05 23:15
すいませーん エクセルからデータをインポートしてデータ を追加したんですが、そのデータが反映され ないっつうか、リンクされていないていうか・・・。 初めてアクセス使うんでなんと言っていいか わからないんですが、入力しただけじゃ使え ないんすか??
792 :
名無しさん@そうだ選挙にいこう :02/11/05 23:33
ACCESS2000で自分のプロバイダーのホームページにmdbを置いて接続したいんですが、 うまくいきません。やっぱり、サーバーもWinじゃないとだめですか?
793 :
名無しさん@そうだ選挙にいこう :02/11/05 23:40
ACCESS 靴まつり(藁
>>788 やっぱり設計がヘン。ガイシュツだがDBはテーブル設計で
良し悪しが決まる。
>>693 のときに指摘された1型1色に一意のコードで
管理することをなぜ頑なにやらんのだ。時にはシステムのほうに業務を
あわせることも必要。 あとテーブルのネーミングもわかりづらい。
マスタ情報を入れたテーブルなら「商品マスタ」にしる。
悪いことはいわんから明日本屋に走って「ACCESSで作る売上管理」
の類の本を買ってきて、基本に忠実に設計することをお勧めする
794 :
名無しさん@そうだ選挙にいこう :02/11/05 23:47
>>792 あなた面白すぎ。
とりあえず、「できません」と逝ってみる。
>791 全く状況がつかめんが、まず、インポート自体がうまく行かないのか、 それともフォームやレポートの表示上反映されないのかを切り分けるために インポート先のテーブルを開いてデータがあるかどうか確認せい それから一体何をどのようにやろうとしているのかを生理せい
796 :
名無しさん@そうだ選挙にいこう :02/11/06 00:09
797 :
名無しさん@そうだ選挙にいこう :02/11/06 00:17
>>771 うちなんかADPで作って10台くらい同時接続してるけど全然大丈夫。
あと、64kの専用線で外から繋いでも、ちょっとしたデータ参照や帳票出力
程度なら、本社のLANに直接繋ぐより速度は落ちるけど実用上問題なし。
(さすがに沢山のデータを入力するとかなると、少々トロいけど)
MDBで作ってた時は年に数回はデータベースが破損してたけど、MSDEを
バックエンドにしてゼロから作り直したら鬼のように安定した。MSDE恐るべし。
799 :
名無しさん@そうだ選挙にいこう :02/11/06 00:36
>>792 プロバイダのWebサーバはUNIX系が多いと思う。Windows系のWebサーバ
を使っているプロバイダなんて、わたしゃ見た事がない。
Windows 2000 Server(又はNT Server)+IISを使っているWebサーバ
なら、ASPからmdbファイルを使えると思う。
ただ単にAccessにあるデータをCGIで読みたいだけなら、Access側で
テキストファイルに変換してWebサーバにアップすればいいと思うのだが。
>>799 マジレスサンクス!!
やっぱり、WebサーバはUNIX系です。
ただ、ASP等を使ったWebデータベースを作りたいんじゃなくて、
VBや、Accessをクライアントに使ったDBを作りたかったんです。
SQLServer等のようにサーバーの設定をしなくてもデータだけのmdbなら
簡単に置けるし、AccessのインストールもしなくてもVB等からADOで接続
できるから、もしや?と思い試したんですがうまくいきませんでした。
くだらない質問してすみませんでした。
801 :
名無しさん@そうだ選挙にいこう :02/11/06 01:14
靴屋さんへ 本当は何の在庫管理なの? 商品を書く必要は無いけど、靴では例えが解りにくいよ MSDE何か凄そうですね! オラクルしか使ったこと無いのですが オラクルと大きく何処が違いますか? 見当が付かないのです
802 :
693=763 :02/11/06 01:14
>>793 元々は靴テーブル(靴マスタですね、、。)しかなかったのですが、
教えてもらった事を参考にして後で靴色テーブルを設けました。
アクセスで色別に記録した番号を業務で使うのは難しいのです。
何故なら、業務では在庫帳番号は靴の種類の識別にも使われて
(ビジネス物は五千番台、カジュアル物は九千番台とか)、
それは販売時の判断には便利な仕組みです。また、
売り切れた靴の番号を使えないと、どんどん数字が増えて
行ってしまい、靴の種類を番台に収めることが出来なくなって
来ます。
実はそもそも販売管理でアクセスを使ったのは、古いが
手に染みた方法を出来るだけ変更しないで、しかも商品単位の
売上分析をする為だったのでした。
色々な販売管理の本も読みましたが、やはり上の処理の為に
独自のリレーションを組んだのですが、仰られる通り余りに
独自な事をした為に確かに道に迷いました。
ただ今回、入出テーブルを作り売上の入荷も同じテーブルで
管理する方法は、販売管理の本に載っている方法を思い出して
真似したつもりだったのです。
今の所、フォームとサブフォームにまたがって検索出来る
方法が分かりさえすれば解決しそうなのですが、、、。
803 :
693=763 :02/11/06 01:15
804 :
名無しさん@そうだ選挙にいこう :02/11/06 09:26
>693=763さんへ 私もまだ初心者の域を出ませんが、メインとサブにまたがっ て検索するため、あるいはデータベースとして主キーはどう なっているのでしょう? 在庫帳番号を繰り返し使いたいのであれば、 それを格納するテーブル(id/在庫帳番号/靴名称としてidは データベース全体でユニーク"単一"のものを割り当てる)よ うにすれば、過去のデータも現在のデータも格納できます。 独自のリレーションはいいけれど、メインとサブが正常に リンクできるような構造にしないとデータベース自体が使 えませんよ。 その辺どうなっているのでしょうか?
↑ごめん。ちゃんと読んだら>772に書いてあったね。
>693=763さんへ いきなりコード書かずに、まずはクエリー作ってみたら? クエリーでデータ表示させられればそれをフォーム上に 展開することは結構楽にできるはず…。 わざわざDoCmd.OpenFormでやらなくても、どこかに1つ ボタンを作って、ボタンを押したらクエリーのデータを 表示するフォームが開くとかじゃダメなの?この方法なら クエリーをフォームのソースにすればいいんだけどな。 外へ表示させるのがいやなら、メインフォームのデータ はコンボボックスかリストボックスにしておき、表示し たいデータを選択したらボタンを押して、メインフォー ム内のサブフォームを表示させる。(これも先と同様サブ フォームはクエリーをソースとしておく。いろんなクエ リーのデータを1つのサブフォームで表示させたい場合は、 ソースを切り替えるコードを書けばできる)
807 :
名無しさん@そうだ選挙にいこう :02/11/06 10:32
初心者な質問で恥ずかしいのですが・・・ データをメールで添付したら受信先で必ず 「シートの順番が正しくないので開けません〜」と出るのですが どうしたら解決するのかどなたか御教授ねがえるとありがたいです。 ちなみに送り側も受け側も全く同じ環境です。
808 :
名無しさん@そうだ選挙にいこう :02/11/06 10:44
売上管理のデータです。テーブルとやらで作っています。
810 :
名無しさん@そうだ選挙にいこう :02/11/06 11:01
>>809 mdbファイルなのか?
データベースの修復てのをやってみた?
mdbファイルです。データ修復ってのはやってるようなのですが 上記のようなエラーメッセージがでるのでお手上げです
812 :
名無しさん@そうだ選挙にいこう :02/11/06 11:11
>>811 なら、生ファイルで送らないでzipなんかで圧縮して送ってみたらどう?
今圧縮して送ってみたのですがやはり上記のエラーが 出ました。元々の何かがおかしいのでしょうか(汗
814 :
名無しさん@そうだ選挙にいこう :02/11/06 11:26
じゃ、送る前に最適化してる?
起動時にVBAで何かやってたりして。
とりあえず当該データをFDなりCD-Rなりで運んでみて、それでちゃんと開けるか確認してみては? やはり開けないようなら環境は「全く同じ」ではないわけで。 そのへんの問題は切り分けた方がいいと思う。
817 :
名無しさん@そうだ選挙にいこう :02/11/06 11:49
教えて下さい。 レポートでマス目を使うときに簡単な方法はないでしょうか。 私はテキストボックスの高さを詳細エリア一杯に合わせ、 横は隣のテキストボックスにくっつけて、境界線を実線にしているのですが、 その作業がとてもしんどいです。 こうやればもっと楽だ、というものがあればご教授ください。
818 :
名無しさん@そうだ選挙にいこう :02/11/06 12:53
>>818 確かにあれはアクセスの開発で一番難しい(wr
複数のオブジェクトを選択したあと右クリックで出てくるメニューの
「配置」と「サイズ」は使ったことあるよね
>>818 さんレスありがとうございます。
高さは詳細エリア内のテキストボックスを複数選択して
右クリックで「高さ」を詳細エリアそのものの高さと同じに数値入力、
(横幅をそろえるときもここで「幅」を数値入力)
横をくっつけるときは「書式」→「左右の間隔」→「間隔を狭くする」を
動かなくなるまで繰り返しています。
横をくっつけるときですが「間隔を狭くする」の前に 「間隔を均等にする」を1回入れてます。
821 :
名無しさん@そうだ選挙にいこう :02/11/06 20:16
SQLで別のテーブルにデータを追加する際に、 住所録テーブルの[苗字]フィールドと[名前]フィールドを一緒にして 印刷用ワークテーブルの[氏名]フィールドに入れたいのですが、やり方をご教授願えませんか。 ・tbl住所録 苗字 | 名前 | … 伊達 | 正宗 | … これを ・tbl印刷ワーク 氏名 | 伊達政宗 | こうしたいです。 宜しくお願いします。
822 :
名無しさん@そうだ選挙にいこう :02/11/06 20:22
ギョフ
823 :
名無しさん@そうだ選挙にいこう :02/11/06 20:24
呂府
select [苗字] & [名前] from [tbl住所録]
825 :
名無しさん@そうだ選挙にいこう :02/11/06 21:14
>>821 tbl印刷ワークテーブルにレコードを追加したいんでしょ?
コピペして使ってみて、多分動くと思うから。
INSERT INTO tbl印刷ワーク ( 氏名 )
SELECT tbl住所録.苗字 & tbl住所録.名前 AS 氏名
FROM tbl住所録
826 :
名無しさん@そうだ選挙にいこう :02/11/06 21:23
↑ うごかねーよ、ゴミ!
>>826 嘘だろ、俺の環境(2002)では動くぞ
828 :
名無しさん@そうだ選挙にいこう :02/11/06 22:58
質問です。私ではなく、友達が卒研で困っていて 頼まれたので(友達は今ネットにアクセスできない状況なのです) 私自身はアクセスの知識がなくて申し訳ないことを前置きしておきます。 アクセスのチェックボックスを作る際に、例えば 五つまでチェック欄をクリックして良いシステムを作るとします。 システムの利用者が間違って、チェック欄を六つクリックして しまった際に、その場でエラーメッセージやエラー音が鳴る ものを作りたいのですが、その やり方が分からないそうです。提出期限が明日で、 とても困っているようなので、どうか 教えてやって下さい。お願いします。
>>824 &で良いのか…。ああ…。
>>825 動き申した!
どうもありがとう。
>>828 「数値型のFlag変数使って、IfでFlagの数が規定数以上ならエラーにしる」
↑と、知識のあるツレに言えば分かると思います。
以上。
MSDEの質問に答えてくれた皆さん。ありがとう。 更新は5人くらいが1日中、入力してます。 参照が10人くらい。 あと、テスト的に作って見てるんだけど ADPだけで開発できない部分ってありますか? OSQLでないと出来ない処理とか。 あれ使いにくいからキライ・・・
質問です。私ではなく、友達が卒研で困っていて 頼まれたので(友達は今ネットにアクセスできない状況なのです) 私自身はアクセスの知識がなくて申し訳ないことを前置きしておきます。 みんな、アクセスのDBって、どれくらいの値段で開発してんの?
>>832 「自分のしか作ったことありません」
↑と、知識のあるツレに言えば分かると思います。
以上。
>>833 あの・・・素人は黙っててもらえますか?
お願いします。
>>828 >>832 各チェックボックスのクリック時イベントで数えればいい。
例えばN個のチェックボックスの名前がそれぞれ CheckBox1 〜 CheckBoxN だとして、
CheckBox1のクリック時イベントプロシージャに
Sub CheckBox1_Click(CANCEL As Long)
i=0
if CheckBox1 Then i=i+1
if CheckBox2 Then i=i+1
if CheckBox3 Then i=i+1
(省略)
if CheckBoxN Then i=i+1
if i >5 Then Msgbox "チェックしすぎです"
End Sub
と書く。同様にCheckBox2のクリック時イベントプロシージャにも
Sub CheckBox2_Click(CANCEL As Long)
i=0
if CheckBox1 Then i=i+1
if CheckBox2 Then i=i+1
if CheckBox3 Then i=i+1
(省略)
if CheckBoxN Then i=i+1
if i >5 Then Msgbox "チェックしすぎです"
End Sub
更にCheckBox3、CheckBox4、・・・CheckBoxNまで全部同じように書けばOK.
質問です。私ではなく、友達が卒研で困っていて 頼まれたので(友達は今ネットにアクセスできない状況なのです) 私自身はアクセスの知識がなくて申し訳ないことを前置きしておきます。 実は今、クリスマスを一緒に過ごす女の子は麻希子がいいか香織がいいか すっごく悩んでいるんです。麻希子は巨乳、香織はフェラ上手です。 ぜひみなさんのアドバイスをお願いします。
>830 adpは、システムテーブルを内部にもたずSQL鯖(MSDE)に持つから mdbなら出来る処理の一部が出来ない。 例えばcsvファイルやexcelファイルなんかの外部データとのインポート/エクスポートで こまかい設定を保存しようとしても出来ない。 この場合はbcpユーティリティかBULK INSERTでフォーマットファイルを使うことに なるかも知れない。
838 :
名無しさん@そうだ選挙にいこう :02/11/07 06:21
>>837 ログイン画面作成して、鯖のテーブルにIDと一緒に設定をしまえば?
839 :
名無しさん@そうだ選挙にいこう :02/11/07 09:52
レポートで質問です。 請求書(請求明細書もかねてます)をレポートで印刷したいと思っています。 用紙の形としては −−−−−−−−−−−−− <ページヘッダー> 顧客名 顧客住所 前回入金額 (中略) 今回請求額(ここは一行です) <顧客IDヘッダー> <詳細> 請求明細項目がずらっと並ぶ <顧客IDフッター> <ページフッター> −−−−−−−−−−−−− こんな形です。 顧客IDでグループ化して、一度に複数の顧客の請求書を印刷しようと考え てます。 お聞きしたいのは、請求明細項目がずらっと並び、一枚に収まらないときに 二ページめからは前回入金額などの項目を印刷しないようにしたいのですが、 どうすればよいでしょうか? 顧客IDヘッダーに入れておくと、2枚目にいったとき、請求明細項目が上にズレ てしまい失敗したので、ページヘッダーに入れたのですが、全部ページに印刷 されてしまって・・・ 前のページと同じ顧客IDだったらVisibleをFalseにすれば良いのかな?とも思う のですが、どのタイミング(イベント?)でやれば良いのか、教えていただけたら と思います。 お願い致します。
>>836 イベントプロシージャ
> フォーカス喪失時
> Docmd.SetWarnings False
841 :
名無しさん@そうだ選挙にいこう :02/11/07 13:53
>839 >前回入金額 (中略) 今回請求額(ここは一行です) このデータのグループ化をして、ヘッダーのプロパティでセクション繰り返しあり にしますと、取りあえず、ずれなくなると思います。 2枚目以降は、前回入金額を非表示にされたいとのこですのでヘッダーのプロパティで フォーマット時にイベントプロシージャを記述してみてください If 条件 Then Me.前回入金額.Visible = True Else Me.前回入金額.Visible = False End If 頭の中で考えただけですので、これで可能かどうか分かりません
>839 もっと、簡単な方法を思いつきました 前回入金額 (中略) 今回請求額(ここは一行です) を、<顧客IDヘッダー> の中に入れて <顧客IDヘッダー>のプロパティ グループヘッダーのカレントセクションの前に改ページ グループフッターでは改ページ無し に設定してみてはいかかでしょうか? でも、これも試したわけではないのでうまくいくかどうか分かりません うまくいくといいですね〜
>>841-842 ありがとうございます。
>>841 に近い形で巧く行きました。
やり方としては、不可視にしたテキストボックスを用意して、
顧客名(これも表示してます)とテキストボックスを比較して、違うならば
テキストボックスに顧客名を代入。
同じならば前回請求などのVisibleをFalseにするって形にしました。
不思議なのが、「フォーマットイベント」で行うと巧く行かないことです。
なんどもフォーマットイベントが起きてるっぽいです(^^;
そこで「プリントイベント」で以上の処理をやったら巧く行きました。
具体的に書いてみると
Private Sub ページヘッダー_Print(Cancel As Integer, PrintCount As Integer)
If 顧客名の先頭 Like テキスト59 Then
Me![売掛金のサブレポート].Visible = False
Me![前回請求を求めるサブレポート].Visible = False
Else
テキスト59 = 顧客名の先頭
End If
End Sub
テキスト59ってのが新しく作ったテキストボックスです(名前は後でちゃんとつけよう)
おかしな事をしてるかもしれません(^^;お気づきのところは指摘してください。
なんとか動いています。ありがとうございました。
イマイチ、レポートのイメージがつかめなかったので、大した助言 が出来ませんでしたが、うまくいってよかったですね
845 :
名無しさん@そうだ選挙にいこう :02/11/07 18:23
>>843 恐らくまだ不完全なコードだとは思うけど、その方法だと普通に全部を印刷した場合は
問題ないけど、プレビューだとどうだろう・・・
レポートを初めて開いて1ページ目を表示した状態で最終ページに飛んで一ページずつ
バックさせると、顧客の最後のページに前回入金額と今回請求額が表示されるのでは?
顧客名 顧客住所 をレポートヘッダにしては? すまん・・・あんまし読んでない
>>841 ありがとうございます。
>>845 ・・・すごい!まさにその不具合が出ました。
うーんどうしたら良いのでしょう?
なんでページヘッダーのフォーマットがこんなに1ページに何回もやってるのかな?
>>846 顧客IDで変わる項目なので、レポートの頭にしか出ないレポートヘッダーだとだめ
なんです(^^;
ヘッダーが出なくても、<詳細>の項目が上にずれないように出来れば、もっと素直に
行けそうなんですけど、できないでしょうか?
849 :
名無しさん@そうだ選挙にいこう :02/11/08 09:23
>839 842は試したのか?
835の手抜き版 各チェックボックスの更新前処理で Private Sub chkONE_BeforeUpdate(Cancel As Integer) IF Me.chkONE.Value + Me.chkTWO.Value + ... Me.chkN.Value < -5 then Msgbox "チェックしすぎ" Cancel = TRUE end if End Sub
851 :
名無しさん@そうだ選挙にいこう :02/11/08 17:03
会社の伝票管理用にアクセスを購入しようと考えているのですが、 アクセスのインストールされていないPCで起動するアプリケーションを 作ることは可能ですか?
852 :
名無しさん@そうだ選挙にいこう :02/11/08 17:10
>>851 可能
ただし、Officeデベロッパー版を購入して、ランタイムを作成する事
情報ありがとうございます。 アクセスと比べて値段が数倍違いますね。 超簡単DBなのでMySQLとC/C++でやってみますぅ。
「オブジェクト変数なんてnothingしなくても大丈夫!」とか 言ってる自称プログラマがいるスレはココですね?
と思ったけどアクセス2個買えばいいのか。これ正解。
856 :
名無しさん@そうだ選挙にいこう :02/11/09 11:08
>>854 オブジェクト変数をnothing しても、オブジェクトへのポインタが初期化されるだけで、実体そのものは変化しないよ。
あえてnothing しなくても、スコープが外れた段階でnothing されるし。
だからnothingしなくても大丈夫!(多分)
俺は必ずnothingしているけどね。
オブジェクト指向的な考え方だと、nothing やclose が必要なんてのは古い考え方だよね!
保守age
859 :
名無しさん@そうだ選挙にいこう :02/11/11 21:39
なんか最近さびしいな! よしっ、わかった。ヘリコプターの操縦方法はもう書かないよ! どしどし、質問してよ! 面白そうだったら答えるよ!
860 :
名無しさん@そうだ選挙にいこう :02/11/11 21:41
まったくの初心者ですみませんがお願いします。 Access2000使用で顧客管理をしています。 そこからDM用のシール印刷をしたいのですが、 同じ住所のときは1枚しか印刷しないようにするにできますか?
>>860 重複クエリウイザードを使ってみましょう
862 :
名無しさん@そうだ選挙にいこう :02/11/12 00:27
861さん ありがとうございます。それ調べてやってみます!
>>849 すごい遅レスになってすみませんです。
>>842 は、顧客IDが変わるタイミングで改ページするんですよね。
これも
>>841 と併用で使わせて頂いてます。
これで改ページしても、ページヘッダーが表示されるのでウマーです。
864 :
名無しさん@そうだ選挙にいこう :02/11/12 12:21
メインフォーム/サブフォームをデザインビューで表示させるとサブフォームが表示されません。どうしたらよいでしょう?
…
866 :
not=864 :02/11/12 16:10
私もサブフォームが表示されないことが時々あります(サブレポートも同様)。 そういう時はメインフォームを閉じて直接サブフォームを開けるのですが、 法則性があるのなら教えていただければありがたいです。
867 :
名無しさん@そうだ選挙にいこう :02/11/12 17:33
アドインマネージャー(VBの方の)にディストリビューションマネージャーが出てこないのですが、どうしたらいいでしょうか? 環境は Win2k sp3 + Office2000 premium です。
868 :
名無しさん@そうだ選挙にいこう :02/11/12 17:51
>867 > 環境は Win2k sp3 + Office2000 premium プレミアムじゃん
870 :
名無しさん@そうだ選挙にいこう :02/11/12 21:29
>>864 サブフォームは閉じておいて、メインフォームを開きましょう
ちゃんと表示されないときは、mdb自体1回閉じて開きなおしましょう
ありがとうございます。次回から気をつけてやります。
872 :
名無しさん@そうだ選挙にいこう :02/11/13 16:04
日付型のフィールドがあり、データの入ってない状態(null)だけ 帳票フォームに表示したくて、filterを使用したのですが、うまく いきません 識者の方、よろしくお願いします Me.Filter = "day is null" Me.Filter = "day =''" 二通りやってみましたが、ダメでした AC97です クエリでIsNullすれば済むのですが、他の兼ね合いもあり何とか フォーム上のVBAで処理できないものか悩んでおります
>>872 Me.Filter = "IsNull(day) = True"
ではどう?
Me.Filter = "hoge Is Null" '気になるなら"(hoge) Is Null" Me.FilterOn = True で通ると思いますけど。 Filterに渡す条件式は Select文の Where句以降に置く式と同等ですから。 少々、気になるのはフィールド名 dayが Day関数の名前と衝突しないのかな? ってことです。
>>874 の名前の衝突は無視してください。
Me.Filter = "day Is Null"
Me.FilterOn = True
で通ります。
フィルタ解除は Me.FilterOn = False です。
>>873-875 ありがとうございます。875でバッチリでした
dayは適当に付けたものです。day関数と衝突しますね、うっかりしていました
後は、オプションボタンでfilterのon/offをさせようと思います
フォームのレコードソース(テーブル)をフォーム上のコントロールから 切り替える事はできますか?
878 :
名無しさん@そうだ選挙にいこう :02/11/14 13:54
>>877 できますが・・・
ちょっと、その文章だけではよく理解できていないです。
2つ以上のテーブルで正規化はされているのでしょうか?
また、正規化しにくいデータなのでしょうか?
取りあえず、私の思いつくままに考えてみました。
フォームですが、メインと必要数のサブを用意してください
例えば、メインフォームにオプションボタンで選択できるようにしたとして
Private Sub opb_AfterUpdate()
Select Case Me.opb
Case 1
Me.Sub_F.SourceObject = "f_sub1"
Case 2
Me.Sub_F.SourceObject = "f_sub2"
End Select
また、何かの条件で切り替えたい場合は
Private Sub Form_Current()
Select Case Category
Case "age": Sub_F.SourceObject = "f_sub1"
Case "sage": Sub_F.SourceObject = "f_sub2"
End Select
End Sub
うまくいくといいですね
879 :
名無しさん@そうだ選挙にいこう :02/11/14 14:56
相談したいことがあります。 あるフォームからコマンドでフォームを開いたときに 元のフォームの個人IDのフィールドにある数字を コマンドで新しく開いたフォームの個人IDフィールドに 自動で入れることってできるのでしょうか?
>>878 おおっ、家帰ったら参考に試してみます。ありがとー
自己解決しました
>>880 もしかして、
>>877 さんと
>>879 さんは同一人物ですか?
取りあえず、1対1(又は多)のリレーショナルにしましょう
---------線で繋ぐ奴です
リレーショナルの意味は理解されているでしょうか?
入力自体はリレーショナルが出来ていて個人IDで結んでおけば
自動的(勝手)に入力します
あ、解決されていたんですね。すみません。 参考までに読んでくださいね 普通は、メインの中にサブを組み込んで入力フォームを 作られると思いますので。 下の説明は、別々のフォームで切り替えるだけの事です 私は、余りこんな事はしたことがありませんが参考程度に。 フォームを2つ用意します Aフォーム(元):F_A Bフォーム(後から開く)F_B Bフォームのレコードソース(クエリまたはsql)を SELECT T1.* FROM T1 WHERE (((T1.個人ID)=[Forms]![F_A]![個人ID])); とします Aフォーム(元):F_Aのコマンドボタンに Private Sub コマンド1_Click() DoCmd.OpenForm "F_B" End Sub としてみてください
続きです #分かりやすいようにF_Bのレコードソースを分けましたが、 普段からVBAをお使いでしたら、 Private Sub コマンド1_Click() DoCmd.OpenForm "F_B"の後にwhere句を置いてやってもいいと 思います。 こんな感じかな? Private Sub コマンド1_Click() stDocName = "F_B" stLinkCriteria = "[個人ID]=" & Me![個人ID] DoCmd.OpenForm stDocName, , , stLinkCriteria End Sub
VB厨だけど、Accessでフォーム使った経験はないんだけど、 Accessの場合、各コントロールをDBと接続しっぱなしが基本ですか?
887 :
名無しさん@そうだ選挙にいこう :02/11/14 22:34
>>878 さん
お返事ありがとうございます。
すごいですね。
ちょっと理解できません・・・・・。(泣
はやく使いこなせるようになりたいです。
で、自己解決した方法ですが、
新しく開くフォームの「個人ID」フィールドのテキストボックスの
プロパティを開いて、「データ」→「規定値」から
式ビルダを起動して、「フォーム」→「すべてのフォーム」→
「<元のフォーム>」→「個人ID」と指定してやることで
解決しました。
878さんの方法でもやってみます。
今急いでデータベース作らないといけない状況で
すごく困ってます。
878さんみたいにできる人がいるとたすかります。
自分勝手だと思いますが
しばらくの間助けてください。
お願いします。
では。
>>887 フォーム間でのデータコピーと一口に言っても、送出元、受け先の関係は
・単票形式 <-> 単票形式
・単票形式 <-> 帳票形式
・帳票形式 <-> 単票形式
・帳票形式 <-> 帳票形式
と、複数のパターンがありますよね?
些細なことと思うかもしれませんが、こういう点を明確にしたほうが
回答が出てきやすくなるでしょう。
それから、説明文が長いと読み方によっては質問なさる方の意図が
不明瞭になりますので、箇条書きにしたほうが要点がはっきりする
と思います。
>>889 ブラクラ踏まされたり、怪しいWebサイトに飛ばされたりするの嫌だから
キチンとやりたいことを書いて欲しいのですけど。
そのリンク先と似ているなら、そこで聞いたら?
>>887 さんへ
急いでデータベースを作らないと逝けないとのことですが、テーブル設計はしっかり
されていないと、後々困ったことが起こると思います。
特に、基幹になるテーブルとそれに従属するテーブル、正規化に伴うテーブルなどなど・・・
また、前回も書きましたが正規化とリレーショナルについての基本をしっかり押さえることが
データベース作成の近道だと思っております。
しっかりしたテーブル設計でないとクエリやVBAは便利に使うことが出来ないこともあります。
自己解決された方法は、ちょっと意味が分かりません。
普通は、IDをリレーションさせメイン・サブフォームを使うことで、同時に2つのテーブルにID
が格納される方法をとります。
あと、私の分かる範囲でしたら時間があればお答えします。しかし、私のスキルは低いので期待しないでください。
>886 接続しっぱなしが基本です。 接続しっぱなしのお手軽開発、というのがAccessの基本スタンスです(偏見)。 接続しっぱなしにしないのなら、VBを使う方が利口だと思います(独断)。
>889 こういう場合はSQL文を積み上げていくように書いたほうがいい。 あと、Null値がひとつの場合と複数ある場合で「And」の付け方が変わってくるけれど、 ダミーで「True」でも入れておけばいいだろう。 strSQL = "SELECT * FROM " & strSourceName If Not (IsNull(Me.年) And IsNull(Me.クラス) And IsNull(Me.名前)) Then strSQL = strSQL & " Where True" End If If Not IsNull(Me.年) Then strSQL = strSQL & " And ([年] = '" & Me.年 & "')" End If If Not IsNull(Me.クラス) Then strSQL = strSQL & " And ([クラス] = '" & Me.クラス & "')" End If If Not IsNull(Me.名前) Then strSQL = strSQL & " And ([名前] = '" & Me.名前 & "')" End If
IDはリレーションを作成しています。
>>894 へ
個人IDでリレーションされているのでしたら、
>>882 でも書きましたようにメインで
個人IDを入力してサブで何かしらのデータを入れてやると、どちらのテーブルにも、
個人IDが入りますよ。
入力フォームを見直してみてくださいね。
質問です ADOでLANのデータ(アクセス)をリンクってできるんでしょうか? どなたか教えてください。 教えていただけたらおっぱいをもみます。
ADOを使うのに何故リンクという考え方がでてくるんでしょうか。 教えていただけたらおっぱいをもみます。
898 :
名無しさん@そうだ選挙にいこう :02/11/16 00:44
>>897 オッパイをもまれても気持ちよくないので、教えな〜い!
アクセスは、そのファイルがLAN接続なのかローカルなのかは知ったこっちゃ無いよ!
切手収拾や、ビックリマンチョコシール収集、等、いろんなものを集めるのが好きな人は
ちゃんとしたテーブル設計が出来るよ!
テーブル設計がちゃんとできない人は、おかしな設計して、外注に出すの止めてくれ、迷惑はなはだしいよ!
それからプログラム書けなくて、日本語すらあやしいくせに、仕様書作るのは止めてくれ、犯罪行為だよ!
多分詐欺罪になるかも!
ちょっといま手元に不思議なDBがありまして 取引先から受け取ったものなんですけど (僕自身は仕事でたまにAccessをいじる程度の素人、本業は小売業) AccessがインストールされていないPCに、mdbファイルが入っているんです。 自分のPCにコピーしてみるとAccess2000で読めるので、間違いなくAccessの ファイルです。 テーブルだけで、クエリもフォームも全然ありません。 フォルダーをあちこちいじくってみると、VBでつくられたと思われる、 ものすごい数のEXEファイルが出てきました。 たまに話題になる、VB+Accessってのは、こういうのをいうんですか? だとしたら、これって何だか目も眩むような仕事ですよ。 VBのEXEファイルは数百個あります。 mdbファイルの中のテーブルも、200個以上あります。 このアプリの機能というか使い道というか使い勝手というか、 オモテ側から操作した感じからすると、これは全く信じられない 数のテーブルです たぶんそのほとんどは、データの仮置き場みたいなテーブルだと思うんです。 勝手な想像ですが、何か表示させるたびに、その仮置き場テーブルに 必要なデータを流すみたいなことしてるんじゃないでしょうか。 こういうのってクエリとフォーム使えばもっと単純にできると思うんですけど、 あえてこういう形を取るメリットってのは何なのか知りたいなと、単なる興味 好奇心から書き込んでみました。
何で896でなくあたしが突っ込まれてるんでしょうか…。 教えてくれたらおっぱいもみます。
>900 私もトーシロなので知っている方の返答を期待していますが… 恐らく、 1)いじって変更あるいは壊されないため 2)Accessがない環境でも使用できるようにしたかったため 3)テーブルなどのリンク構造を隠すため 4)Accessだけではやりにくい高度なことも出来る(?かも) あたりが考えられますが…他にもあると思います。 私が、仕事上で使っているある特殊ソフトは同様にVB+mdbです。 そのmdbを使用して(開発者に特別許可をいただきmdbパスワード 解除してもらっています)業務処理のツールを作ったので、開発者 に渡したところ「ここまでやるならVBで作った方が良い」そう言われ ました。 その人は 1)VBで作った方が簡単 2)クエリーを見せない(各テーブルのフィールド名も分かりにくくしている、 テーブルのリンク構造をばらしたくないと言う意図があるらしい) 3)フォームやレポートもVBの方が自由に作成できる と言っていました。あとは処理速度の問題もあるかもしれません。 ちゃんとした答えキボンヌ
903 :
名無しさん@そうだ選挙にいこう :02/11/16 12:31
コンニチワ。教えて下さい。 素人なのに、自分の作ったAccessのシステムをサーバ上に置いて 複数ユーザで使う様なのを作ろうと思いまして、いろいろ考えなければいけないのかなと。 で、排他処理とかってのを知りまして、いろいろ見ていたのですが、 複数人数で使うシステムなんて作ったことも見たことも無いので、よく分かりません。 例えば、一人が更新処理をかけたデータを先に開いている人がいたとしたら、 その人の見ているデータが古いって事になってしまいますよね。 この場合、Accessは古いデータを見ている人に何かしら通知を出すのでしょうか。 他人が開いているデータを開けないようにしたりするのが普通なのでしょうか。 というか、「普通は」どういう形にするものなのでしょう。 プロフェッショナルな方の意見をお聞きしたいです。
904 :
名無しさん@そうだ選挙にいこう :02/11/16 13:45
>>902 わたしもまだまだ素人なんだけど・・
> 3)フォームやレポートもVBの方が自由に作成できる
と言っていました。あとは処理速度の問題もあるかもしれません。
これはどうかなって思うんですよね。特にレポートなんてACCESSの方が全然
使いやすいんだけど・・
フォームだって帳票フォームとか使えるぶんACCESSのが楽チンだと思う事が
多いけどなぁ?
他の方はどうですか?
>>900 Accessの「アプリケーション開発ガイド」やJetDBEの技術書では
アプリケーションとテーブルを分離するのが望ましいケースとして
ネットワークでの共有型システムをあげています。
・Serverにフォーム/クエリー/レポート/テーブルを内包したMDBを置く
ServerからClientに向けて、フォームロード、クエリーロード、テーブル
の順にパケットが流れるため、ネットワークのデータ流量が増大する
・Serverにデータ用MDB、Clientにアプリケーション用MDBを置く
※データ用MDB=テーブルのみ
アプリケーション用MDB=フォーム/クエリー/リポートを含む
ServerからClientには流れるパケットはテーブルのデータのみなので
ネットワークのデータ流量が緩和される
Jet-DBE使用を前提、Accessのみで作成する場合にパフォーマンスを
上げるための話なんですけどね。
906 :
名無しさん@そうだ選挙にいこう :02/11/16 14:14
>>904 明らかにVBの方がコーディングが柔軟で使いやすい。
907 :
名無しさん@そうだ選挙にいこう :02/11/16 14:25
>>906 おいらもレポートについては
>>904 とおんなじ考え。
クリレポもDataReportも使いにくし、機能が貧弱だよ。
(おいらがヘタレなだけか・・)
全部PrintFormでやるってことでつか?
VB派。 レポートなんて当然外部ソフトの機能使うよ。 VBには帳票を出す機能はついていません。らしい機能はありますが。
>>908 俺もVB派。
でも、帳票だけアクセス使うって人も確かにいるよな。(本とかにも書いてる人いるし)
アプリケーション、データを分離する理由 ・MDBファイルの容量圧迫を低減する 外部RDBMSからインポートするデータ量が容量上限1GByteに差し迫ったため。 Access97の時の話です。これで延命させました。 ・フォーム/リポートの改変によるファイル差し替えの容易さ アプリケーション/テーブル一体型よりもアプリケーションMDBを置き換えて テーブルMDBにリンク再構成するほうが楽でした。 開発側でモジュールに変更かけてる最中も現場ではデータ更新を行っている わけですからね。現場のテーブルデータの取り込むより作業的には。 個人的な好みだと思いますけど。
汎用RADツールでフロントエンドを作成する理由 ・要は処理側の作成は何使ってもいい テーブル構造と処理プログラムを分離するならば、全て"Access"で 作成する必然性はないという一言に尽きると思います。 Jet-DBEを介してMDBファイルのテーブルに読み書きできれば良い だけですから。 ・RADツールの選択 一番目には自分の使い慣れたもの。 二番目に利用できるコンポーネント(サードパーティのコントロールとか リポートジェネレータとか)やメソッドの違いなど。 言語の種類は自分が扱える範疇なら気にしない。
何気に私は900と言うキリ番取ってたんですな… レポートはVB派とAccess派に分かれているようですね。 私自身は、つい最近作ったツールでAccessではどうしても作り難いものがあったので、 結局、Excelbookにデータを流しAccess上でExcelの各シートを印刷させました。 その時に「VBならこんなことさせなくても自己処理できるのかなぁ?」と思いまして、 かなり複雑なことをレポートでさせたい場合は有効かなぁと感じました。 VBはまったく知らないのでよく分かりませんが…。 >910 データとアプリの分離は本当に重要だと思います。 トーシロのヘタレですが、一応作ったツールはすべてデータ部と表示部mdb分けてます。 今回、初めて他のデータを参照する構造にしたので、自動的にリンクテーブルが見つか らない場合更新させるモジュールを作りましたが、もっと初めからこれを作っておけば良 かったと思っています。
913 :
名無しさん@そうだ選挙にいこう :02/11/16 15:37
>>898 アクセスでどうやったらローカルじゃないファイルを開けるか教えてもらえ
ませんか?
ちなみにLANって何の略か知ってますか?
914 :
名無しさん@そうだ選挙にいこう :02/11/16 15:46
ACCESSでフォーム作ったほうが楽だと思う人は、きわめて単 純なフォームしか作ったことがないからだろうね。ウラヤマスィ。 どう考えても他言語で作ったほうが自由だろ。 ACCESS自体を作る事だって可能なんだから。
だいたいデータベースソフトに「付属した機能」だろ、フォームやなんかってのは。
>>912 非公式ながらもVB-ReportのようにAccessから利用できるレポートツールが
あるようです。私は検討しただけで実際に取り込んだわけではないですが・・・
※メーカも動作確認だか動作保証だかはしないと明言してます。
>>914 暗黙に「俺はおまえらとは違って出来る人間なんだぜ」と自慢したがってますか?
それはそれで構いませんけんど(藁
>>915 それを言い始めると「VBのフォームコントロールなんてサンプル程度で
使い物にならん」って話もでてきますが?
煙草に火をつけるのにライターの代わりに火炎放射器をいじったり(危ない) 猫の額程度の庭をほじくり返すのにスコップの代わりにパワーショベルを 使うナンセンスな人がいないように、目的に応じてれば使う道具なんて そんなに拘ることないでしょ。 正直、"ナンチャラって道具のほうが優れてる"って宗教戦争まがいは どうでもいいよ。
とりあえず、サードパーティのツールを使わないときは ACCESSの方が良いと言う事でいいですか?
まとめ厨キタ━━━━━━(゚∀゚)━━━━━━!!
921 :
名無しさん@そうだ選挙にいこう :02/11/16 17:02
>>898 のようにACCESS開発者(自称)は厨の割合が以上に高いから馬鹿にされるのは仕方ない。
922 :
名無しさん@そうだ選挙にいこう :02/11/16 17:04
「ACCESSしか使えない」 と言う以外にJETをACCESSで弄る理由はありえないだろ。
>>903 > Accessは古いデータを見ている人に何かしら通知を出すのでしょうか。
無いです。各々、再問い合わせ(ReQuery)をかけてデータ更新の有無を
確認しろと推奨されています。
余談ですけど、BorlandのInterBaseはClientに対して変更通知をします。
> 他人が開いているデータを開けないようにしたりするのが普通なのでしょうか。
ケースバイケースです。
悲観的ロックよりも楽観的ロックの方が望ましいという声を耳にします。
悲観的ロック、楽観的ロックって何
悲観的ロック データの読み込み時点でロックをかける方法 楽観的ロック データを書き込む時点でロックをかける方法 Office製品に採用されるか知らないけれどADO.NETは楽観的ロック制御
>>923 どうもです。
じゃあ、他人が書き込みボタン押した段階でRequeryかければ良いのでしょうか。
>>926 "他人が、どの時点で書き込みをするか、どうやって知る?"って問題が
出てくるから、そう単純な話にはならんでしょう。
少し補足するとAccessのフォーム等のユーザインターフェースを使って
共有テーブルのデータを同時に開いている場合
・既存レコードの更新
・既存レコードの削除
は何もしなくても知ることができます。
・単票フォームなら、他のレコードに移動してから元に戻る
・帳票フォームなら、最終行までスクロールして元に戻る
などですね。
但し、新規追加レコードを知るにはフォームを閉じて開き直すかRequeryを
発行する必要があります。
まぁ、PCを2台用意してテストするのが理解する早道でしょう。
他のRADツールを使う場合はAccessのようにはいかないんですけど。
何だか質問掲示板の主旨からはずれるような話題ふってしまってごめんなさい。 へえ、こういうつくりかたもあるんだと驚いて、つい書き込んでしまいました。 ところで 僕=900 <> 912 なんですけど、 912さんの書き込みはどういう意味なんでしょうね。
929 :
名無しさん@そうだ選挙にいこう :02/11/17 11:13
おはようございます テーブルが三つありまして a.table マスタテーブル aa.fld 主キーです(テキスト型) ab.fld ac.fld b.table データテーブル ba.fld baa.fld a.tableのaa.fldにリレーション bc.fld i.table 入力用テーブル ia.fld ib.fld ic.fld となっていてクエリが a.table aa.fld 抽出条件=[Form]![input_form]![aa_combo] a.table ab.fld b.table bc.fld となっていてこのクエリを基にしたフォームがあります クエリのa.table aa.fld以外の全ての項目がテキストボックスに表示されています フォームのヘッダにはa.table aa.fldを元にしたコンボボックスaa_comboがあります aa_comboが変わると対応したデータをフォームに表示したいのですが aa_comboの変更時のイベントに Me!requeryとするだけではできないのですが 他に何をしたらいいでしょうか? 分かりにくい文章ですいません
>>925 直球過ぎてツマンナイ。
洋楽好きな人なら、おもしろいネタがイパーイ書けるのに・・・。
897さん ADOをLAN上のテーブルデータに接続させたいのです。 どんな,VBで指定すればいいんでしょう。
932 :
名無しさん@そうだ選挙にいこう :02/11/17 16:56
>>931 897じゃないけど
サーバー側でODBC作ってやれば楽
ソースは教えない
933 :
名無しさん@そうだ選挙にいこう :02/11/17 17:37
>>931 Connection を調べる!
お風呂いってくるわ
>>931 ネットワークドライブの割り当てが出来ていれば、ローカルの資源に
アクセスするのとおなじ要領。(応答速度が遅い点を除いて)
935 :
名無しさん@そうだ選挙にいこう :02/11/17 18:42
( ゚Д゚)!! ダカラ、LANハ ローカル ダッテ! ハァ...
936 :
名無しさん@そうだ選挙にいこう :02/11/17 20:39
LANのテーブルって、オラクルとかSQLではないのですか?
>>936 オフィス用のテーブルなら、コクヨとか、イトーキ、オカムラあたりだろ?
>>936-937 おまいら何逝ってんだよ。
LAN用のケーブルだったら、10Base-2とか5とかに決まってんだろ!
>>937-938 ビジ板のスレでネタ振っても無反応が多いから虚しくならないか?
まぁ、
>>931 がネタ(しかも粘着)だから便乗してるんだろうけどさ
940 :
名無しさん@そうだ選挙にいこう :02/11/17 21:42
だから、ジャン・アンリ・ファーブルは昆虫がすきな人だろ。
941 :
名無しさん@そうだ選挙にいこう :02/11/18 02:06
マイクロソフトに聞けよ。仕様です、って言うかも知れんが
943 :
名無しさん@そうだ選挙にいこう :02/11/18 07:57
アクセスプロジェクトで質問です。 MDBからテーブルをインポートした後から、 ストアドプロシージャからテーブルをクリエイトしても、 レコードの追加が全く出来ません? データベース名もログイン名もロールも正しく設定してあります。 どんな原因が考えられますか?
944 :
名無しさん@そうだ選挙にいこう :02/11/18 12:17
>>943 インポートしたテーブルに主キーがないからだろ?
>>994 ありがとうございます。
主キーはインポートされないのですね!
何度も申し訳ありませんが、ストアドプロシージャーから主キーを削除する構文教えてください。
Google「ストアドプロシージャ 主キー 削除」
947 :
おせ〜て君 :02/11/19 10:03
「おしえて君」で申し訳ないですが。 多数の画像(bmp)を含むデータを管理するしようと思っています。 データーベースを肥大化させないため、画像をOLEオブジェクトとしてテーブルに貼り付けたくありません。 過去ログを参考にして、フォームの単票で Private Sub Form_Current() Me.画像="D:\DataBase\画像\" & Me![加工図] & ".bmp" [イメージ1].Picture=Me![画像] End Sub の方法で表示させることが出来たのですが、やりたいのは表形式で複数の画像を表示したいのです。 いろいろやってみましたが、うまくいきませんでした。 ご存知の方、アイデアがありましたらお聞きしたいのですが・・
948 :
名無しさん@そうだ選挙にいこう :02/11/19 15:19
レポートにおいて、グループ化機能を用いて小計を表示できるんだけど、 累計(つまり、「今までの合計」)を表示する方法がなくて困ってる。 どうすりゃいい?
>947 画像をOLEオブジェクトとしてテーブルに貼り付けろ
>948 レポートのソートの仕様によってはクエリーで出来ないこともないが 素直にレポート用に「累計」フィールドを持ったテーブルをつくるのが一番わかりやすい
953 :
名無しさん@そうだ選挙にいこう :02/11/19 22:48
>>948 誤 どうすりゃいい?
正 どうすればいいですか?
955 :
名無しさん@そうだ選挙にいこう :02/11/20 12:07
956 :
名無しさん@そうだ選挙にいこう :02/11/20 14:44
>>948 レポートの種類にもよるが
クエリで
SELECT [T1].[NAME], [T1].[POINT], sum ([T1_1].[POINT]) AS 累計
FROM T1, T1 AS T1_1
WHERE T1.NAME>=T1_1.NAME
GROUP BY T1.NAME,T1.POINT
ORDER BY T1.NAME
957 :
名無しさん@そうだ選挙にいこう :02/11/20 15:23
958 :
名無しさん@そうだ選挙にいこう :02/11/20 16:59
画像を扱おうと思うのですが、最大2GBと聞いております。 ファイルネームだけデータにしておいてVBA等で表示させることは可能ですか? それとも別のDB(MySQL等)を使うべきでしょうか?
>>959 ありがとうございます。可能ということですね。
埋め込みがだめな、その理由をご教授願えますか?
(AccessのOLE型のサイズの問題はいちおう知っています)
>>961 そういうこと。
それにクラッシュした時のデータ損失やバッグアップのしやすさを考えると
Accessなんかに埋め込むのは得策と思えない。
なるほど勉強になります。 ありがとうございました。
964 :
名無しさん@そうだ選挙にいこう :02/11/20 21:33
アクセス2000でWANを組んでいるんですが、今度 VPNを使って通信費を節約しようと思います。 アクセスでNetBEUIを使わずにクライアントに 接続するにはどうしたらよいんでしょうか? (現在はNetBEUIのみで接続してます) どこで調べても分からないのでお願いします。
965 :
名無しさん@そうだ選挙にいこう :02/11/20 22:06
哀れだな…
それができないと[アクセス使えね〜w]とか言うんだろか。。。
>>964 自分の質問の中で既に答えが出ているじゃないか
NetBEUI以外のプロトコルを使う
こんな回答でいいのか?
968 :
名無しさん@そうだ選挙にいこう :02/11/21 10:28
>>948 レポートならば集計実行という手も有りかと?
969 :
名無しさん@そうだ選挙にいこう :02/11/21 12:30
VPNって何ですか?不勉強で申し訳有りません。 SPX/IPXで接続するのはどうですか?
>>969 このチョー便利サイト知ってます?2chでも最強って噂がありますよー。
www.google.co.jp/
>>970 一見親切げだが、実は「検索エンジンも知らないあんたはヴァカ」という
嫌味の遠回しな表現? w
一見も何もソッチの意味しか含まれていない。
Virtual Private Network 拠点間通信(事業所-事業所間、本社-営業所間など)を専用線を利用して 構築するのに対し、インターネットを介して仮想的に構築するネットワーク IPSec、PPTP、L2TP等の暗号通信を調べるとよろし なぜTCP/IPに目が向かない?
VPNウィザードとかねーのかよW アクセスつかえね〜W
そもそも通信の領域はAccessの範疇じゃねえだろ(w VPNを知らないなら、OCNをはじめVPN構築サービスを提供している業者が ゴロゴロしているから、そっちに相談してみな 金が絡むとなりゃ、2chより親身になって話にのってくれるよ
そろそろ新スレ準備する時期ですよ?
>>976 任せた。
デッカイ花火打ち上げてくれ。
ところで、このスレ
>>1 にある過去ログ"その4"のリンク先がおもいっきり違うの知ってた?
その辺りも含めて
>>976 がなんとかします。
しばらくお待ち下さい。
‖\/‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖ \_/\_/\_/\_/\_/\_/\_/\_/\_/ _________________________ /| |\ \このスレ終了だゴルァ!! / パチパチパチパチ  ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄パチパチ ∧_∧∧_∧∧_∧∧_∧∧_∧∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧∧( ゚Д゚) ∧_∧∧_∧∧_∧ _∧_∧∧_∧∧_∧∧_∧∧_∧∧_∧∧_∧∧ ∧_∧∧_∧∧_∧∧_∧∧_∧∧_∧∧_∧ ( ) ( ) ( ) ( ) □□□□□□□□□□□□□□□□□□□□□□□□□□□
>978 ガガーン(゚д゚lll)、今知りますた。