1 :
デフォルトの名無しさん :
03/09/30 14:34 Microsoft Access全般スレです 板違いとかいう香具師は
板違いです。
タイトル引き継げよ。
タイトルに飾りを入れるやつはクソ。
ビジネスsoft板向けかな?
データベース板。 削除依頼だしとけよ。 ================終了===================
7 :
デフォルトの名無しさん :03/10/06 12:14
Acces割りたいんだけど誰か共有してくれない? nyで見つからなくてさ
8 :
デフォルトの名無しさん :03/10/06 12:19
アクセスってよく聞くけど一体なんなの? 簡易データベース?
9 :
デフォルトの名無しさん :03/10/06 12:24
信じるものは得をする〜♪ しんじら〜れないこの値段〜♪ ウォ〜〜〜ッチマン♪ 自身満々ウォ〜〜〜〜ッチマン!
お〜い アクセスでADO使うときファイル名は自分を指定するのかい それとも違うオブジェクトで直接テーブル名つかえるのかい?
11 :
デフォルトの名無しさん :03/10/06 12:36
>>10 はは〜ん、その質問が目的だったんだな
10=1
13 :
デフォルトの名無しさん :03/10/06 16:10
Access割らせて下さい お願いします
冷蔵庫から卵を出してペンでAccessと書け。
個人で持ってる香具師なんてなかなかいないだろ あんなソフト
16 :
デフォルトの名無しさん :03/10/06 22:38
学校の授業でAccess使ってるんだけどわかんないから家で家庭学習したいんだけど持ってないから割らせて下さい でないと単位が取れなくなってしまいます おねがいします
教官に相談しろよ。 学校・学部・学科・学籍番号・氏名は?
先生に言えば割らせてくれるんでしょーか? ってんなわけねーだろボケが 死ねよ
「家で家庭学習する」(この時点でバカってわかるね)に対する代替案を相談でき る可能性はあると思いますが何か? だいたいこういうどうしようもないコトを言い出す奴は既にそれ以前の過程で誤 りを犯している場合がほとんどだろ。
お前の改行のしかたの方がバカです 小学生に混じって勉強し直して下さい(推奨)
22 :
誰か教えて! :03/10/22 17:05
パススルークエリーを使用してインターネット経由で PostgreSQLのDBに接続してるのだけど、 回線が切れたらアクセスを再起動しないと再接続されません。 これを回避する方法、どなたか知りませんか?
Access2003にて CurrentDbのPropertiesに Name:Themed Form Controls Type:4 Value:1 を追加することによりVisualStyleに適応 以上報告終わり
24 :
デフォルトの名無しさん :03/11/13 14:18
レポートで画面を開く直前に 「指定した式には値がありません。」 とエラーが発生してしまいます。 内容は、グループヘッダーを作成し グループヘッダーには、CountAというテキストボックスを作成し コントロールソースには、=Count(*) と入れます。 そしてイベントには、 Dim i As Integer Dim j As Integer Private Sub グループヘッダー0_Format(Cancel As Integer, FormatCount As Integer) i = 1 j = Me!CountA End Sub と入れたのですが、j = Me!CountA でエラーが発生してしまいます。 エラーを防ぐ方法は無いでしょうか?
>>24 レポートが開かれる前にMe!CountAをどうやって
確認できるの?
26 :
デフォルトの名無しさん :03/11/13 15:39
>>6 違う。
プロはmdbを使うとすればクライアント画面描画用のワークテーブルとしてしか使わない。
AccessはGUI開発環境として使うのであって、データベースはOracleやSQL server等、外に持つ。
>>10 ADOは外のデータベースに使う。mdbに対して使うと糞遅いので、DAOを使う。
27 :
デフォルトの名無しさん :03/11/13 15:49
>>26 プロはお金がとれないとこまるので、ACCESS だけだと簡単そうに見えるので
無理にでも、Oracle や SQL Server を使う!
ACCESS じゃ心配だぁとか言って(笑)
ACCESS2 の頃から、いろいろ文句言っている人が多いなか;
10万レコードと20万レコードのテーブルでの処理を未だにやっているが
問題は起きていません。
世の中そんなに大きなデータばっかりなのかなぁ?
不思議です。
ACCESS でレポート、フォームを作ると楽なのは確かです!DB部分だけ他にするのも
納得です(手間は大して変わりませんから! あくまで素人をだまして金を取りやすくするためにね!)
ACCESS2 で十分だったのに、今のだったら全然問題なし!
もちろん VBA でいっぱいかきますけどね!
28 :
デフォルトの名無しさん :03/11/13 15:55
>>27 ストアドがないじゃん。
帳票出すのに1分かかかっても気にしないならMDBでいいかも。
俺はいらいらする。
Oracleは…確かに存在価値分からん。意味があるのは超大企業だけだと思う。
29 :
デフォルトの名無しさん :03/11/13 16:03
>>27 いっとくけど、プロはお金取るためにDBサーバ使うわけじゃないよ。
仕入れた製品は全然儲けにならない。MSDEならタダだし。
複雑な要件を定義して、設計して、作ることでお金もらってる。
何で作るかはあまり見積もりと関係ない。
30 :
デフォルトの名無しさん :03/11/13 16:17
>>25 レポートに罫線を引くプログラムから持ってきたもので
他のレポートでは上手くいっています。
新たにレポートをコピーして使用したのですが
エラーで落ちてしまいます。
31 :
デフォルトの名無しさん :03/11/13 16:23
>>30 i = 1
Debug.Print Nz(Me!CountA, 0)
' j = Me!CountA
こうやって原因究明するとか。
32 :
デフォルトの名無しさん :03/11/13 16:47
>>31 Sleep(5000) をレポートを作る前段階(PGでデータを作った直後)で使ったら上手く行きました。
33 :
デフォルトの名無しさん :03/11/13 17:03
更新するマクロってどうすんの?
>>32 処理の順序を成立させるために待たせるのは頂けませんな。
顧客の使用状況によってはそれでも間に合わなくなる場合があるし、
それに合わせると軽い場合にも不用に待たせるし。
ワークテーブルは、呼出し側フォームのイベントで作ってますか?
レポート内のOpenイベントで作ったり、ADPでもないのにADO使ったりすると間に合いませんよ。
35 :
デフォルトの名無しさん :03/11/24 14:23
こんにちわ! 会社でアクセスを使って仕事をすることになりました(ーー;;) でも私のまわりには使いこなしている人がいません 難しそうな仕事を押し付けられそうでおびえています 本を買って勉強しようと思っているのですが、どれを 買えばいいのかさっぱりです ヤフオクで安く手にいれたいと品定め中ですが、正直 当たり外れとか全然わかりません。 何を買えば私は救われますか?
>>35 >>会社でアクセスを使って仕事をすることになりました(ーー;;)
A.Accessを(道具として)使って、目的がはっきりとした事をする仕事なら
→がんばれ!
B.なんだか分からないけど、Accessって便利そうだからオマエが使えるようになれって仕事なら
→ことわれ!
回りに使える人がいないなら、キミがいくら頑張ってもその価値を認められる事はない。
Accessを使える技術をつけても面倒を押し付けられるだけで、頑張ればがんばるほど
無理難題を言いつけられる。プロに頼んだら5千万っていわれたけどカネがないから
オマエがサービス残業してタダで作れとか言われるようになる。
プログラミングのプロでもいれば苦労は認めて貰えるだろうが、そういう人なら
Access如き使えない訳がないのでいないだろうね。
>>本を買って勉強しようと思っているのですが、どれを
>>買えばいいのかさっぱりです
まず立ち読みでもしてみれ。さっぱりな本は買っても役に立ちません。
さらに、さっぱりな本がさっぱりなのはアナタの所為とは限りません。
本の著者もAccessの事はさっぱりだけど、マニュアルを孫引きして
入門書をでっち上げているかもしれないのです。
>>何を買えば私は救われますか?
1.どんな事を実現したいか、まずはっきりさせる。
2.使い方はヘルプと付属のサンプルを見て研究。
3.だめならマイクロソフトのMSDNページあたりを検索。
4.あとは、このあたりとか。
http://www.moug.net/ まさか、Accessは持ってないけど本で覚えたいとか思っているならそれは無理。
37 :
デフォルトの名無しさん :03/12/04 14:46
Access上のローカルテーブルをプロシジャ内にて OpenRecordsetで開きEofまで1レコードづつ参照−更新を繰返し処理をしています。 現在ローカルテーブル内の実レコードは70,000件あります。 この処理を実行すると時折「共有ロック数の制限を越えています」 旨でエラー中断してしまいます。 OSはWIN2000。CPUはPentiumV1GHz、MEMは256MBの環境です。 レジストリ内のJetに関するMaxLocksPerFile値(デフォルト9500)も 上げてみたりしていますが現象が解決されません。 この制限を解くには、又、制限に引っかからないよう処理を行う為には どのような手段があるでしょうか?
更新クエリを使う
39 :
デフォルトの名無しさん :03/12/04 22:02
「レコードロックをしない」でやればいいんじゃないの? それと、なんで更新クエリーを使わないの?(複雑な処理が必要なのかな・・・
40 :
デフォルトの名無しさん :04/01/20 18:34
レポートについて質問です まったく同じデータのレコードが3件あって これを3枚のレポートに出力したい場合どうすればいいんですか? それとも連番かなんかでグループ化できる項目がないとダメ??
3回印刷する
>40 どんな考えでどんな事をやって何が問題なのか整理しる。 そういう聞き方をしているうちはj>41な答えしか返ってこないぞ。
43 :
デフォルトの名無しさん :04/01/29 12:00
レポートプレビュー画面より印刷するときに部単位で印刷をしたくないんですが どのようにプログラム書けば大丈夫ですか? 部単位でした印刷できないためかなり印刷に時間かかってるので大変なんです よろしくお願いいたします
44 :
デフォルトの名無しさん :04/03/02 12:52
http://support.microsoft.com/default.aspx?scid=/directory/worldwide/ja/kblight/T005/2/20.asp の操作に近い操作を行いたいのですが、微妙に違うので困っています。
やりたいことは、
コンボボックスを2列にして出したいのです。
つまり、最終的に文字列を、"";(全て);1;1;2;2;...;"Other";"その他";
というようなものにする関数を作りたいのです。
現在はのコードは、以下の通りです。、
Public Function CreateStrLst(ByVal Field As String, ByVal Table As String) As String
Dim rs As New ADODB.Recordset
CreateStrLst = "(全て);"
rs.CursorLocation = adUseClient
rs.Open "SELECT " & Field & " FROM " & Table, _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=.\mdb.mdb;", _
adOpenForwardOnly, adLockReadOnly
CreateStrLst = CreateStrLst + rs.GetString(adClipString, , , ";")
rs.Close
Set rs = Nothing
End Function
GetStringのところを少しいじればいいと思うのですが、
どのようなフィールドがあるかわからない場合にもうまく動くものが作れません。
宜しくお願いします。
板違いだったようなので、ビジネスソフト板で聞いてみます。 お目汚し失礼しました。
46 :
デフォルトの名無しさん :04/03/03 15:40
作成したmdbファイルを開いた時に ユーザ名、パスワードの入力を要求するようにする 設定方法を教えて下さい。 パスワードの方はできたのですが、ユーザー名の方が分かりません。 パスワードの設定方法 mdbファイルを排他で開く、セキュリティでパスワードを設定 ユーザ名の設定????
47 :
デフォルトの名無しさん :04/03/04 15:33
MS-ACCESSにオートナンバー型のテーブルがあるんだが そのテーブルにInsert Intoで書き込みするさいには オートナンバーの項目には何をしていしたらいいのですか? insert into table values(オートナンバ,'test')
>>47 tableのあとに明示的にフィールドを指定しる。
ただしオートナンバーフィールドは指定しない。
例)
INSERT INTO テーブル1 ( 顧客名 )
VALUES ('ぬるぽ')
ただし、漏れがやってみたところ、次の構文でもオートナンバーの
項目に値が入ってしまうようだ(インデックスなどで重複を許可
しない場合は除く)
INSERT INTO テーブル1 ( オートナンバーフィールド名, 顧客名 )
VALUES (0, 'ぬるぽ')
49 :
デフォルトの名無しさん :04/03/04 16:08
50 :
デフォルトの名無しさん :04/05/18 18:26
51 :
デフォルトの名無しさん :04/05/30 10:07
Visual Basic6.0 からmdbファイルを扱った常時稼動用のアプリケーション 開発を行っております。 しかし、問題がありましてmdbファイルに1日2万件のデータが追加され ましてファイルサイズが増えていってしまいます。 そこで最適化の処理を検討しているのですが、常時接続、稼動している ため難問題を抱えております。 常時接続中でも最適化処理が行えれば何とか出来そうな感じがするので すがそのようなことは可能なのでしょうか? 現在、MDBの接続にはJet Engineをadoで行っておりますが最適化が可能 ならば方式は問わないとのことでした。 詳しい方おりましたらご教示お願いします。
52 :
デフォルトの名無しさん :04/06/05 20:32
無理
54 :
デフォルトの名無しさん :04/07/03 10:18
>>51 それは Jet を使うべき場面じゃないような気がする。
ところで、.NET Framework で MDB ファイルを新規作成
するにはどうすればいいかご存知の方おられませんか?
既存の MDB ファイルは ADO.NET から使えてウハウハ
なんですが。
Jet Engine
ジェットエンジンって、何か強烈な語感。 速そうだし離陸しそうだし燃料いっぱい喰いそうだし客いっぱい乗せられそうだし。 マイクロソフトデスクトップエンジンなんかよりずっと凄そう
57 :
デフォルトの名無しさん :04/08/03 22:57
アクセスからバッチプログラムを起動すると バッチ処理が長いため、次のマクロがひらいてしまいます。 バッチ処理が終了したら、次のマクロを実行するようにするにはどうしたら、 いいんでしょうか?
58 :
デフォルトの名無しさん :04/08/03 23:37
59 :
デフォルトの名無しさん :04/08/03 23:40
>>57 win32APIの GetExitCodeProcess() を使ってバッチの終了を待てばいいかもしれません。
61 :
デフォルトの名無しさん :04/08/18 14:40
AccessのVBAソースコードはVSSで管理できるのでしょうか? 普通にVSSにMDBファイルを追加するとMDBファイル全体での管理となってしまい、モジュールごとの ソースコード管理は実現できないようです。 ヘルプを探ってみましたが、それらしい記述が見つからず・・・ 経験のある方いらっしゃいましたら教えてキボンヌ
>>61 VSSってファイル単位でソース管理するから、mdbバイナリの中に格納されてる
AccessのVBAは管理不可能だと思うYO
2000ならでべろっぱえでぃしょん買えばできる。 2002以降は知らん。
そうなんですか。 確かに、今使ってるのはOfficeのPro版です。 現在はDevelopperEdition以前に、2000自体入手不可ですよね? あきらめるしかないか・・・
65 :
デフォルトの名無しさん :04/09/09 00:19
ACCESS で MDBファイル ダブルクリックして 実行でもなく 編集(プログラム表示)でもなく デバッグモードで 実行するには どーしたら いいんですか? 編集実行はシフト押しながらだとおもったのですが 当方 パソコン暦3ヶ月 です
>>65 デバッグモードってどんなモードのことですか
67 :
デフォルトの名無しさん :04/09/14 23:33:40
すいません。質問です。 Accessのシステムを開発しているのですが、DBはSQLServerを使用しています。 最近、テーブルにタイムスタンプ型を追加したのですが、そのテーブルと全く同じフィールド名、 フィールドサイズ、型を持つテーブルをAccess側にも持つ必要があります。 タイムスタンプ型と同じ型がAccessに存在しないので非常に困っています・・・ 何か対処法はありますでしょうか?緊急なので、知っている方がいましたら教えて下さい。
>>65 教えてあげましょう。今日寝つけないので・・・。
それはSHIFT押しながらMDBファイルダブルクリックして、
おそらくマクロのAUTOEXCECファイルを開いて、ブレークポイントを設定して
F8キーを押しゃあ良いんだよ。
>>67 んなもん、テーブルインポートすりゃ良いんだよ。
はあ寝れるかな。
>>57 もし君がマクロしか扱えんという人ならその対応は無理と思うが、
マクロなんて全部VBAに変換して使った方が良いと思う。
VBAでそのバッチ処理が終わったら、次のマクロを実行って記述すれば
問題なし。
>>64 DevelopperEditionの2000版なんてネットで探せばあるよ。
>>51 MDBファイルにデータが1日に2万件も追加されるシステムで
日次バッチ処理は無いのかい?
普通はそこで行うけど・・・
>>46 セキュリティでユーザー・グループの設定で
ユーザー作って
カレントデータベースへのアクセスをそのユーザーからのみ
許可ってすればOKと思う。
>>43 印刷ダイアログでページ指定(何ページから何ページ)で済む話では?
>>37 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Jet 4.0
のDWORD値を10進に変更
でだめなら、
複雑な処理を関数化できるなら、更新クエリに変更かな〜。
77 :
デフォルトの名無しさん :04/10/02 15:24:56
AccessからF*TRANというツールを使いたいのですが、 マニュアルを見ても使い方がいまいちよくわかりません。 ご存知の方がいらっしゃいましたら、是非教えてください。
F*TRANとはまた随分懐しいものを、と思ったが富士通はまだ売ってんのね。 webにはテクサポやってると書いてあるから、電話してみれば?
クエリー実行中のプログレスバーってどうやったら表示出来ますか?
はい。無理です。 ACCESSのクエリなら、画面左下のステータスバーにしか表示できません。
ACCESS のソースが入手できれば可能では?
>>80 普通にプログレスバーコントロール使えよ。何か問題でもあるのか?
>>83 私はどうやったら出来るか聞きたかったので・・・
そうですかそれで出来るんですね。ありがとう。
AccessからODBCでMySQLにアクセスするとDSN情報をMDB内部に平文でキャッシュするとかいう糞仕様はみんな了解済みなの?
はい。
パスワードも平文だっつうのに、、、強いな
MDBさえ漏らさなければ無問題。
よくいるんだよな。無駄な心配して余計なコストかける奴が・・・。 実際、それが問題になることなんてあるの?
こんな意識の低いやつがまだいるのかよ。
>>90 つーかそれはMySQLの方の問題と思うが・・・。
ちゃんとしたODBCのドライバ作るのは、MySQLの方の仕事だろ。
君の意識の方が低いと思うよ。
商用なら、普通SQLサーバーだろ。
それってAccessからのリンクで本番業務回してるって事?
少し質問したいのですが、 SELECT TM_カード.カード名, Sum(TT_取引.数量*TT_取引.単価) AS 使用額, (TM_カード.カード限度額-Sum(TT_取引.数量*TT_取引.単価)) AS 利用残高 FROM TM_カード INNER JOIN TT_取引 ON TM_カード.カードコード = TT_取引.カードコード GROUP BY TM_カード.カード名, TT_取引.カードコード; でSQLを作ると 使用額, (TM_カード.カード限度額-Sum(TT_取引.数量*TT_取引.単価)) AS 利用残高 ここのところで「集計関数の一部として指定された式'TMカード,カード限度額-Sum((TT_取引,数量*TT_取引,単価)'を含んでいないクエリを実行しようとしました。 というエラーが出るのですが、このエラーがとれません。。。 どなたかご教授下さいませんか? お願いします
質問です C++Builder5でADO利用しています 複数の関連されていないmdbファイルにデータを登録する時 常に1つのmdbに対して操作するのと マルチスレッドで複数のファイルを操作するのと どっちがお奨めなのでしょうか? 単純なテストとして 4つの全く関連していないmdbファイルに それぞれ10000件insertをかけるスレッドを立ち上げ 登録状況を見てみました(登録件数をエディットボックスに表示) 100件程度までは4つ同時に登録してるようなスピードなのですが その後は、なんというかスレッド切換が目に見えるような感じなのです これは件数が増えるたびに遅くなってゆくAccessの遅さなんでしょうか? それとも、俺のソースがタコなんでしょうか? CoInitializeをスレッド毎に立ち上げなければならない という本当か嘘かわからない情報もありまして かなり困っております 適切なgoogle用キーワードだけでもいいので どなたかご教示ください
96 :
デフォルトの名無しさん :05/01/10 14:05:17
はじめまして。フォームにリストボックスを貼り付けて、そのリストにはCドライ ブの書類というフォルダ内にあるエクセルのファイルのみを表示するようにした のですが、方法がわかりません。ご存知の方がいたら教えてください。 作ろうとしている動きはリストボックスから選択すると、そのエクセルファイル が起動するというものです。 よろしくお願いします。
98 :
デフォルトの名無しさん :05/01/21 11:31:04
OracleのデータディクショナリってACCESSでは何に対応しますか?
100 :
RAID小僧 :05/02/01 18:35:55
******************************** サーバーOS環境 : Windows 2000 Server データベース環境 : SQL Server 2000 ******************************** クライアントOS環境 : Windows2000 クライアントIF環境 : Access2002(XP) で作成したADPファイル ******************************** 上記で何の問題なく稼動していたAccess2002 と SQLServer2000 でのC/Sシステムがあります。 ところが、クライアントのOSを WindowsXP に変更し、システムを起動し、数分ほっておくとSQLServer と Access2002 との間の接続が切れてしまう症状に困っています。 再度、ログオンか再起動をしないと再接続しません。 どなたか、解決方法をご存知ありませんか? 何卒よろしくお願い致します。
あげ
102 :
デフォルトの名無しさん :05/02/21 21:16:19
教えて下さい。 アクセス2003で開発者1名、使用者多数って環境で、 誰か1人でも使用されていると開発者はフォーム等の変更が出来ません。 使用者には更新権限は与えていません。 いつでも裏で開発者が開発出来る環境にしたいのですがご存知の方教えて下さい。 以前は97を使用しており、その時は平気で裏でバンバン変更出来ていました。
真冬の恐怖
すげぇ・・・
105 :
デフォルトの名無しさん :05/02/22 23:35:57
Access2000のランタイム版を削除して office2000をインストールしましたが Word、Excelは正常に立ち上がるのですが Accessだけロゴが出てすぐに終了してしまいます。 修復方法をお分かりになる方がいましたら教えてください。
Office2000はProfessional版?
107 :
105 :05/02/24 21:36:20
>>106 Office2000はProfessional版です。
ランタイム版と書きましたが調べてみると
インストーラーにInstall Sieldが試用されていました。
インストーラーからインストールすればAccessが
セットアップされていなくても動くのですが
これってランタイム版なんでしょうか。
ランタイム版 ランタイム版が動かないのはランタイムがないから ランタイムを入れればランタイム版は動きます
109 :
デフォルトの名無しさん :05/02/26 00:26:56
>>108 以前試用していたPC(NT4.0)はAccessをいれずインストールして
動いていたそうです。
このアプリのマニュアルにもAccess未インストールでも動作可能
と書いてありました。
CDにはランタイムライブラリのようなものは入っていました。
windowsインストーラーでないのでofficeのDevelopper版で
作成したランタイムではないようですが・・・。
状況としては親会社の方針で
OS:NT4.0 WorkStation → XP Pro
office:2000 → XP
への移行を行なっていたのですが
Office XPではこのAccessアプリのレポートが正常に動作せず
office XPを削除し、office 2000のインストール時に
CDが傷ついていたため読み込めずインストール失敗、
このアプリのインストーラ実行、
>105の現象、MSのHPよりOfficeの削除ツールをダウン、実行し、
再度傷のついていないCDよりoffice2000のインストール
>105と同じ状況という状況です。
状況は良く分かったという状況です。
111 :
デフォルトの名無しさん :05/03/08 15:46:36
何方かお願いします。 フォームにa,bの入力できる項目があります。 aには適当に数字を入力します。 bにはa<1000の時は0、a>=1000の時 a*0.25(小数第一四捨五入) これの作り方を教えてください。 どこの項目に書けばいいのかもわからないレベルです。
a の上で右クリックして「変更時」からコード作成 a_After_Update みたいな関数定義が作られるから そこに b = iif(a < 1000, 0, a * 0.25) と書く
113 :
111 :05/03/09 16:12:36
>112 やっと理解できました。 本当にありがとうございました。
access2000 or access2002のRaiseEventって、非同期じゃないですよね?
115 :
デフォルトの名無しさん :05/03/10 19:04:53
私が一年前に作ったAccessのシステムを今まで他の人がメンテしていたのですが、 その最新の*.mdbでは何故かブレークポイントが効かないのです。どうしてなので しょうか。
116 :
115 :05/03/10 19:15:26
自己解決しました。 何故だか分かりませんがSHIFTを押しながら起動すると有効になりました。 昔は押さないで起動しても有効になっていたんですが…。
Shiftって事は起動時に自動実行プロセスを動かさないって事だね。 自動実行マクロ/メソッドでなにか妙なことをしてる予感。
118 :
デフォルトの名無しさん :05/03/15 05:57:39
visual source safeでaccessのmdbを管理している人っている? 使い勝手とかどうよ?
119 :
デフォルトの名無しさん :05/03/19 05:45:02
漠然としたことですが、教えてください。 フォームに、タブコントロールを1つ作成し そこにサブフォーム10ぺーじを入れて作っているのですが、 オープンは、サブフォーム10つを単純にいれているときと比べ 遅くなるものなのでしょうか? 同じですか? この際、操作性は、除外視して。。。。
>102 アプリ.mdb+DB.mdbにする。 アプリとDBは、本番用と開発用を用意。 それぞれにリンク 開発用で、修正したら 開発アプリを本番用へ更新。 アプリのリンク先を本番DBに変更する。
>119 とっても遅くなる。
122 :
デフォルトの名無しさん :05/03/20 05:39:53
>121 それは、タブ入り>タブなし ってことですか?
いや、 サブフォーム10個 > サブフォーム1個 ってことだと思う
タブ入り>タブなしなのか、 タブ入り=タブなしか 教えてほしいのですが。。
>>124 「タブなし」ってどんなカンジ?
10個分ズラーっと並べてスクロールさせるの?
>125 まあ、縦に並べてスクロールさせていくつもりです。 (重いといわれれば、やり方はいろいろ変えてみますが。) というよりも、 タブって初期に見えているものが、1つですよね。 これって、仮想的なものなのか? フォーム開いたら、10個みえているのと、 タブであたかもひとつしか見えていないのとでは、 開く時間に差が生まれるのか? が、漠然と知りたかったんです。
自分で作って試してみるしかないんじゃないの? そういうの作ったことがある人はかなり少ないと思う。 あなたの為だけに新しく作って試そうとする人も少ないと思う。
128 :
デフォルトの名無しさん :2005/03/27(日) 18:53:20
コマンドボタンを押すとフォームが2つ出てきます。 一つ目は日付を入力、二つ目はデータを入力します。 日付を入力すると二つ目のデータ入力する時に日付は入力された状態。 何回も日付を入力しなくて済む方法です。 この方法おしえてくれませんか。
129 :
デフォルトの名無しさん :2005/03/27(日) 23:44:58
VBAの事でしょ?
130 :
デフォルトの名無しさん :2005/04/05(火) 00:00:17
アクセス3日目のクソなヤシです。 すいません、アクセス2003使用してます。 CSV形式のファイルをインポートするとき ”あああ”,"123","" の「”」を削除してインポートする方法を おしえてください。みなさんのお知恵をかしてください。
釣り? なんにせよ テキストエディタで変換してからインポートする
>127 釣りかもしれませんが、、、。 やってくれ!っていってるのじゃないのです。 試してみましたが、よくわからなかったので、 こういう状況になった方がいたら、とか メモリ関係に詳しい方がいらっしゃったら、ということです。
ウィザードでインポートしてたら途中で「"」で囲まれてるかそうじゃないか選ぶところあるだろ?
134 :
デフォルトの名無しさん :2005/04/21(木) 16:43:51
質問です。 VB6.0からDAO3.6を使ってAccess2003のMDBファイルを開く際、 MDBファイルにパスワードが掛かっているのですが、 どうやって開けば良いのでしょうか? 検索して色々試したのですが、 実行時エラー '3031': パスワードが正しくありません。 のままです。 よろしくお願いします。 ↓ 現在このような状態です。 Private Sub Command1_Click() Dim db As DAO.Database Dim ws As DAO.Workspace Set db = Workspaces(0).OpenDatabase("D:\hoge.mdb", , False, _ "Provider=Microsoft.Jet.OLEDB.4.0; " & _ "Data Source=D:\hoge.mdb; " & _ "Database Password=hogehoge;") db.close End Sub
.OpenDatabase("D:\hoge.mdb", , False, _ "MS Access;PWD=hogehoge")
今入力フォームをつくっていて 「次のデータを入力」と「前のデータに戻る」というボタンをつくってみました。 で、次のレコードを読むようなマクロをつくったのですが、 最終レコードの入力をしているときは、次のデータにとべなくてエラーになるので その場合はメッセージボックスを出しておわるようにしたいです。 VBAだとどういうふうに条件をかけばいいか教えてください。 お願いします
137 :
デフォルトの名無しさん :2005/04/25(月) 16:45:00
MS-ACCESSで日付/時刻型の項目の登録の仕方がわかりません。 insert into table values( XXXX ) たとえば 2005/04/25 を登録したい場合 XXXX には何がはいるのでしょうか? あと変数名が AAA の場合、XXXX には何がはいるのでしょうか?
>>136 丸無げだな。もうちょっと考えろ
もまいのアプリの作り方にもよるから、一概にこうしろとは言えない
>>137 insert into table values (#04/25/2005#)
"insert into table values (#" & Format(AAA,"mm/dd/yyyy") & "#)"
139 :
137 :2005/04/25(月) 19:15:44
140 :
デフォルトの名無しさん :2005/06/14(火) 13:07:02
Accessの関数で教えて欲しいんですが、フィールドの 属性をハイパーリンクにして、そのフィールドの文字列 を名前に持つファイルにリンクを貼り付けるような 関数があれば教えて頂きたいのですが。 宜しくお願い致します。
>140 そんな関数聞いたことない 素直にShellかShellExecuteでうごかしとけ
142 :
デフォルトの名無しさん :2005/06/15(水) 04:54:06
>141 有難うございます。 Shellでファイルを扱うのはわかりましたが リンククリック時にそのイベントを拾うのは 何という関数でしょうか? 何分Accessで作るのが初めてなもので 宜しくお願い致します。
知ってるがお前には教えない
まるで作ってくれと言わんばかりの質問ばかりだな
VB6の初心者です。 データベースパスワードが設定してあるAccessのMDBファイルをVB6のコマンドボタンから 起動したいのですが、コーディングが解りません。 shellコマンドとかでは、パスワードが渡せないみたいだし、DAO記述したら コンパイルで蹴られるし。途方に暮れてます、どなたかお助け下さい。
>>145 DAOの接続文字列に pwd=パスワード を加える。
147 :
初心者ポチ :2005/06/22(水) 13:36:01
データベースパスワードが設定してあるAccessのMDBファイルをVB6のコマンドボタンから 起動したいのですが、コーディングが解りません。 とりあえず次のように書いて見ましたがうまくいきません Private Sub Command2_Click() Dim db As DAO.Database Dim ws As DAO.Workspace Set db = Workspaces(0).OpenDatabase("c:\test.mdb", , False, _ "PWD=7644") db.Close Unload Me End End Sub これを実行すると 実行時エラー '3343' データベースの形式 C:¥TEST.MDBを認識できません というエラーメッセージが出てTEST.MDBが立ち上がりません 何が悪いのかわかりません、どなたか教えてください
148 :
デフォルトの名無しさん :2005/06/22(水) 14:30:24
>>147 「OpenDatabase」メソッドをMSDNで調べていないんだろうな...
×Set db = Workspaces(0).OpenDatabase("c:\test.mdb", , False, "PWD=7644")
↓
○Set db = Workspaces(0).OpenDatabase("c:\test.mdb", False, dbDriverNoPrompt, ";PWD=7644")
or(Set db = DAO.OpenDatabase("c:\test.mdb", False, dbDriverNoPrompt, ";PWD=7644"))
こんなふうにしてみ
だが、これが気に食わない
>データベースの形式 C:¥TEST.MDBを認識できません
そのMDBは単体で起動するのか?
149 :
デフォルトの名無しさん :2005/06/23(木) 18:13:57
アクセスランタイム(もしくはアクセス)がインストールされているか を調べる方法をご存知の方、お知恵をお貸しください。 レジストリのここを見ればわかる!とか・・・ よろしくお願いします
150 :
デフォルトの名無しさん :2005/06/23(木) 22:05:41
コンパネで プログラムの変更と削除みればわかるんじゃないの
151 :
デフォルトの名無しさん :2005/06/24(金) 08:40:28
>>149 が聞きたいのはプログラム上でってことじゃないかな?
いちおープログラム板だし
まぁ、俺はやり方わからんけどな
152 :
デフォルトの名無しさん :2005/06/24(金) 09:23:54
Access2000で 1.ランタイムインストール環境 MDE →× 2.ランタイムインストール環境 MDB →○ 3.Access本体インストール環境 MDE →○ 4.Access本体インストール環境 MDB →○ 1.の環境で、フォームに貼ったボタンをクリックするとエラーになるんだが なんで?
153 :
初心者ポチ :2005/06/24(金) 11:27:30
Access の opendatabaseでデータベースの形式 C:¥TEST.MDBを認識できません というエラーが出て、オープンできません。 参照設定とか、何か基本的なことが抜けているんでしょうか。 もちろんMDBファイルは単体で動きますし、直接なら起動できます。 よろしくお願いします。
155 :
デフォルトの名無しさん :2005/06/24(金) 21:57:47
>>149 プログラム上でなら、オフィスのインストール先を見るとか。
C:\Program files\Microsoft Office\OFFICE11\MSACCESS.EXE
↑はOffice2003でインストール先デフォだけど。
レジストリなら
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\OFFICE\11.0\Access\InstallRoot
にパスが通っていればインストールされてるんじゃないのかな。
まぁこれならランタイム版かどうかは判断できんが。
156 :
デフォルトの名無しさん :2005/07/14(木) 19:18:50
質問です。 メニューバーの「ツールバー」の「ユーザー設定」で 独自のツールバーを作り、現在のフォームから別のフォーム 遷移できるようにするものを作りました。 その際に、次に開くフォームに引数(前の画面の情報)を渡して その引数によって次に開いたフォームの動作を変えるようにしたいのですが そういう設定はできるのでしょうか? どこで設定すればいいのでしょうか?
157 :
156 :2005/07/15(金) 13:08:23
ageておきます
フォームは1個しか開かないからグローバルな変数にするとか 開くフォームに変数を持たせるとか 開くフォームのコントロールに持たせるとか いろいろ。
159 :
デフォルトの名無しさん :2005/07/15(金) 13:53:36
質問です Access97がWindowsXP上で正常に動作するか知っている人いませんか?
160 :
156 :2005/07/15(金) 14:20:51
>>158 レスどうもです。
普通にフォーム内のボタンを使って遷移するときは
そこのボタンのコードに変数でも置いて、それを使えばいいんですが、
ツールバーで遷移する場合には
どこにコードを書いて変数を設定すればいいんでしょうか?
ツールバーからマクロを実行して そこから マクロから"module"内の関数よぶ ことはできる。
>>161 ダメでした。分かんないです。
コマンド>マクロデザイン>実行
の設定で色々やってみましたが、上手くいかないです。
@適当なモジュールにユーザ関数「func1()」を作成し 適当なコードを入れる。 A新規マクロ「マクロ1」を作成し1行目の アクションを「プロシジャ-の実行」とし プロシジャ名 「func1()」と入力 (またはウィザードを使って作成) Bツールバーのユーザ設定 「コマンド」タブ、分類(G)の「すべてのマクロ」の「マクロ1」 をツールバーにD&D
164 :
162 :2005/07/15(金) 19:05:57
>>163 どうもです。
早速やってみたのですが、
「このオブジェクトには、オートメーションオブジェクト'menu_kousin'は含まれません」
「オブジェクトのプロパティを設定するか、メソッドを実行するVBプロシージャを実行しようとしましたが
これらのプロパティまたはメソッドが使用できません」
となってしまいました。
どう対策すればいいのでしょうか?
なんかバージョン違うよう。 モジュールに関数ある Public Function menu_koushin() ・・・ End Function あとプロシジャ名のmenu_koushin()の括弧がないとか
166 :
159 :2005/07/19(火) 14:45:31
167 :
デフォルトの名無しさん :2005/07/20(水) 18:13:50
質問です。 デザインビューでクエリを作っています。 テーブルAのID_a列の値を 連結されたテーブルBのID_b列中から探して、 さらにテーブルBのID_x列に「1」と入っている物だけを 抽出したいのですが、その手段が分かりません。 クエリ作成画面の下の方にある入力欄に フィールド:ID_b テーブル:テーブルB 抽出条件:"ID_x"="1" と書いてみたのですが、何か間違っているようです。 どうすればいいか分かりますか?
168 :
デフォルトの名無しさん :2005/07/21(木) 01:06:29
どなたか教えて下さい。 MDBを開いたとき、Accessのアプリケーションを必ず最大 にして開くようVBAで制御したいのですが、方法が分かりません。 よい方法をご教示ください。 宜しくお願いいたします。
169 :
168 :2005/07/21(木) 01:11:36
補足です。 Win32API関数のShowWindow関数で最大化を 指定しましたが、戻り値は正常となるものの最大化しないどこ ろか、アプリがMDBを起動用に開いたエクスプローラの裏に 隠れてしまいます。 なお、Accessは2000、OSはXPです。 宜しくお願いいたします。
170 :
168 :2005/07/21(木) 01:22:02
すみません。 自己解決しました。 某ページに載っていたWin32API解説の引数の値が 間違ってたようでした。。。
171 :
デフォルトの名無しさん :2005/08/31(水) 13:00:12
Module オブジェクトについてですが、ヘルプには 「Module オブジェクトへの参照を取得すると、そのモジュールのプロパティの設定や読み取りを行ったり、 そのモジュールのメソッドを使用することができます。」 とだけ書いてあって使用例が載っていません。例えば、 Call Modules(モジュール名).関数名 と言う風に書いてもエラーで実行されないのですが、どう書いたらモジュール内の関数を実行できるのでしょうか。
なんで明記したいんだ 関数名だけで呼べよ
173 :
デフォルトの名無しさん :2005/10/24(月) 11:28:26
TextBoxの入力形式を全ての半角文字に限定したい場合にはどうしたらいいので しょうか?
174 :
デフォルトの名無しさん :2005/10/24(月) 19:51:22
入力された文字列の文字コード一個一個調べて半角じゃないのがあったらどうにかする
>>173 一ヶ月近く放置されているスレによく質問する気になったな。感心した。
176 :
デフォルトの名無しさん :2005/10/25(火) 07:17:02
奥が深いよなaccessは
177 :
デフォルトの名無しさん :2005/10/25(火) 11:08:26
>>174 やっぱり設定では無理なんですね。その部分は設定で何とかしたかった。
プログラム板だからやっぱVBAで処理しないとな。 入力モードのプロパティを半角カタカナに設定するのは板違いになっちゃうからダメだよな、うんうん。
179 :
デフォルトの名無しさん :2005/10/27(木) 13:34:55
質問させていただきます。 AテーブルのIDという項目が、オートナンバーで、Bテーブルにリンクを張っているんですが、 SQLserverへ、アップサイジングすると、Bテーブルのデータがまったく作成されません。 どうしたらよろしいですか??
180 :
179 :2005/10/27(木) 14:50:06
補足です。 Aテーブルと、Bテーブルは、1対多の関係で、Aテーブルを開くと左側に、+印があり それを、開くとそのレコードと繋がっているBテーブルのレコードがのぞける状態です。 説明下手で、申し訳ありません。
181 :
デフォルトの名無しさん :2005/10/28(金) 01:40:44
accessってネットワーク共有できますか?
182 :
デフォルトの名無しさん :2005/10/28(金) 11:08:56
ビジネスsoft板かデータベース板で聞けばいいのに……
ほんっとに簡単にデータ壊れるよな。おじさんびっくりした。
185 :
デフォルトの名無しさん :2005/11/02(水) 12:44:42
サブフォーム(連結フォーム)の連結を一時的に切って、非表示可したりできますか? その部分だけ外部DB+クエリが重いので、メインフォームしか使わないときは非連結にしておきたいです。
ヘルプ見れ SubFormオブジェクト SourceObjectプロパティ
187 :
デフォルトの名無しさん :2005/11/03(木) 20:13:38
>>186 サンクス!
ついでにSourceObjectプロパティを設定しなおした場合のデータのRefresh方法も教えてください
obj.requery
189 :
デフォルトの名無しさん :2005/11/03(木) 20:30:37
>>188 ありがとう
サブフォームのほうでレコード移動時に発生するイベントがあるんだけど
そいつって元のフォームから走らせることできる?
やってみてから聞けよ
191 :
デフォルトの名無しさん :2005/11/03(木) 20:55:50
>>190 できなかったから聞いてるんだけど・・・
発生すらしなかった?
193 :
デフォルトの名無しさん :2005/11/03(木) 21:14:19
>>192 うん、ページロードは発生したけどページカレントは無理だった
ロード時だと、コントロールの中にあるデータ使えないから駄目なんだよね。。。
サブフォームでも普通にレコード移動時イベント発生するはずなんだが。 多分、コード書く場所間違っているかコントロールの参照指定がおかしいんだろうな。 Private Sub Form_Current() MsgBox "" End Sub ↑だけ書いて何も起きないんだったら後は知らん。
195 :
デフォルトの名無しさん :2005/11/03(木) 21:25:04
>>194 ごめんなさい・・・他のコードが邪魔してました
イベントとれて解決しました
ありがとうありがとう
196 :
デフォルトの名無しさん :2005/11/07(月) 16:10:41
別の掲示板で質問してみたのですが、回答がいただけなかったのでこちらで質問 させてください。 OS:2000 Access:2000 フォームに貼り付けたコントロールボックスにPCにインストールされているフォ ントの一覧を表示したいのですがやり方がどうにもわかりません。 アドバイスお願いします。
>>196 API使うしか無いような希ガス。詳しくは知らない。
API使うのは嫌なのか……
200 :
デフォルトの名無しさん :2005/11/07(月) 18:03:18
>>198 回答いただいていたとはわかりませんでした。お騒がせしました。
201 :
デフォルトの名無しさん :2005/11/09(水) 13:50:13
ご質問します。 Aフォームのテキストボックスへ、 BフォームのサブフォームであるBサブフォームの テキストボックスの値を取得したいとき、 Aフォームのテキストボックスの、コントロールソースに =[Forms]![B]![Bサブ].[Forms]![Bサブテキストボックス名] と記述したのですが、値を取得できません。 なぜでしょう。 ご指導のほど、よろしくおねがいします。
> =[Forms]![B]![Bサブ].[Forms]![Bサブテキストボックス名] =[Forms]![B]![Bサブ].[Form]![Bサブテキストボックス名] じゃないの。
203 :
201 :2005/11/09(水) 14:05:50
訂正です。 =[Forms]![B]![Bサブ].[Form]![Bサブテキストボックス名] と入力しています。 よろしくおねがいします。
204 :
201 :2005/11/09(水) 14:07:20
>>202 すいません。訂正遅かったようです。
=[Forms]![B]![Bサブ].[Form]![Bサブテキストボックス名]
と入力しているのですが、値を取得できません・・・
で、値を取得できずにどうなってるの? ○○エラーになるとか、給料減らされたとか、 何か現状ってのがあるだろう。
206 :
201 :2005/11/09(水) 15:32:03
何もなりません。 空白ですね。 MDB最適化したら直りました。 ご迷惑おかけしました。
どう見ても精子です。 ありがとうございました。
208 :
デフォルトの名無しさん :2005/11/15(火) 15:39:46
メインフォームの非連結のテキストボックスに納品日を入力したら サブフォームのテーブルにそのデータを反映させるやり方がわかりません どなたかご指導よろしくお願いします
210 :
デフォルトの名無しさん :2005/11/29(火) 17:24:15
Access2000です 帳票フォームについて質問があります オプションボタンのはい、いいえを選択し、 値によってテキストボックスの色を変更したり仕様不可にしたいと考えています backcolorやEnabledプロパティを変更すると 全てのレコードの色が変わってしまったり仕様不可になったりしてしまいます 特定のレコードのみ行うということは出来ますでしょうか?
できません
ああ、でも条件付き書式でなら一応は可能。 オプションボタンの値をレコードに保存してないとダメだろうけど。
>>210 をよく読まずにカキコ
入力内容については更新前処理やら更新後処理やらで特定の条件時に事実上
テキストボックスに値を入れさせない処理はできるはず。
テキストボックスの色をレコード毎に変えるのは不可能。
が、
※色が透明なテキストボックスは作れる。
☆詳細セクションに連結オブジェクトフレームは配置できる。
ΨテーブルにはOLEオブジェクトを保存する事が出来る。
♪連結オブジェクトフレームのコントロールソースにはDlookup関数が指定できる
まあ、がんばれ(手間を掛ける価値があるのなら)
test
このスレ、dat落ちしたと思ってたんだけど、まだ生きていたんだな
216 :
デフォルトの名無しさん :2006/02/13(月) 20:19:44
access2000のVBAで質問です。 あるルーチンの処理時間を測定したいのですが、 ミリ秒くらいの精度で測定する方法を教えてください。
API
APIの GetTickCount()とか timeGetTime()。 1msecの精度があるといわれているのはtimeGetTime() つか、Accessでmsec単位必要なの?
>>218 ども。やってみます。
ロジックによる処理速度の違いをアンポンタンに分かるように数字で見せる必要があったので。。。
220 :
デフォルトの名無しさん :2006/02/14(火) 00:00:17
access2003での質問です。 フォームのテキストボックスに規定値を与えようとしてます。 そのとき、欠番を取得するクエリを利用したいのですが、うまく動きません。 テキストボックスのプロパティ、規定値へ、クエリを参照して指定しています。 表示される内容は#Name?となっています。 クエリ単体での動作は確認とれました。 規定値へクエリを埋め込む場合、何か注意が必要ですか?
規定値にクエリ使えるなんて初耳。勉強になるなぁ。
access2003の質問です。 VBA上からレポートのVBAコードをエクスポートしたいのですが、 Dim appAccess As Object Set appAccess = CreateObject("Access.Application.9") appAccess.OpenCurrentDatabase "target.mdb" appAccess.VBE.ActiveVBProject.VBComponents("レポート").Export "hoge.vbs" とモジュールと同じような感じでやってみると エラーになってしまいます。 何か良い方策はないでしょうか。
223 :
デフォルトの名無しさん :2006/02/17(金) 18:39:10
そういやageないと誰も気づきませんね....orz
「レポート」っていうのは、レポート名? モジュール名なら、「Report_レポート名」で指定しないと。
アクセスmdbから、サイト上のmdbに接続することって可能でしょうか?
サイト 〔at sight(一覧で、提示あり次第、の意)から〕手形などの決済期限。
webサイトのことだとして サイトがローカルのWindowsネットワーク上にあるなら可能。 サイトがWANの向こうでも、VPN接続したり Web Services Toolkit みたいな仕組みを取り入れたりして頑張れば可能。
228 :
デフォルトの名無しさん :2006/03/07(火) 21:40:27
ACCESS+SQL ServerでADO開発を行うのですが、お勧め本とか あったら教えて下さい。 特に、排他制御等のトランザクション制御に関して、詳しい情報を 探しています。
ここの住人にアクセスメインな人はいないと思われ。 ビジネスsoftかデータベースにでも移ったら?
マルチの原因はスレのミスマッチ あるべき所に必要なスレが望ましい
TextSS のWindowsXP(Professional)64bit対応化おながいします もしくは64bitにネイティブ対応したテキスト置換ソフトありますか? そういや64bitにネイティブ対応している2chブラウザてありましたっけ?
233 :
デフォルトの名無しさん :2006/04/03(月) 17:54:54
Excel VBA では dim d1 as double,d2 as double d1 = 3 d2 = Application.NormSDist(d1) msgbox d2 といったコードで標準正規分布が得られるのですが AccessのVBAではエラーになるのです。 Accessで標準正規分布を得るにはどうすればいいでしょうか。
234 :
デフォルトの名無しさん :2006/04/04(火) 06:21:54
自己解決しますた VBエディタを開く メニュー/ツール/参照設定/Microsoft Excel 9.0 or 10.0 Object Libraly をチェック d2 = Excel.Application.NormSDist(d1) しかし遅い遅い
Access 2002 で clone とか find とかつかったらすぐコケるんだが、 (find は2度目使うと) なんでだろ?
日本語でおk
237 :
235 :2006/04/05(水) 18:35:57
>>236 それかよ _| ̄|○ili 俺にはどうしようもない
(゚∀゚)さすがにどうしようもないな。ああ、どうしようもない。 どうしようもないのだよ。
日本語が不自由な方がいますね
こんばんわ。 唐突に、先輩から「この原因調べて」と言われてあたふたしてます XP+Access2003でCSVからtransfertextでインポートするVBAプログラムなのですが・・・ 以下簡単なCSV "aaa","bbb","ccc" __________"aaa2","bbb2","ccc2" __________"aaa3","bbb3","ccc3" __________ こんなCSVファイルをとりこんだ時、2データ目からはエラーで取り込めません 何故2データ目から空白が先頭にあるのかも聞いてもわからない、でした ACCESS97では普通に取り込みが出来たそうです。 このファイル、テキストで開くと空白が確認できますが、Excelで開くと空白を無視して ちゃんと表示されています。 なので、ACCESSでも何かしてやれば先頭の空白を無視して取り込めるのではないか、 と思うのですが・・・なんともならないでしょうか?
インポートする前に置換処理すればいいじゃない
241 :
239 :2006/04/11(火) 22:06:28
まあ、今日のところは結局開いて空白消すような処理放り込んで凌ぎましたorz 何十万件単位であるらしいから1行読んで消してなので重くなるかな・・・と。 でもお客さんの操作は今までの通りで、って事だしとまあ挟み撃ち(´・ω・`) 引き続き自分でも原因等調査ですよ・・・
未だに97使いなんですが質問してもいいですか?
>>243 ありがとうございます。
早速なんですが
クロス集計を使ってグラフ表示をしようと思って居るんですが、なかなかうまくいきません。
具体的にはクロス集計時に、ダイレクトに集計条件をクエリ内に記述すると問題ないのですが
条件に
[Forms]!フォーム名]!コントロール名]
で絞り込みを使用とすると
<名前> を有効なフィールド名、または式として認識できません。
のエラーがでてうまくいきません。 ほかの選択フォームなどでは問題なく出来ていた方法なの
ですが、クロス集計では集計の絞り込み条件をフォームからコントロールしたい場合特別な記述
方法があるのでしょうか?
ご存じの方おられましたら、よろしくお願いします<_o_>
>>244 角括弧
[Forms]![フォーム名]![コントロール名]
246 :
245 :2006/08/18(金) 12:35:57
>245 申し訳ないです。 コピ編集のミスでそうなってますが、クエリではきちんと記述は出来ています 選択クエリとクロス集計での記述法に違いがあるような情報を見つけられなかったのですが 他の方法をとらないとだめなんでしょうか?
>>244 色々試してみたらどうでしょう
Forms!フォーム名.コントロール名
Form_フォーム名.コントロール名
問題部分がココ以外にあるのならその部分のコードを見ないことにはアドバイスのしようがないけどね
Eval("[Forms]![フォーム名]![コントロール名]")
249 :
245 :2006/08/18(金) 23:37:10
>>248 ありがとうございます! うまく抽出できました。
これでまた進めることが出来ます。
ありがとうございました
250 :
245 :2006/08/18(金) 23:39:11
ご意見くださった方々、本当にありがとうございました。 本格的に使ってこなかったので、皆さんのご意見励みになりました。 また助けていただくこともあろうかと思いますが、よろしくお願いします。
ACCESSで作った住所録を地域別に3つに分割して、 それぞれで入力・修正した後、結合したいと思います。 ※これらはLANで繋がってはいません これらの個々のデータは自動でIDがふられるようになっています。 このままですと3つのアプリで同じIDがふられてしまいます。 これを回避する方法をお教えください。
GUIDでも振っとけば?
教えてください openformで where以下の条件を記載するとき、order byを記入するとエラーになります。 このときに降順表示をさせるためにはどのように記入すればいけるのでしょうか? クエリ内への記載はその時々により条件が変更されるために、とるとこが出来ません。 よろしくお願いします。
> openformで where以下の条件を記載するとき、order byを記入するとエラーになります。 WhereCondition 引数は、Where 句を指定するところであって、 「where以下の条件を」全部書けるところじゃねぇよ。 ちゃんとヘルプ嫁。 OpenArgs 引数で OrderBy の条件渡して、開かれるフォーム側で 処理するか、呼び出し側から直接 OrderBy ブチ込めば。
意外と機能してるんだなこのスレw
256 :
質問です。 :2006/10/08(日) 00:40:58
Accessに画像データ・動画(mpg / avi)等を保存するにはどうすれば良い でしょうか? あと、すれ違いかもしれませんが上記と同様の事をDB2・Oracle等にも 行う事は可能でしょうか?
>>256 OLEオブジェクトを埋め込みすれば可能だが、MDBのファイルサイズがすごいことになってしまうので
ファイルは普通のフォルダに格納してAccessでファイル名やパスだけ管理するほうがよい。
ファイルの操作はVBのファイル操作ステートメントやFileSystemObjectを使えば出来る。
また、Access2007では添付ファイルを格納できる新機能があるらしい。
258 :
256 :2006/10/08(日) 17:32:00
>>257 さん
ご回答ありがとうございます。
これから試してみます。
259 :
デフォルトの名無しさん :2006/10/12(木) 12:45:34
Accessの整理をするために、全てのフォームの全てのコントロールやその種類などを取得したいと思ってます 対象のフォームを開かずに1つのmdbファイルの全てのフォームとコントロールを取得する方法を教えて頂けないでしょうか?
使い勝手はよくないけど、とりあえず、 ツール→解析→データベース構造の解析 ダイアログの「フォーム」「すべて選択」「OK」で プロパティ、コントロールとかもろもろの一覧が表示される。
261 :
デフォルトの名無しさん :2006/10/16(月) 14:07:46
こんにちは、CHRISと申します。 サーバー上にMDBを置いて、2台の端末を使って1つのレコードの同じ項目を 同時に更新しようとしました。そしたら、「マシン 'XXX' のユーザー 'YYY' に よってロックされているので、更新できません」というエラーメッセージが 表示されて、2台の内1台のマシンで更新処理ができませんでした。 MDB自体にロックがかかっているのか、レコード単位でロックがかかっている のか分かりません。ASPを使っているのですが、MDBを開いてSQLを発行している 処理で落ちているようです。2台の端末を使ってMDBを同時に更新する場合、 更新のタイミングが遅かった方は何秒おき毎かでリトライをして、どうしても 更新できない場合はエラーメッセージを表示させて、「落ちない」ようにする というような、具体的な何かよい解決方法はありませんか? よろしくお願いします。
262 :
デフォルトの名無しさん :2006/10/22(日) 00:15:39
質問させて下さい。 Accessとして格納出来るデータ容量に関する質問です。 Q1.最大MDBとして何ギガバイト迄格納する事が出来ますか? Q2.本格的な業務システムを構築しようと思っているのですが(低コストの為) .NET( C# or VB.net) + Access VBA + Access どちらの方が良いでしょうか?
A1.2G A2.悪いことは言わんから業務システムのDBにMDB 使うのはやめとけ。
264 :
デフォルトの名無しさん :2006/10/22(日) 00:38:17
>>263 どうもありがとうございます。
因みにSQLserverでしたら何ギガバイトまで可能でしょうか?
MDB 2GByte MSDE 2GByte MS SQLServerにファイルサイズによる上限はない
266 :
デフォルトの名無しさん :2006/10/22(日) 01:03:16
Prepared使うとAccessごと落ちるな。。。 DBはSQL ServerでクライアントにAccess使ってる。 Insert Into hoge (idNo) values(?) って感じの単純なInsertなんだがな。
268 :
とら :2006/10/25(水) 01:55:46
データベース(例えばDB2)とかなら一度作成したテーブルの上で 右クリック→DDLの生成とすれば、そのテーブルのDDL(CREATE文等)を 簡単に生成する事が出来るのですが、Accessではそういったコトは 出来ないでしょうか?
出来ない。 フリーウェアを探すか自作汁。
270 :
とら :2006/10/26(木) 00:34:19
>>269 そうでしたか、、、
使えませんね。Access。
因みにフリーウェア名とか知っていたら教えて頂けないでしょうか?
271 :
269 :2006/10/26(木) 01:11:59
3万円以上する外国製のシェアウェアなら、たまたま知っている。 フリーウェアがあるのかどうかは、知らない。
272 :
とら :2006/10/26(木) 02:30:11
271 >>シェアウェアの名前は何ですか?
>>272 それがCREATEだけの話なら、選択クエリを作ってそれをテーブル作成クエリにしたらいいんじゃね?
274 :
271 :2006/10/26(木) 20:29:37
>>273 なる程。そういう手がありましたね。ありがとうございます。
>>274 これから確認してみます。
276 :
デフォルトの名無しさん :2006/11/09(木) 10:06:15
すいません、質問させてください 現在Access97+MDBで動いているシステムを Access2000+SQLServerに移行しました ですが、直後から残像が残るといわれまして確認したところ 1:ただ、リフレッシュされていない 2:フォームから取得する値を間違えて取っているような挙動をしているもの の二通りがありました 1に関してはリフレッシュ、リペイントの厳密性の違いなのでしょうか・・・? 直ったには直ったのですが少し不思議でしたので 2に関してですが明細クエリの検索条件にフォームのコンボボックスに入れてある値を [Forms]![サブフォーム名]![サブフォーム内のコンボボックス名]で取っているのですが コンボボックスを空にして検索しても空になっているとクエリが判断せずに 以前の値を参照しつづけているようなのです 多分これも97から2000に移行した際の不具合だとは思うのですが皆目検討がつきません もしよければ教えて頂けないでしょうか よろしくおねがいします。
277 :
276 :2006/11/09(木) 14:55:54
すいません、書き忘れました 2の以前の値を参照し続ける状態ですが 毎回起こるわけではないようです 普段はコンボボックス内容が変われば自動で変わるんですが 変わらない時があり、一度変わらないようになると その画面自体を終了させないことには直らない状態です
>276-277 同様のトラブル(起こることは稀で、現象出すための操作はある程度つかめている)を持ったことがあるよ。 もしかして、VIEW表間に噛ませて、FormとSQLサーバでやりとりしてない? どうも複数のFormを開いたり、トランザクションがぶつかったりして(デッドロック?)、 使っているVIEW表を解放していないようなんだよな。
279 :
276 :2006/11/09(木) 15:35:22
>278さん VIEW表というのはSQLServerのVIEWでしょうか それともAccess側のクエリでしょうか 今回はSQLServerをリンクテーブルとして読み込み、それをAccessクエリで一部項目を 抽出し、画面に出力している状態です。
自分の場合は、同一SQLサーバVIEW表を使った別々のAccess側クエリで問題ありと問題なしがはっきりでたので ACCESS側クエリに問題ありであった模様のようだった
281 :
276 :2006/11/09(木) 15:47:58
情報ありがとうございます! 対策としては ・AccessクエリをSQLServerのViewにあげてそれを直接参照する ・クエリを使わずSQL文でそのつどレコードセットに格納する くらいですかね…? 何か他に妙案あったら教えてください。
できるだけSQLサーバのDBMSの機能に乗っかるのも手の一つだと思うけど、 やはりクライアント側の一時表は使わないと、ロックの粒度がきつくなるから、 値の取得、参照に限って言うなら、 同一の人、同一のクライアントであっても、クエリごとに別クライアントと考えて、 新たにクライアント側に一時表を作ってあげるのも手の一つではないかなと。
283 :
276 :2006/11/09(木) 16:24:00
すいません >新たにクライアント側に一時表を作ってあげる というのがいまいち理解しきれなかったので詳しく教えていただけると幸いです 一時表、というのはどのような形で作ればいいのでしょう・・・
いや単に、 一時表=クエリ(ACCESS側)・或いはVIEW作ってる?(ACCESS側) です 一時表の利点としては、「見る」という動作に限ると(予約等を含むなら別ですが)、 一時表を作った後は、他を解き放てるので、いくつ作ってもデッドロックのリスクは少ないでしょう。 「見る」という動作に限ると、クエリをクエリで流用したりとか、そういうことはやめて、直接SQLサーバを参照するクエリを新しくどんどん作っていってはどうかと。 そこで、 ・AccessクエリをSQLServerのViewにあげてそれを直接参照する をよくよく読んでみるとそういう意味なのかなと思ったりするので、そうであったらすみません。
285 :
276 :2006/11/09(木) 16:55:40
ふむ・・・要するにクエリ1を使用してクエリ2を作るような事をせず SQLServerのテーブルを直接参照してクエリ2を作れって事ですかね? いろいろとありがとうございました どの方法が一番ベストか、ちと検討してみます。
286 :
デフォルトの名無しさん :2006/11/16(木) 00:57:15
すみません。レポートのプレビュー画面で、「ファイル」、「編集」などの 「メニューバー」を非表示にしたいのですが。どうすればよろしいので しょうか。お願いします。
Private Sub Form_Open(Cancel As Integer) CommandBars("Menu Bar").Enabled = False End Sub
288 :
デフォルトの名無しさん :2006/11/28(火) 15:28:45
Windowsのタスクを使わずに、MDBファイル自身で マクロを9時〜16時の間だけ一時間置きに実行させることはできますか?
フォームにはタイマーイベントがある。
290 :
デフォルトの名無しさん :2006/12/17(日) 06:13:06
すみません。Accessでも、アプリは作れますか?
291 :
デフォルトの名無しさん :2006/12/17(日) 06:28:36
フォームとかあるじゃん。 VBとほぼ同じ仕様でほぼ同じことが出来るよ。
292 :
290 :2006/12/17(日) 06:33:55
>>291 ありがとうございます。AccessでもVBレベルのアプリが作れるとは、、、
動的にコントロールを生成できなかったり コントロールを配列にできなかったり 描画処理ができないのに VBA でVBレベルのアプリが組めるんですか?
295 :
デフォルトの名無しさん :2006/12/19(火) 19:48:24
ADPの場合、ローカルにテーブルは作れませんが、一体全体どうすれば いいんですか?
297 :
デフォルトの名無しさん :2006/12/21(木) 00:46:20
レポートでヘッダーを縦印刷、詳細を横印刷、フッターを縦印刷って 可能でしょうか? レポートのコードで ヘッダーにPrinter.Orientation = acPRORPortrait 詳細にPrinter.Orientation = acPRORLandscape を指定してもずっと縦か横にしか印刷されませんでした。
>>296 素人は力仕事でなんでもできると思っているが。。。VBAは所詮VBA
VBでmdbにデータを保存/読出を行うソフトを作ったんだが、 accessが入ってないパソコンにそのソフトをインストールして使用する場合、 どうすればいいの?accessを入れるしかないの?
300 :
デフォルトの名無しさん :2006/12/21(木) 12:42:46
そうだお
301 :
デフォルトの名無しさん :2006/12/21(木) 18:35:09
302 :
デフォルトの名無しさん :2006/12/21(木) 20:42:44
>>301 さんきう。
色々方法あるのね、、SQLServerのストアドは権限の問題で使えないので、
やっぱ素直にMDB使うことにする。
>>299 > VBでmdbにデータを保存/読出を行うソフトを作ったんだが、
そこを詳しく書け。
Accessオートメーションなら当然Accessが必要だし、
DAO/ADOオンリーなら元からAccessは関係ないだろ。
>>299 っていうか、そのテストはすぐに出来るだろ。
Access入ってないパソコンで実行してみればいいだけだ。
それくらいやれよ
306 :
デフォルトの名無しさん :2006/12/27(水) 16:23:41
質問です。(access97・winXP) プロシージャで、Month([日付])関数が働きません。 同じプロシージャ内のYear([〜])やDay([〜])も、 同db内のクエリーのMonth([〜])も出来るのに…。 何故でしょうか?
どんなエラーが出るか書け 話はそれからだ
308 :
306 :2006/12/28(木) 18:31:17
「日付」コントロールを持つ、フォームAの「更新ボタン」クリック時、 フォームBの「日付2」に一年後の日付を入れる…というのが目的で、 日付2 = DateSerial(Year([日付])+1,Month([日付]),Day([日付]))としたら 実行時エラー13 型が一致しません と出ます。 Month([日付])の部分を、1とか数字にすると、一応「日付2」に値は入ります。(無意味な値ですが;) また、プロシージャを書いている際に、monthと小文字で書いても自動でMが大文字にはなりません。 ちなみに、日付2 = DateAdd("yyyy", 1, [日付])にしたら成功したので、今回は結果オーライなんですが…。
参照設定で Visual Basic For Applicationsをトップにもってくる
310 :
306 :2006/12/28(木) 20:56:55
>>309 開いてみたら、既にトップでした。
以下は
Microsoft Access 8.0 Object Library
Microsoft Dao3.51 Object Library
Microsoft Office Web Components 11.0
Microsoft activeX Data Objects 2.8 Library
…となっております。
MsgBox TypeName([日付].Value) がDate?
312 :
306 :2006/12/28(木) 22:32:58
オブジェクトブラウザでグローバルオブジェクトの monthが Function Month(Date) VBA.DateTime のメンバ になってる?
314 :
306 :2007/01/06(土) 19:43:50
レス遅れてすみません。自己解決しました。
dbの中に「month」という名のコンボボックスとクエリーが有り、(仮作成のままでした)
それらの名前を変更したら、
>>308 の
>日付2 = DateSerial(Year([日付])+1,Month([日付]),Day([日付]))
が成功しました。(未だmonth小文字のままですが)
>オブジェクトブラウザ を示して頂いた
>>313 のお陰で気付きましたが、
初歩的なミスでお恥ずかしい。。。(/ω\)
お手数割いて頂いた方々、ありがとうございました。
315 :
デフォルトの名無しさん :2007/01/09(火) 17:58:04
起動時の設定で「すべてのメニューを表示する」というチェックを外すと ファイル、ウィンドウ、ヘルプしか表示されなくなりますが、 これをVBAから元のチェックの付いた状態に戻すことは可能ですか? CommandBars("Menu Bar").Visible=True としてもダメでした。
316 :
デフォルトの名無しさん :2007/01/10(水) 12:57:03
>>CommandBars("Menu Bar").Visible どうみても消えるだけだが・・・ も少し見てみれば判ると思う チェックの状態のぷろぱちぃがあるだろうに
>>316 CurrentDb.Properties("AllowFullMenus")=True
これでいけました。どうもでした。
便乗だけど、それAccess再起動しないといけないよね?
魔法使いの開発工房ってサイトで昔ちょこっと勉強してたんだけど、 サイトが消えちゃったみたい。 結構有名なサイトらしいんだけど、だれかアーカイブしてたらうp汁!
320 :
デフォルトの名無しさん :2007/01/19(金) 16:48:49
フォーム上のテキストボックスのプロパティの書式で 日付データを mm/dd としています。 Access95ではちゃんと表示されているのですが Access2003では実際には yyyy/mm/dd で表示されてしまいます。 どうしたら mm/dd で表示されるか教えてください。 MDBのフィールド定義はテキスト型で yyyy/mm/dd のデータになっています。
>>320 こんっとロールパネル→地域と言語オプション
カスタマイズ→日付にある短い形式をいじる
>>321 サンクスです。
でもそれだと個々のPCの設定になりますし、エクスプローラー等の表示にも影響しますよね。
で、コントロールソースでFormat関数をあてる方法がわかりましたので
その方法をとることにしました。
Backup DatabaseとかのSQL文を実行するにはどうしたらよいのでしょうか? ぐぐってみたのですが、サンプルが書かれたページが見つかりません。 どうぞ宜しくお願いいたします。
>>323 クエリ
デザインビューでクエリを作成する
閉じる
(ツールバーの)SQL
>>324 それだと、DELETE、INSERT、PROCEDURE、SELECT、UPDATEしか使えないのでは?
Backup Databaseを書いてもエラーになるのですが。
パススルークエリー
327 :
デフォルトの名無しさん :2007/01/24(水) 17:45:05
他のDBMファイルを開いて、そこにテーブルやフォームを作ったり プロシージャを作成したりするにはどうすればいいですか?
328 :
デフォルトの名無しさん :2007/01/25(木) 11:21:07
AccessからVBAでって事か? set db = openDatabase(〜) db.TableDefs.add(〜) みてーな感じ。 詳細はヘルプ見るなりググるなりしろ。
>>328 ここまでは分かりました。
Dim app As Access.Application
Dim frm As Access.Form
Dim db As Database
Dim mdbPath, frmName As String
mdbPath = CurrentProject.path & "\db1.mdb"
Set app = New Access.Application
With app
.Visible = True
.OpenCurrentDatabase mdbPath, True
Debug.Print app.CurrentDb.Name
Set frm = .CreateForm
frmName = frm.Name
.DoCmd.Save acForm, frm.Name
.Forms(frmName).Name = "ふぉーむ作りのてすと" '←エラー
'.DoCmd.Close acForm, frm.Name
End With
このあと、フォーム名をどうやって変えたらいいのかさっぱり分かりません。
そのエラーメッセージ見ろよ。 それが答えだ。 まーAccessの仕様も結構アレだが。ヘタに「オブジェクト指向w」を名乗るマクロ付けたから無理があるんだよな。 名前変えるなら DoCmd.Save acForm, frm.Name frmName = frm.Name DoCmd.Close acForm, frm.Name DoCmd.Rename "hoge", acForm, frmName って感じか。 createForm の初期名はいじれないから、作る・閉じる・名前変更 の3ステップが必要。
331 :
デフォルトの名無しさん :2007/01/25(木) 20:34:14
>>330 どうもありがとうございます。
Renameメソッドで上手くいきました。
ところでついでに質問なんですが、GUIを通してできる
Accessの操作のほぼ全てはVBAで出来るんでしょうか?
またそれならなぜAccessにはExcelのようなマクロの記録がないんでしょうか?
332 :
デフォルトの名無しさん :2007/01/26(金) 00:06:37
あの…試験で、JAVAプログラミングのIf文、For文ってのが出るんですけど、つまりどういう事なんですか?誰か詳しく教えて下さいm(__)m
スレタイ100回嫁
>>331 全て確認したわけじゃないが、ほぼ全て出来ると思っていいよ。
DoCmd のメソッドってメニューとほぼ対応してるし。
AccessでExcelのように「操作した内容をVBAとして記録」が出来ない理由は知らん。MSに聞け。
Accessが元々MS製じゃないからかもしらんし、VBAではない古い「マクロ」があるが故に
下位互換性の関係で仕様を合わせられないのかもしらん。 DoCmdとかヘンでしょ。
335 :
デフォルトの名無しさん :2007/01/26(金) 22:58:27
VBAからモジュールを追加する方法を誰か教えてください ApplicationクラスにCreateForm()やCreateReport()があって、 なんでcreateModuleやCreateMacroがないんでしょ
Sub unko() With Assistant .Visible = True With .NewBalloon .Text = "ウンコ産まれそう" .Button = msoButtonSetOK .Show End With .Visible = False End With End Sub
可愛いレジ店員がいるコンビニでバレンタインチョコを買う ↓ 袋は要らないと断り、チョコをレジに置いて釣り銭を財布に入れる ↓ わざとチョコを置き忘れて足早に店を出て車に乗り込もうとする ↓ 可愛い店員が追いかけてチョコを手渡しに来る ↓ 「あの・・・これ・・・」 ↓ ( ゚д゚ )あ、ありがとう
可愛いレジ店員がいるコンビニでバレンタインチョコを買う ↓ 袋は要らないと断り、チョコをレジに置いて釣り銭を財布に入れる ↓ わざとチョコを置き忘れて足早に店を出て車に乗り込もうとする ↓ 誰も来ない ↓ ( 'A`)
340 :
デフォルトの名無しさん :2007/03/16(金) 19:43:05
Access2000で質問があります 半角カナ文字が大量に入っているデータをインポートした場合 元のテキスト状態に対してMDBファイルが2倍近い容量になってしまい困っています データベースの内部はunicodeな為に半角カナ文字をunicode化してるのが 原因だと思うのですがこれを回避して、バイナリのまま取り込む方法は無いでしょうか? (このフィール度に対して検索などは行いません) よろしくお願いします
341 :
デフォルトの名無しさん :2007/03/19(月) 01:48:14
初歩的な質問ですがAccess2007で 一つのフィールドのデータ型を「日付/時刻型」 にして異なるレコードに同じ日付を入力したら インデックス、主キー、またはリレーションシップで値が重複しているので、 テーブルを変更できませんでした。重複するフィールドの値を変更するか、 インデックスを削除してください。。または重複する値を使用できるように 再定義してください。 とでてきました。重複する値(日付)を使用するための再定義とはどうすればできますか?
初歩的な質問ですが、Accessのバージョン管理ってどうやっていらっしゃるんですか? VSSでできるとは思うんですが、ちと高いですよね?
343 :
デフォルトの名無しさん :2007/04/01(日) 13:40:48
>>341 その日付/時刻型のフィールド以外にもう1つのフィールドにキーを設定する。
>>342 Accessを使うような開発はバージョン管理自体してないと思う。
>>342 VBA だけを出力して、Subversion にて、バージョン管理しています。
345 :
デフォルトの名無しさん :2007/04/02(月) 23:01:36
どなたかわかる方教えて下さい。 表形式のフォームを開いた瞬間に、一番下のレコード行まで自動で スクロールさせる方法はあるでしょうか? 「これを使えば出来るよ〜」といった回答でOKです。 FAQだったらすみません。
346 :
デフォルトの名無しさん :2007/04/02(月) 23:32:26
>>345 Call DoCmd.GoToRecord(, , acNewRec)
でどう?
重り、キーが沈むくらいの
348 :
345 :2007/04/03(火) 00:21:23
349 :
デフォルトの名無しさん :2007/04/05(木) 00:33:27
すみません。H3.3.3とテキストで入力したとき。表示をH03.03.03という形 で前ゼロをつけるには、どのようにすればよろしいのでしょうか。 よろしくお願いします。
350 :
デフォルトの名無しさん :2007/04/05(木) 00:46:16
test
>>349 テーブルデザインビューで日付時刻型のフィーるどの書式をgee\.mm\.ddにするのはダメ?
入力はH3/3/3で表示はH03.03.03になるみたい。
Access2000でやてみた。
>>340 Unicode圧縮ってASCII文字みたいのじゃないと圧縮にならんのね。
元テキストが大量でmdbファイルがでかすぎなら他のDBのほうがいいのかも。
354 :
デフォルトの名無しさん :2007/05/01(火) 10:05:15
教えてくれ。 突然なんのエラー表示もなくAccessが落ちたりするんだけど、 原因はどんなことが考えられるかな? WindowsXP Pro Access2000 + ADO よろしく
355 :
デフォルトの名無しさん :2007/05/02(水) 00:43:07
たまたま2kのファイルを2003で開いてVBA動かすと画面吹っ飛ばない? ウチだけ? あとファイルサイズが1GB越えるとMDB壊れやすくなんない?
>>355 つかいかたしだい
つなぎかたしだい
つなぐものしだい
358 :
デフォルトの名無しさん :2007/05/07(月) 03:00:06
>>354 新規MDBを作成して、全オブジェクトをインポートしてみたらどう?
359 :
デフォルトの名無しさん :2007/05/07(月) 03:00:10
>>354 新規MDBを作成して、全オブジェクトをインポートしてみたらどう?
>>354 いつまで正常に動いてた?
プログラムやその他書き換えた部分はある?
ウィルスチェックソフトがマクロウィルス検索して死ぬケースもあったから
一旦チェックを無効にしてみるとかはどう?
違うPCがあるならそちらでも実行してみよう あとプログラムやフォーム等修正するときは こまめにバックアップ取りましょう
Set Access = Nothing
363 :
デフォルトの名無しさん :2007/06/17(日) 09:49:17
とりあえずアクセスについてるサンプルの在庫管理というのをを作ってそれをmdeに変換しようとしたのですがmdeのメニューがグレー化になっていて作れません。 どうしてでしょうか?
SQLiteつかえ。ばかやろう。
>>363 バージョンが違うという可能性はないのかい。
Access 2002-2003でも、MDBファイルを新規作成すると、互換性のために
既定ではAccess 2000形式のファイルになるはず。
もし変換元のMDBがアプリと違う形式なら、いったん使っているバージョンと
同じファイル形式(Access 2002使ってるなら2002形式、2003使っているなら
2002-2003形式)に変換してみるとか。
関係ないなら、せめてバージョン情報を出してもらわんと、アドバイスもしづらい。
access97&winXPproです ★オートメーションエラー ってなんですか?(ノД`)★ Dim 【cnn As Database】 Dim rs As DAO.Recordset の【〜】内の部分が青く反転してます。 帳票フォームからフィルタをかけて単票フォームを開き 単票フォームの「更新ボタン」を押すと そのレコード更新&新規レコードを追加するモジュール(DAO)で、最初は動いていました。 帳票>単票のフィルタに、最初クエリ使っていて、 次にVBA DoCmd.OpenForm "単票フォーム", , , "ID = " & Forms!帳票!ID& に変えてみた処、単票フォームは同じように開くのに、 モジュールを動かすところに来て「オートメーションエラー」です。。 一度、クエリのフィルタに戻して大丈夫だったのですが 単票フォームをあちこち改良してるうちに、再発しました。 モジュールが悪いのか単票フォームなのか帳票フォームなのか、 そもそも既にクエリ&フォームで開いている元テーブルにデータ追加が出来ないってことなのか・・・
自己レスです 【〜】部分、一度消して書き直したら、何故か治りました。。。 フィルタも、クエリでもVBAでも、どっちでもイケルし・・・ なんだったんだー!1週間も悩んだのにぃぃぃ〜〜〜〜(゚Д゚#)
368 :
366 :2007/08/02(木) 19:49:55
治ったと思った↑のオートメーションエラーが頻発します・・・(/_;)
>>367 の書き直しすると一時出なくなりますが、また忘れた頃に出てくる。。。
根本的解決法ありませんか?
369 :
デフォルトの名無しさん :2007/08/13(月) 16:26:28
質問があります。 ACCESSで作られたアプリケーションがあるのですが、 それをVBのソースコードとして読めるようにする方法はありますか? アプリケーションを実行するためのEXEと同じフォルダに、 CABファイルがあり、それを解凍するとDLL,MDBなどのファイルがあります。 MDBを開くと、アプリケーションの中で利用しているデータが格納されている のですが、肝心のフォームが見つかりません。 DLLのなかにフォームははいっているのでしょうか? DLLを逆コンパイル(?)すればVBのソースが出てくるのでしょうか? またはまったく別のことをしているのでしょうか私は(涙) お手数ですが、よろしくお願いします。
muri
371 :
369 :2007/08/14(火) 13:49:34
>>370 ありがとうございます。
あきらめます。
フォームが無くてもモジュールがある場合もある mdbをテーブルリンク先としてしか使ってないならむり
>>372 Accessで作られたって書いてあるんだからそれはないだろ
374 :
デフォルトの名無しさん :2007/08/20(月) 16:53:02
Access2007の機能である 作成タブ->複数のアイテム でSelect文の結果を一覧で表示するところまで出来たのですが, これはインタフェース上から値の変更はできないんでしょうか? テキストボックスやコンボボックスを配置しても変更が一切変更できません. データベースの値変更は手動でやるから攻めて見た目だけでも変わってくれたらと思いますが,なにか方法はないものでしょうか? よろしくお願いします.
新規フォームが出来てるだけだから名前漬けて保存してもう一回開けば編集できたよ
何度か保存,再起動したことはありますが,だめでした. とりあえず今のところはクエリでなく,テーブルを直接フォームに表示させるなら編集できるようだったので, Select発行 すべてテーブルに値コピー フォームで編集 差分を本来のテーブルに反映 っていうとんでも仕様で動かしてます...
SELECTの内容をここにうp汁
>>376 >Select発行 すべてテーブルに値コピー フォームで編集 差分を本来のテーブルに反映
>っていうとんでも仕様で動かしてます...
とんでも仕様っつーか、普通のアプリはみんなそうだから気にしなくていいよ。
みなさん反応ありがとうございます.
>>377 あまりにも長いので割愛させていただきます
やってることは単純で7つのテーブルからJoinしたくらいで,OrderやWhereは与えていません
>>378 そんなもんなんですか?
フォームを開くたびに2分ほど値コピーの時間待ちがあります.
もっとスマートな方法がある気がしたので投稿させてもらいました.
380 :
デフォルトの名無しさん :2007/08/26(日) 09:13:10
PC1からVB6で作ったアプリでPC2に置いたAccessMDBにDAOで接続して"SELECT Now()"という SQL投げてもPC2のシステム日付じゃなくてPC1のシステム日付が返されてしまいます。。。 PC2のシステム日付を取得する方法はあるのでしょうか?ADOとかならいけるんでしょうか? 他スレで返答がもらえなかったのでマルチしちゃいました。すいません。
Jetエンジンはローカルで動いてるのでリモートのシステム日付は取れないよ
winsockなりTTマクロなりで、telnetから取るとか。 自分はそれくらいしか思いつかない。
WMI
なるほど。 「PC2」ってののOSも知りたいところだね。
385 :
デフォルトの名無しさん :2007/08/30(木) 15:24:04
vistaでaccessフォームのテキストボックスに aaaaaaaaaaaaaという文字列の間に12345という文字列を追加させると aaaaaa12345aaaaaaaとなるはずがaaaaaa12345というように 挟んだ文字列以降の文字列が消えてしまいます。 vista以外のOSではちゃんとできます。 access2000で作成して 実行させるPCもaccess2000です 解決方法があれば教えていただけますか?
OSをデグレードする
388 :
デフォルトの名無しさん :2007/10/30(火) 19:55:41
Accessを使った経験がないのにVBAエキスパート(スタンダード)の資格を取ろうとしています。 が、なかなかうまくいきません。 翔泳社の「VBAエキスパート教科書 Access VBAスタンダード」をすでに5往復くらい学習して、試験も2回受けたのですが落ちました(1回目500点、2回目550点) 。 Microsoft Office Specialist Access version 2002の資格は持っています。ただ、試験勉強を独学でやっただけで、仕事でAccessを使った経験はありません。 現在失業中なので、とにかく履歴書に書くための資格がほしい、というところなのですが。 まずはAccessの使い方を学習したほうが良いのでしょうか?
389 :
デフォルトの名無しさん :2007/10/30(火) 20:37:48
VBAのAはAccessのAじゃないぞ
390 :
388 :2007/10/30(火) 23:00:25
>389 はい、それは知っています。 VBAエキスパート Excel 2002 VBAスタンダードは取得したので、今度はAccess VBAをと思っているのですが。
391 :
デフォルトの名無しさん :2007/10/30(火) 23:38:40
マ板の話題だな
392 :
388 :2007/10/31(水) 09:52:13
たびたびすみません、マ板てなんですか? 【PC等】のWindows板のことですか?
ググれば一発ですが?
394 :
デフォルトの名無しさん :2007/11/06(火) 19:03:03
VBAを使ってOracleにODBC接続して クエリで抽出したデータを.csvファイルに書き込みたいんだけど、 抽出されたデータを.csvファイルに書き出す方法が分かりません。 クエリの結果がそのままファイルに出力されるような方法があるのか、 それともクエリの結果をどっかの変数に格納してその変数をファイル に出力するような感じになるのかその変もよくわならないす。 現状ではボタンを押したらクエリが実行されて抽出されたデータが表示 されるところまでできたんですけど、表示しないで .csvファイルで出力してほしいんですが、どうしたらいいのでしょうか。 答えでなくても、参考になるサイトでもなんでもいいので教えてください。
396 :
デフォルトの名無しさん :2007/11/07(水) 21:15:21
AccessにはDate型の現在時間を取得する方法があるらしいですけど、 テーブルの中にDate型でない単なる文字列形式で20071107みたいに 日付データが入っているときに、日付がある範囲内におさまってるデータ だけ抜き出したいってとき、どうしたらいいんでしょう。 Date型と文字列を比較してもうまくいかないっすよね??
Date.StringValue
20071107 ÷ 10000 = 2007 あまり 1107
399 :
デフォルトの名無しさん :2007/11/08(木) 20:44:01
VBAにはデフォルトで出力先を選ぶファイルチューザーみたいな ものないですか
400 :
デフォルトの名無しさん :2007/11/08(木) 21:25:33
なんです…(+ΦyΦ)?此のスレたて馬鹿者は…
デフォルトって何?
402 :
デフォルトの名無しさん :2007/11/08(木) 21:27:58
>>400 失礼…(+ΦyΦ)!`実況+.かと思いました…
>>399 WizHookかGetOpenFileNameでググレ
>>396 DateSerial(Left([日付txt],4),Left(Right([日付txt],4),2),Right([日付txt],2))
#文字列の右4字目までが年、文字列左2文字が日、…「文字列右4字」の左2文字が月
真ん中なんでMid()ではなくLeft(Right())なの?
それは全レコード変換して比較しようとするから、遅いよ。 比較条件の方を文字列に変換して与えたほうがよくないか。
407 :
デフォルトの名無しさん :2007/11/13(火) 22:15:10
Aceessのテーブルで、ただ単に一番上のレコードだけを抽出するselect文ってどのように書けばいいのでしょうか?
select top 1 にょろ〜 ふたつくるときもあるけどな〜
409 :
デフォルトの名無しさん :2007/11/13(火) 22:28:23
>>408 ってことは
select * from test where top = 1
でいいの??
table名がtest
410 :
デフォルトの名無しさん :2007/11/13(火) 22:39:52
>>409 です。トップの使い方は解りました。ありがとうございます。
ところで、
select top 1 フィールド名… from test
という事で指定できる事はわかったのですが。
top1で、フィールドがめちゃくちゃ多い場合など、レコードの一行目を全て指定する事は
できないのでしょうか?それともフィールド名を全て書く必要があるのでしょうか?
411 :
デフォルトの名無しさん :2007/11/13(火) 22:43:47
問題が解決しました!! select top 1 * from testでいけました
412 :
デフォルトの名無しさん :2007/11/14(水) 16:04:04
今WinXPでACCESS95、97、2000、2003が入っているんですが。 昨日ACCESS2003のSR3当てたらいままで保存出来てたmdbファイルが 保存ボタン押すと強制終了するようになっていまったんですが 同じ状況の人います? 保存できないから使いもんになんないですよ!
新しいMDB作って全部インポートしてみるといいかもしんない
39
415 :
デフォルトの名無しさん :2007/11/20(火) 15:21:06
Access から SQL Server へ接続した際の質問です。 Access にてテーブルを開き、右クリック→インポートを選び、 ファイルの種類「ODBCデータベース」を選び、接続した場合は、 すべてのテーブルにおいて、インポートすることが可能です。 しかし、AcesssVBA にて、以下のコードでアクセスすると、ある特定の テーブルにアクセスできず、エラーで停止してしまいます。 (別なテーブルは、以下のコードでアクセスする事は可能です。) ConnectionString あたりに問題があるのでしょうか。 Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim str As String cn.ConnectionString = "driver={SQL Server};server=ser;uid=sa;pwd=;database=FA" cn.ConnectionTimeout = 10 str = "SELECT * FROM HOKEN" rs.Open str, cn, adOpenKeyset, adLockReadOnly ←この行でエラーで止まる場合があります。 ※str の中でテーブル名を「HOKEN」としているとアクセス出来ないが、 それを「TANKA」に変更するとアクセス出来る。
エラーの内容ぐらい書けよ。 とりあえずODBCなんてやめれば? cn.ConnectionString = "Provider=SQLOLEDB.1;Password=;User ID=sa;Initial Catalog=FA;Data Source=ser"
417 :
415 :2007/11/22(木) 09:59:19
>>416 レスありがとうございます。
ConnectionStringの内容を書いているように変えてみたのですが、
ある特定のテーブル「HOKEN」のみアクセスが出来ず、rs.openの時点で止まりました。
エラーは以下のようになりました。
●あえてサーバ上に存在しないテーブル「KIHON2」を指定した場合。
実行時エラー
オブジェクト名'KIHON2'は無効です。
●サーバ上に存在するが、プログラムで読めなかったテーブル「HOKEN」を指定した場合。
実行時エラー
キーワード'HOKEN'付近に正しくない構文があります。
418 :
デフォルトの名無しさん :2007/11/22(木) 13:15:02
str = "SELECT * FROM [HOKEN]" これでもダメかな?
419 :
415 :2007/11/22(木) 14:02:39
>>418 読み取ることが出来ました。非常に助かりました。ありがとうございます。
420 :
415 :2007/11/22(木) 14:23:41
調べてみたのですが、分からなかったのでここで質問します。 SQL構文でテーブル名を[]を使う表記方法って何か意味があるのでしょうか。 そもそも、そういう表記をしたサンプルは見当たりませんでした。 SQL Server の特有の仕様であるとか、誘導していただけるだけでも結構です。 よろしくお願いします。
422 :
415 :2007/11/22(木) 16:23:58
>>412 情報ありがとうございます。
フィールド名においても、Useというものを入れるとエラーで終わったり
していましたので、そのあたりが関係してそうですね。
もしかしたらスペースが入っていたのかもしれません。
テーブル名を変えるなどして良く調べてみます。
丁寧にありがとうございました。
同名のViewとかを定義しているとか 実は全角で入ってるとか
Accessてなんか裏技ないの? Excelで隠しレースゲームができるみたいにさ。
AccessにADOで接続して次のようなステートメントを発行しています。 ========成功する例======== BEGIN; CREATE TABLE `testmdb_article` ( `id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY, `pub_date` datetime NOT NULL, `headline` varchar(200) NOT NULL, `article` longtext NOT NULL, `reporter_id` integer NOT NULL); CREATE TABLE `testmdb_reporter` ( `id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY, `full_name` varchar(70) NOT NULL); COMMIT; ========失敗する例======== BEGIN; CREATE TABLE `testmdb_article` ( `id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY, `pub_date` datetime NOT NULL, `headline` varchar(200) NOT NULL, `article` longtext NOT NULL, `reporter_id` integer NOT NULL); CREATE TABLE `testmdb_reporter` ( `id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY, `full_name` varchar(70) NOT NULL); ALTER TABLE `testmdb_article` ADD CONSTRAINT reporter_id_refs_id_79fe4b3d FOREIGN KEY (`reporter_id`) REFERENCES `testmdb_reporter` (`id`); COMMIT; もともと MSSQL 用に書かれた python の Django の ado_mssql で python manage.py syncdb したときに自動生成されたクエリです。 出来れば FOREIGN KEY が付いている状態で動作させたいのですが・・・
>>425 AUTO_INCREMENT って MySQL じゃなかったっけ?
Access だとこんな感じなんだけど、これじゃダメかい?
CREATE TABLE testmdb_reporter (
id AUTOINCREMENT PRIMARY KEY,
full_name CHAR(70) NOT NULL
);
CREATE TABLE testmdb_article (
id AUTOINCREMENT PRIMARY KEY,
pub_date DATETIME NOT NULL,
headline CHAR(200) NOT NULL,
article LONGTEXT NOT NULL,
reporter_id INTEGER NOT NULL,
CONSTRAINT fk_article_reporter FOREIGN KEY ( reporter_id ) REFERENCES testmdb_reporter ( id )
);
Access自体が、Officeの裏技
ありがとうございます 続きをやっているのですが今度はこんなエラーが出てきてしまって 先にすすめません>< com_error: (-2147352567, '\x97\xe1\x8aO\x82\xaa\x94\xad\x90\xb6\x82\xb5\x82\xdc \x82\xb5\x82\xbd\x81B', (0, 'Microsoft JET Database Engine', "\x83N\x83G\x83\x8a\x8e\xae '([django_content_type].[model] = %s AND [django_content_type].[app_label] = %s)' \x82\xcc\x8d\\\x95\xb6\x83G\x83\x89\x81[ ", None, 5003000, -2147217900), None) -- on command: "SELECT [django_content_type].[id],[django_content_type].[name], [django_content_type].[app_label],[django_content_type].[model] FROM [django_content_type] WHERE ([django_content_type].[model] = %s AND [django_content_type].[app_label] = %s)" -- with parameters: ['message', 'auth']
429 :
デフォルトの名無しさん :2007/12/08(土) 12:56:29
ベンダーから上がってきたシステムのコードを見たら、 日本語変数/関数 option explicitなし Dim i,j,k as integer 定数極小で、たいがいリテラルで記述 ひたすらIf文並べてやたら長いプロシージャ なんか頭が痛くなってきたんだけど・・・ これはAccess開発現場においてふつーのことなんですか?
>429 入門書なんかじゃ普通に日本語変数名使ってるからなぁ。 発注側がコーディング規約示して縛るしかないんじゃね?
>>429 素人ならともかく、開発で食ってたらふつーなわけない。
そのソフトハウスが、そういうレベルってだけの話では。
一業者の(たぶん底辺の)例をもってしてAccess一般を
語ろうとするのは、ちょっと無理。
もしハズレの業者をつかんでしまったのでどうすれば
いいかという話なら、>430 の通りかもしれないけど、
それはAccessに限らずP言語でもG言語でも一緒。
仮に自分のところなら、誰が書こうが内部のコードレビューで
NG食らうだろうから、そんなコードは外に出ようが無い。
432 :
429 :2007/12/08(土) 18:59:17
なるほど 比較的、取引のある会社に今回初めてAccessのシステムを発注したんですが、 それまでは一貫したコード規約だったので・・・ 自分、Accessはまったく分からなく、ほぼ丸投げにしたのであまり偉そうなことも言えないけど、 Option Explicitのないモジュールを見た衝撃と言ったら、それはもう(ry
>>429 定数が"まったく"無かったら、自動出力なコードかもしれない って思った。
Dim i,j,k as integer これはなにかおかしいのか
i と j は variantになってると思うよ。
436 :
435 :2007/12/08(土) 22:50:56
あれ? 2002あたりから、大丈夫になったんだっけ? VB.netだけだっけ? もうよくわからんくなった。
>>436 Office2000以降は今のところ全部VBA6.0で変わってない筈だから
>>435 でok
残念ながら
>>434 みたいのが珍しくないのが最下層下請け開発会社(オフィスはマンションとかw)の現状ってやつです。
440 :
435 :2007/12/09(日) 13:42:50
>439 あるあるw そういう奴に指摘すると 「なんて糞な言語仕様なんだVBは!」 とか言い出すww
フランシーヌ様・・ドットーレは・・怒りでどうにかなってしまいそうです・・・ Dim i,j,k as Long For i=12 to 255 If j=1 Then Msgbox "あたり" End If If j=0 And i=256 Then Goto EXIT_DAYO End If While k<1 Value=Cstr(j) & Cstr(k) k=k+0.1 Wend Next EXIT_DAYO:
なんかテーブルとクエリが200個、フォームとレポートが200枚くらいある mdbを数個引き継ぐことになったんですが、なんか仕様書が一枚もありません。 くるくるぽんで仕様書を出してくれるフリーソフト無いでしょうか。
地味にウンコの海をかき分ける これ
仕様書よむよりコーディングを読むほうがわかりやすいんじゃねえ?
>>445 どのフォームがどのテーブルを参照してて、そのテーブルには
どういうカラムがあるのかとかをパッと参照できないじゃん。。。
デザインビューとデータシートビューを同時に並べて見比べる
こともできないし・・・。
こんな感じで各オブジェクトの内容をテキストにしてまとめりゃ良いだろ Access歴1ヶ月に満たない俺でもこれぐらい考えつくってのに、藻舞はセンスねえな Set objFrm = Me For Each objElms In objFrm.Controls If objElms.ControlType = acComboBox Or objElms.ControlType = acTextBox Then Debug.Print objElms.Name & vbTab & objElms.ControlSource End If Next
俺もいろいろ解析ツールをつかってみたが、結局自分で作ったものが最高だった。
明日からまたウンコの海を泳ぐ仕事がはじまるお・・・
ACCESS2003に関する質問です。 現在、ACCESSの勉強をしています。 データ連結したフォームの詳細セクションは、レコードセットの件数に応じて繰り返し表示されるけど、 データ連結をせずにコードから詳細セクションの追加・削除するにはどうしたらいいですか? データ連結をせずにというのは、極端な話DBに一切アクセスせず=データ無し、ということです。 [背景] 実際には、データの保持にレコードセットを使う代わりに書籍クラスなど(のコレクション)を使用するということがしたいのですが そのためには、上記の方法が判明すれば実現できるだろうと考え質問しました。 よろしくお願いします。
連結フォーム使わないならフロントエンドはVBでいいじゃない
ACCESSはデータベースと連結することを前提に作られてるからね。 その特性が利用できないと逆に不便になる。
なんで書籍テーブル作らないの
>>452 ,453
確かに、うすうす感じていましたが、連結フォームを使わなければ本領は発揮できないんですね
ACCESSにおける設計の選択肢を増やそうと思っていたのですが、
クラスを駆使したいような時は言語の再検討をした方がよさそうですね
今回は単に勉強しているだけなので、ここで区切りを付けデータ連結の勉強に移ろうと思います。
>>454 いえ、書籍テーブル及びADOを使ってデータ取得をし、そのデータを元に書籍クラスを生成するという流れになります。
コード上でレコードセットの内容をいじっておきゃいいだけに感じるのは、 ワタシの読解力不足からでしょうか
おれはクエリ作ってそれに連結すりゃいいだけに感じるけど OOPな人は違うんだろうなきっと
OOPとかご大層なもんじゃないよ
>>455 の言うことは
クラスのドンガラ作ってコレクションに入れることにこだわってるけど、
実現できることは構造体の配列と変わらん
というかコレクション使うと遅いので実用的じゃない
素直にワークテーブル作れと言いたい
テーブルのルックアップで2列のコンボボックス、たとえば 1 | 山下 2 | 西田 3 | 小野 みたいなのがリストで表示されるものを作りました。1列目が 連結列で、2列目が名前です。しかしながら、 このままでは、表示が一列目のキーの数字になってしまいます。 列幅の指定で一列目を0cmにすると名前が表示されるのですが、 リストをドロップダウンしたときに、先に示したようにキーと 名前の2列ではなく、名前だけの一列になってしまいます。 また、一列目にキーがきていると、オペレーターが入力する時に 楽なのでこの順番は変えたくありません。 どうすれば、ルックアップで2列で、名前が表示されるように できるのでしょうか。
そういう時はコンボボックスの右隣にテキストボックス置いてそのコントロールソースを =コンボボックス.Column(1) にするのが一般的だけど、その仕様にこだわる理由って 何かあるの?
2列表示のリストにすればいいんじゃないの?
>>459 コンボボックスのプロパティ一覧をもう一度良く見てみろ
久々にAccess触ってます。 バージョンは2003。 レポートのソースにADOのRecordsetって指定できないんでしょうか? クエリー作らなきゃだめですか?
カーソルを変えれば医院で内科医
クエリーにADOとかDAOとかの区別があるの?
468 :
463 :2008/01/21(月) 18:40:08
>466 それです。 VB6とどっかの帳票ツールなんかだと Set Report.Source = Recordset みたいな感じでできたので・・・
>>468 レポートオープンイベントのときに
Me.RecordSource にSelect文ぶち込むわけにはいかないのかな?
あ、ADOでしたね、失礼。
471 :
463 :2008/01/23(水) 19:55:44
>469 あ、なるほどそういう方向性か。 なんとなくできそうな気がしてきました。 試してみます、ありがとう。
フォームやレポートのコントロールソースに式やSQLを書いたときに それを後から検索したいと思いました。例えばコントロールソースに select * from 区分マスタと書いて、それをVBAの Application.Forms("フォーム").Controls(0).Value みたいにして取得できるかなと思ったのですが、なんかうまく取得 できませんでした・・・。GUIのプロパティ画面で見えている コントロールのプロパティの値を取得することはできないのでしょうか
自分で「コントロールソース」って書いてるんだから、「Value」じゃなく 「ControlSource」じゃないの。
ちょっと聞きたいんだが、モジュールとかフォームのバージョン管理ってどうやってんの? まじで悩むんだけど。svnに突っ込んでみたけど、svn diffしてもバイナリの差分しか 取れないし、どうやって履歴管理してんの?
ふつうはsaveastextしたファイル単位(オブジェクト単位)じゃね? VSSが無いと入出力が面倒だけど。
やったこと無い事じゃなくて、現状どうやってんの?
過去も現状もやったことねえよ
たとえばフォームのプロパティをプロパティダイアログから変更したとして その変更履歴もVSSから差分を確認できたりするの?
480 :
デフォルトの名無しさん :2008/02/03(日) 22:31:57
型番 日付 A 2008/02/03 B 2008/02/04 C 2008/02/05 D 2008/02/06 E 2008/02/07 F 2008/02/08 エクセルで上記のような表があるとします。 クエリに関数を入れて本日〜4日後の2008/02/06までを”全て” 抜きとって表示したいのですが関数わかる方おられませんか。 2008/02/07と2008/02/08は不要としたいのです。 自動的に毎日4日間を抜き取ることはできますか?
482 :
デフォルトの名無しさん :2008/02/07(木) 19:10:38
ちょw404wwwwwwww
484 :
デフォルトの名無しさん :2008/02/10(日) 03:46:30
vistaでaccess2007を使用しています。市販のテキスト通りに操作をして、 フォームウィザードでフォームを作成し、新しいデータを入力しようとした所、 「新しい行に値を追加するにはまず行をコミットする必要があります。行をコミットしてから、 値の追加をしてください。」というメッセージが出て、入力が出来ません。 どうすればよいのでしょうか?宜しくお願いします。
>482 うpロダの流れが速すぎて誰も問題見れてない疑惑。 >484 バージョンが合った本を参考にしてる?普通本の記事なら動作確認してるはずだが・・・。 症状からさっするに、自動コミット関連じゃね?
フォームを開く時にパラメーターを渡すってOpenArgsかグローバル変数しかないの? ていうかOpenArgsって複数形なのになんで引数一つだけなの? 普通、argsっつったら可変引数なんじゃね?
487 :
デフォルトの名無しさん :2008/02/23(土) 12:53:12
accessでフォームを作ってみたのですが、 デスクトップのアイコンをダブルクリックすると、accessが起動してその中に オレのデザインしたフォームが表示されます。 これをデスクトップ上のアイコンをクリックすると、 オレがデザインしたフォームだけ表示するようには出来ますか? ベクターでDLしたソフトはアクセスは表示されません。 どうしたら良いのか教えてキボンヌ。 CとかC++とかJAVA?とかじゃないと駄目なんでしょうか??orz
Access Runtime Edithion を使え
>>488 accessで作って更にVBEってやつで弄くるのかと思ってました。むずかしすぐるorz
AREでできるんですか(ノД`、)ヒントありがとうです。
490 :
デフォルトの名無しさん :2008/03/05(水) 00:42:36
質問です。テーブルに日付を入力する際に H20/3/4 と日付を入力することになりますが 自分の会社が和暦で管理しているので 和暦コードで平成を4とすると 4200304 と入力した上で日付に変換させたいのですが・・・。 やはりVBAでないとだめですか? 関数で数値処理してどうにかしたいのですが。ご教示お願いします。
関数で数値処理してどうにかなるぜ
492 :
デフォルトの名無しさん :2008/03/05(水) 08:41:25
別テーブルにアクセスしてもいいならDLookupを使う だめならIIFでいいよ
西暦で 8/3/4と入れるとH20/3/4になるよ。複雑な関数作るよりラク。
Access SQLにはCase句がないんだっけ IIFのネストじゃ不便やのう
Switch関数を知っての狼藉か?
496 :
デフォルトの名無しさん :2008/03/06(木) 23:21:35
Accessのテーブルの列属性の表をExcelのワークシートに書き出そうと思っても、 デザインビューを開いて表を選択コピーしても、張り付けられないのか。 どうすればいいんだ。
「列属性の表」の時点で解読を断念した
Accessのテーブルの列属性の表のコピペの貼り付けの可否の質問かい?
テーブルのデザインビューの話か? ならVBAからDAO.TablaDefとかで取得する
500 :
デフォルトの名無しさん :2008/03/09(日) 01:07:03
教えて下さい。 姓・名・生年月日が同一の、重複するデータが50件あるとします。 例:たなかまきこ1981/2/24が3件 いずみもとや1988/3/14が5件・・・ これらのデータにはそれぞれ異なる「入会日」が日付としてあるのですが、姓 ・名・生年月日が同じデータの中で入会日が一番わかいものだけを抽出するに はどういうデザインを書いたらよいでしょうか。 お手数ですが宜しくお願いいたします。
1.姓・名・生年月日・入会日 のテーブルを作成する。会員TBと命名 2.姓・名・生年月日を主キーにする。 3.データを入会日順に並び替え、会員TBに追加する。 以上の手順を実行すると、会員TBには会員と一番若い入会日のデータが抽出される。
同姓同名誕生日まで一緒の人間が50人いてどうしようって 年金の名寄せ処理くらいしか思いつかねえよw
つまり質問者は社会保険庁でおk?
ワロタ
>>500 select 姓, 名, 生年月日, max(入会日) as 最新入会日
from データ
group by 姓, 名, 生年月日
>>501 姓・名・生年月日を主キーにしたら重複した49件が挿入できんだろが。
>>502 同じ人間が忘れて何度も会員登録することはある。そういうのが25人いて
それぞれ2回重複登録することはありそうだが。
506 :
デフォルトの名無しさん :2008/03/09(日) 16:41:41
皆様、ご回答いただきありがとうございました。 505様、解決することができました。 アドバイスありがとうございました・・・! 本当に助かりました、ありがとうございました。
507 :
デフォルトの名無しさん :2008/03/09(日) 19:36:55
教えてください。 下記のような勤怠テーブルがあります。 (実際には時系列でBさん、Cさんの勤怠も入り混じってます) ここから日付ごとに「9時以前の稼働時間」・「9時から17時までの稼働時間」 ・「17時以降の稼働時間」を割り出すには、どうしたらいいでしょうか。 日付 .│名前│ 勤怠 2008/03/03 07:00:05 │ A │ 出社 2008/03/03 15:03:32 │ A │ 退社 2008/03/03 17:02:55 │ A │ 出社 2008/03/03 19:35:04 │ A │ 退社 2008/03/04 08:34:12 │ A │ 出社 2008/03/04 18:42:25 │ A │ 退社 2008/03/05 07:35:02 │ A │ 出社 2008/03/05 17:06:47 │ A │ 退社 2008/03/05 18:02:24 │ A │ 出社 2008/03/06 15:26:47 │ A │ 退社 お願いします。
edate
擬似コードを5分で考えたけど長すぎて貼れなかった。ようは 出退ごとに時間をぶつ切りにしてループで3つの時間計の 区分に加算していけばいいのでわ。VBAで
クエリ一行で済むだろ
>>510 一行でやれるならさっさと見せてほしいわ。
>>511 クエリで作れば確かにクエリ呼び出しの1行で済むわな・・・・
少なくとも1行では無理ぽ 5回も6回も出社退社を繰り返したりしないとか、 かならず、出社したらその日中に退社するとか決まってるのかな。 3月5日にAさんが退社してないことになってるので、 それの対応も考えないといけない? そのへんまでSQLでカバーするくらいなら(しなくても?) VBで日付順に並べてfor文回す方が楽だ。
まじめに答えると 勤怠リストに保存する際に計算して 9時前 9〜17時 17時以降 の労働時間フィールドに書き込むのが間違いなく実用的だな・・・ Forでまわしてもいいけど 1日に複数の出社があるので意外と複雑な処理になる 退社データ入力時に直近の出社データとの時間計算して3つに分けるべき
____ / \ / _ノ ヽ、_ \ / o゚⌒ ⌒゚o \ もう17時以降から翌9時まで出勤しっぱなしの仕事はいやだお… | (__人__) | \ ` ⌒´ /
while 1 { if (st < 09:00 && ed < 09:00) { time1 += ed - st getTimes(st, ed) } else if (st < 09:00 && ed >= 09:00) { time1 += 9:00 - st st = 9:00 } else if (st >= 09:00 && ed <= 17:00) { time2 += ed - st getTimes(st, ed) } else if (st >= 09:00 && ed > 17:00) { time2 += 17:00 - st st = 17:00 } else if (st >= 17:00 && ed < 24:00) { time3 += ed - st; getTimes(st, ed) } else if (st >= 09:00 && ed >= 24:00) { time3 += 24:00 - st st = 00:00 } } こんなかんじで!
517 :
514 :2008/03/11(火) 00:45:38
>>515 勤怠入力時に入力チェックくらいするだろw
>>516 VBAじゃないし
しかもそれじゃ・・・
AccessもSQLServerとかのデータベースみたいに、ストアドファンクション のようなユーザー定義関数作ってSQLで使えますか。
>>514 逐次に計算するのも、〆で計算するのも同じだろう?
何かが違うのか?
使える。 Round()関数の仕様が四捨五入じゃなくて丸めだから JRound()関数とか勝手に作って本当の四捨五入関数としてSQLで使ったりしてる。
すみません
いまさらですが
>>507 はフレックスタイムでお願いします
>>507 これは勤務が日付をまたがる可能性はあるのか?
ex. 出勤 21:00→ 退勤翌日 08:00
523 :
514 :2008/03/11(火) 02:44:14
>>519 特に処理に違いは無いが、入力時に必ずチェックするだろ
出勤の後に退勤が入力されているかどうかなど・・・
その時に1件づつ処理したほうが間違いが起きにくい
コードが書けるし、何より処理が早い
1回の出勤・退勤で計算する処理が意外と複雑だから
複数人の1ヶ月の集計を表示すること考えると
時間かかるかもしれないぞ
前もって入力時に計算しておけば一瞬で1ヶ月集計&10人分でも
表示可能だ
SQL集計関数で1発でできるなら必要ないが、俺には思いつかんし
(正確には考えたくない)
それより逐一計算してやったほうがはるかに楽だし早い
鉄道会社が一部の夜行を除いて 24時間営業しないのは 勤怠管理が激しく面倒になるからだろうな
ボケが半端すぎて反応に困る
526 :
デフォルトの名無しさん :2008/03/11(火) 20:21:59
アクセス2003を使ってますが、 一つのセルだけ上と同じデータを永遠 と入力するにはどうすればいいですか?
おまえが使ってるのはエクセル2003
名前、日時の順にソートして、 出勤退勤が交互に来てるのをチェック 二件ずつ日時をとって、 サブルーチン:出勤日時,退勤日時→各時間帯の変数にプラス。 名前が変わったら変数初期化して続きを処理。 こんな感じでどう?
>>528 そんなことしなくても
逐次処理すれば1回の処理で済むと何度言えば・・・・
その処理じゃプログレスバー出さなきゃならん位
遅いはずだな・・・
途中でAPIでメッセージキュー処理しないとクリックしたりした途端
「応答なし」になるかもね
>>529 逐次処理できない理由があるんジャマイカ?
元データが市販のタイムレコーダだったりとか。
やっぱアクセスは遅いから駄目だな。
日付 .│名前│ 勤怠 2008/01/01 00:00:01 │ A │ 出社 2008/12/31 23:59:59 │ A │ 退社 もういやだお・・・
>>529 元の質問が「割り出し方」な件。
テーブル参照しかできない場合もあるし、
逐次処理って、タイムカードを挿すの忘れたアフォがいた場合、
修正箇所が分散するので、
レコード件数によっては
計算させるのも悪い設計じゃないと思う。
値集合タイプにユーザー定義関数を使うことができますが、このときの 関数に何かパラメータを渡すことはできないんでしょうか。具体的に言うと、 「ファイルリスト」みたいな関数を作り、パスを渡して、そのディレクトリ中の 一覧をリストに表示するようなことをやりたいのですが。グローバル変数で 渡すことも考えましたが、ひょっとしてマルチスレッドで動いていたら、 おかしくなりそうな気がしてやめました。お知恵をお貸しください。
面白いこと考えるね。
グローバル変数でいいんじゃないのかな。
マルチスレッドという話は聞かないから(マルチスレッドにしたい→無茶、みたいな流れはよく見るけど)。
特に他にいいやり方は浮かばない。
>>536 に期待。
ディレクトリを渡せればいいんだよね。 別に引数や変数で渡すことなくて、そのディレクトリをあらかじめ ChDriveやChDirでカレントにしておけばいいんじゃね。 ユーザー定義関数内では何も考えずにカレントディレクトリを 検索すれば済みそうな希ガス。
対象が何かわからないけど仮にコンボボックスとして、値集合タイプのプロパティは 1.テーブル/クエリ 2.値リスト 3.フィールドリスト この3択だったはずだけど、ユーザー定義関数ってどこで使うの?
Access 2003 ランタイムとOffice 2003 SPを同梱して再頒布するのはOKだろうか? Office 2003 SPはライセンス違反になるかな。 セキュリティー警告に対応するため、VBAにデジタル署名を入れたんだけども Access 2003 の既知問題で SP1 以上のインストールが必要になってしまった。
mdbを開いたときに、ユーザにより初期表示フォームを変えたいのですが、 mdbファイルに起動パラメータを付加するようなことは可能ですか? 選択メニューフォームなどは作成せずに、起動パラメータを付加した mdbへのショートカットを複数作れたらと思ってます。
「ユーザーにより」なんだから 最初にログイン画面出して ユーザー毎にログイン後の ページを変化させるべきだろ
>>542 ありがとうございます。それで行けそうです。
>>543 今回はユーザ管理機能は必要のない簡易システムの提供ですので、
ログイン画面やメニュー画面などを付加して、
ユーザ作業を増やすことは考えてません(ユーザ管理も必要ですし)。
1クリックでも省きたいとうのが質問の意図です。
クリックがいやならPCを窓から投げ捨てればいいじゃない
そこ、そんなに食いつくところか?w
環境変数からユーザー名取れるだろ。
ちょwwおまwww WinのログオンユーザとAccessの管理ユーザ一緒かよwww
SQL Serverだって同じ選択肢があるのだからいいだろ。そんなに変か
Access使ってる時点で終わってるから
551 :
デフォルトの名無しさん :2008/03/25(火) 20:14:47
フィールド1:姓+名+誕生日 フィールド2:入会日 上記のデータで、フィールド1が同一でフィールド2が異なる複数件のデータが あるとします。 抽出クエリで、フィールド2が最大のものを抽出したいんですが、 この時にフィールド2が同じ日ならデータとして残しておく(最大抽出では消 えてしまう)ようにするにはどうデザインしたらいいですか? すみませんが、教えて下さい。
>>551 Select * from hoge Where 入会日 = (Select max(X . 入会日) from hoge X )
Accessのリレーションシップの意味って何。 そんなんなくてもテーブルを結合してクエリー作れるし。
テーブルを結合したクエリーをSQL手書きしてるならそれでいい ウィザードでマウスぐりぐりで結合定義してクエリ作るなら あらかじめリレーションがあった方が的確に自動生成してくれる table1 (id, hogeid, fuga) table2 (id, fugaid, hoge) で なんとかjoin on table1.hogeid = table2.id みたいなのを期待するときに リレーション作らないままウィザードでクエリ作ると table1.id = table2.id とかを勝手に想定して結合してしまうので 手で切り離して定義してっていちいちうざい状態になる
そんなことよりクエリのSQLエディタの手抜きぐあいはなんとかならんのか。 超書きにくいわ。せめてキーワードをハイライトしてくれればいいのに
だなw単なるメモ帳以下だよな
俺は別のエディタにコピペして書いてるけどね。 アクセスにあれこれ機能を付加して肥大化するほうがイヤだね。
Accessのクエリって遅いな。 レコード件数が多くて、ある程度負荷の高いSQLで検索を実行しようもの なら、いとも簡単に待ち時間が長くなってしまうではないか。いつまでも 結果が返ってこないので、Accessを強制終了せざるを得なくもなるし。 SQLなんか使わずに、C++のプログラムでテキストファイルからデータを 読み込んで、直接制御すればほとんど待たなくて済んだ。 SQLはノロマか?
それAccessのSQLが遅いというよりテーブルが遅い ためしにPythonとかRubyからADODBで接続して コンソールに出力させてみるよいいよ 同じSQL文なのにあまりに速くて驚く
VSSのアドインを使ってみたんだけど、使いにくいなこれ。 CP932にマッピングできない文字はチェックイン時に文字化け しちゃうし、他で編集したものを入れ替えてチェックインするのも 一苦労だし、まじうんざりした。
サブフォームの名前変更したら 参照しているプログラムに怒られた(あたりまえ)なので、 プログラムの方も変更したのだが、それでもそんな名前の サブフォームなんて知らねぇって怒られて、 むかついたのでサブフォームを一旦削除して、別名で作り直したんだけど、 やっぱり動かない状態になってしまった。 これってもうメインフォームから作り直すしかない?
全オブジェクトをインポートし直せ
565 :
デフォルトの名無しさん :2008/05/10(土) 00:45:09
すみませんが、教えてください。 csvデータをインポートすると、なぜか10桁の数値はインポートエラーとなり、9桁以下の数値はインポートされます。 10桁の数値もエラーとならずインポートできる設定がございましたら教えていただきたくお願い申し上げます。
インポート先のフィールドが長整数型でしたw なんてオチじゃねーだろーな
こちらで初めての書き込みです。 教えて頂けませんか?セキュリティーのことで困っています。 ACCESS 2003を使用してます。 XPを積んでいる2台のPCで仕事をしています。 外付けHDDにACCESSのデータを置いて、 そのときに使用するPCに外付けHDDをつないで仕事をしています。。 起動すると、毎回、「ログイン・・・・」「パスワード・・」と表示されるのを煩く思っていました。 それを消そうとしてセキュリティーを触ったと思います。 1台のPCからは覗き修正できるですが、もう1台からは利用できなくなりました。 「権限がありません」というメッセージです。 新規にファイルを作りデータのインポートもやってみましたが、それでも、同じ状態で一台のPCからは侵入できません。 毎回、なんのメッセージも表示されることなく、誰でも利用できる状態にするにはどうしたら良いでしょう? ACCESS 2000ではそのようにしていました。 お手数と思いますが、ご助言頂けないでしょうか?
アクセス権はスレ違いだけれども… 現在アクセス可能な方のPCを使って外付けHDD全体に対して アクセス権にUsersかPowerUsers辺りを設定したのだと思うので 今度はアクセス可能なPCでEveryone/フルコントロールにすれば良い。
>>568 すれ違いでごめんなさい。
ご助言ありがとうございます。
とても困っていたので感謝致します。
やってみます。
570 :
アクセスでアクセクしてサクセス :2008/05/17(土) 19:17:03
質問です どっかの金庫持ってるような会社のせいで 当社も出力媒体に暗号化をしろと言う命令が 僕のところに飛んできました 1) MDBをまんま出力していたんですが これを暗号化(暗文)するには どうしたらいいのでしょう 2) ちなみに出力する ファイルが「テキスト」の場合バイナリにしろ って言う意見が別のhpでありました バイナリって「絵(ピクチャー)」のデータですよね どうすればテキストが絵のデータになるのでしょう 拡張子を取ればいいんですかね? 先輩方お願いいたします
xpでアクセス2003使ってる者です。 クエリのSQLビューでフォントを大きくするにはどうすればいいんですか?まったくわかりません
572 :
デフォルトの名無しさん :2008/05/17(土) 20:27:03
コピペでワードパットに落としてでかくするとかあ
>>571 あのSQLエディタの糞さかげんは全ユーザーがうんざりしてるが
一向に改善されない。あきらめろ
わかりました。ありがとうございました。
575 :
デフォルトの名無しさん :2008/05/17(土) 21:09:55
>>570 スレチだけど簡単な方法として出力データをZIPパス化すれば?
おおお斬新な切り込み方 しかしZipは即効パスワードばれないですか 窓の杜とかにあるらしいし
578 :
デフォルトの名無しさん :2008/05/17(土) 23:13:52
いろいろ調べました
>>578 さん のおっしゃるとおりです
ところで パス化ってパスワードを付けるってことですよね
?Zipまでのパスきって パスワードつける技?じゃないですよね
できたらすごいなあ
それでわ続きは明日にします
ありがとうございました
出力媒体にTrueCryptでもかけとけや
(内容の違う)10ファイルくらいを一気に同じ(別でも可)パスワードで作れればベスト TrueCrypt・・・凄いソフトですねこんなのあるんだ マジ寝ます
普通にAccessでパスワード設定するんじゃダメなのかなー
583 :
デフォルトの名無しさん :2008/05/18(日) 07:05:14
おはようございます
>>582 シフト押して開けるんじゃなかったけ?
今考えてるのは accessのフォームでパスワード入力
そのパスワードでZip暗号化 USB出力
VB+API?でやればできるんですかね
>
>>582 シフト押して開けるんじゃなかったけ?
いくらなんでもそれはねーよ
AccessのというかOfficeのパスワードはぶっちゃけザルだから・・・
>>571 [ツール]-[オプション]-[テーブル/クエリ]-[クエリ デザインのフォント]で
変えられる。
ただしSQLビューだけじゃなくデザインビュー(QBEグリッド)も変わる。
フォームを開いて、入力された値を返すようなことをグローバル 変数使わないでできないですかね・・・。
じゃ関数化すれば。
2007のTempVars使え
>>570 全社的に目立の「秘文」を導入すれば一発で解決する。
592 :
デフォルトの名無しさん :2008/05/22(木) 20:18:56
あれ たかくね?
>>570 「暗号化」をどういう意味で使っているのか知らないが、
データを平文で読めなくするという意味ならふつうに
標準機能で付いてる(強度はともかく)。
エンコード/デコードでヘルプ引け。
パスワードかけたいという意味なら、これもふつうに
標準機能で付いてる(強度はry)。
両方併用すれば、一応平文で読めないパスワードロックの
かかったファイルになる。別に他のソフトなんて要らん。
社内規程に沿いたいだけならそれでいいんじゃね。
本気でクラッカー対策したいなら、そもそもAccess使うな
(もちろんExcelもWordも)。というより、Officeスイートの
レベルでやることじゃないわそれ。
594 :
588 :2008/05/22(木) 22:11:10
できまちた。フォームってDoCmd.Open以外でも開けたのね・・・
バイナリ=ピクチャ には誰も突っ込まないのね。
596 :
デフォルトの名無しさん :2008/05/24(土) 00:24:55
おいおい
バイナリ=ピクチャじゃないのはもう学習済みだぜ
>>593 ぐぐってきま ダイブ!!
>>エンコード/デコードでヘルプ引け ひいたけど分からんあすもよろしZzz
Access 2003にはツールメニューのセキュリティに「データベースのエンコード/デコード」ってのがある。 2007は知らない。
599 :
デフォルトの名無しさん :2008/05/25(日) 18:59:10
そういえばAccessって改行記号を読み飛ばしてインポートするって 聞いたけど マジですか?
600 :
デフォルトの名無しさん :2008/05/25(日) 19:05:51
うは 今試したマジだよ 改行読み込ます方法ってある? txt csvのインポートで
レコードの区切りと見なされるってことではなくて?
txtで今流行の3の倍数が読み飛ばされる **データ** 1 2 改行 4 5 改行 7 ↓ **結果からレコードが出来ない(作る方法ある?)** 1 2 4 5 7
2003では再現しないな。 ウィザードのプレビューでは飛んだように見えるが、実際に新規テーブルに インポートしたらしっかり空レコードも入ってた。 なんか他に条件必要か。
ぐっぐってみた 改行コードの違いみたいだ ODBC経由でやるばいいらしい @俺も試してみる プレビューでダメだとあきらめたんで ダイブ! (Access2000)
すまん普通に出来たわ・・・ すまん・・・603さん と びる
606 :
デフォルトの名無しさん :2008/05/27(火) 21:22:45
救出上げ Accessのページ皆さんどんな風に使ってます? 仕事で使ってるかた いますかー
ちなみにページは2007で削除されますた
608 :
デフォルトの名無しさん :2008/05/27(火) 23:30:09
ウエッブデベロッパー使えってこと?
定期救出上げ
マイクロソフトはAccessに力入れる気あるのかないのか はっきりしろ
はっきり無いと思う。
Baseの出番だな
それはない
Accessは2000でほぼ完成の域に達している。 これ以上改良する余地が無い。 機能は多ければよいってもんじゃない。
615 :
デフォルトの名無しさん :2008/06/03(火) 22:47:18
2GBの壁 同一mdb内でのフォルダ管理ができない テーブル・クエリの印刷設定が保存されない わけわからんエラーもろもろ 不満はこんなとこだな。
>>614 ANSI SQL-92にしろ!
SQLエディタを使いやすくしろ!
いちいちクエリを作らないとSQL実行できないのめんどいんじゃなんとかしろ!
サブクエリが使えないケースがあるのを何とかしろ!
一時テーブルを作らせろ!
MDBでストアドを使わせろ!
ADPで接続先を外部に保存できるようにしろ!
ADPでSQL Server2005/2008に対応しろ!
わけわからんエラーをなんとかしろ!
VBAにスタックとキューとリストを追加しろ!
VBAでユーザー定義型をCollectionできるようにしろ!
>>615 > 同一mdb内でのフォルダ管理ができない
これどういう意味?
階層分け・区分けが出来ないって意味
>>616 それ実現したら.NET+SQL鯖を売りこんでるM$の自殺行為じゃね。
わざと不便にして差別化してるわけだから。
とっとと移行汁といわれて終わりな希ガス。
620 :
619 :2008/06/04(水) 01:36:47
…と書いたものの、実現性を脇に置けば全面同意。
大企業はしらんが、小規模零細企業の9割以上は、 SQL鯖なんて使ってないから、いまのままで充分なんだよ。
改良する余地が無いとか素人がほざくからだ
ACCESSってまだ2G制限あるのか。10年ぶりに使おうかと思ってたのにマジかよ。
漏れの本職はアクセス開発一筋なんだけどね。
accessはレポートが有るからいいよね C++の人とかツールとか買ってレポート作るのかな クリスタルレポート? デルファイは外部ツールのなんとかレポート買ったみたいだけど
626 :
デフォルトの名無しさん :2008/06/06(金) 00:19:34
質問があります。 日付の入力項目があり、「08/06/01」(年二桁)と表示させたいんですが、 スラッシュなしで6桁入力、スラッシュ入りで「8/4/31」入力しても 「00/00/00」の形式で表示するにはどうしたらいいでしょうか?
>>626 フォームだよな?>入力項目
なら、フォームの日付の入力項目に更新前・更新後イベント作って、VBAで下記のコード入れればOK。
「日付の入力項目」って所は適宜フォームのテキストボックスの名前に変えること。
' 更新前イベントでチェック
Private Sub 日付の入力項目_BeforeUpdate(Cancel As Integer)
If Not (IsDate(日付の入力項目)) And Not (Len(日付の入力項目) = 6 And IsNumeric(日付の入力項目)) Then
' 日付形式でも、6桁の数値でもない場合、エラーを表示して更新を中止
MsgBox "日付に変換できません。", vbOKOnly + vbExclamation, "エラー"
Cancel = True
End If
End Sub
' 更新後イベントで変換
Private Sub 日付の入力項目_AfterUpdate()
If IsDate(日付の入力項目) Then
' 日付形式だったら、yy/mm/ddの形式に変換する
日付の入力項目 = Format(DateValue(日付の入力項目), "yy/mm/dd")
ElseIf Len(日付の入力項目) = 6 And IsNumeric(日付の入力項目) Then
' 6桁の数値だったら、「1桁目から2桁/3桁目から2桁/5桁目から2桁」 に変換する
日付の入力項目 = Mid(日付の入力項目, 1, 2) & "/" & Mid(日付の入力項目, 3, 2) & "/" & Mid(日付の入力項目, 5, 2)
End If
End Sub
実質CP932限定なのを何とかして欲しい
629 :
デフォルトの名無しさん :2008/06/06(金) 12:13:35
>>627 ありがとうございました!非常に助かりました
こんな発想はできなかったです…
630 :
627 :2008/06/06(金) 13:14:29
>629 漏れに感謝とかしなくていいから、藻前さんが答えてやれる質問には答えてやってくれ。
しかし、それを全ての日付入力項目に記述しないといけないとすると、 なにもせずデフォルトのまま使うほうが賢いんじゃねえ?
うん "6/6" だけですむ標準が最高
InputBox()関数の返値をどうにかして日付にしないといけないようなケースでは
>>627 の方法一択だろうけど、テキストボックス使うなら入力規則を入力規則ウィザードで
それっぽいのに設定して書式をYY/MM/DDにしとくのが一番面倒がなくていいよ。
あとYYMMDD形式で入力させてると290101は2029年1月1日になるけど
300101は1930年1月1日と見なされる、いわゆる2030年問題があることも
一応憶えておくといいよ。
パスワードついたExcelファイル(拡張子.xlsx)を Access2007でリンク貼ろうと思ったら無理とか言われる。 VBAで無理矢理リンク貼れる? インポートでも別にいいけど無駄だし。
636 :
デフォルトの名無しさん :2008/06/12(木) 21:30:20
それよりこのスレいつDat落ちするかの方が気になるよ
ACCESS2007のVBAってまだVB6ベースなのか? てっきり.NETベースかと思ったよ。VB6関係の本、この前ぜんぶ捨てちゃったよ。。。
.NET対応とかわれてもADOとADO.NETて共存させられんのかよ
639 :
デフォルトの名無しさん :2008/06/12(木) 22:53:24
てゆうかADOとADO.NET違いが俺分かってないや ちょっと誰か ドラえもんのような感じで説明してくれないか スレ落ち防止も兼ねて
過去の資産があるだろうから切り捨てはしなくていいけど、 言語エンジンの切り替えができるようにしてほしかった。共存とかはうまくよろしくみたいな。
正直.NETはしなくてもいいけど、VBをやめてJScriptにしてほしい。VBまじ苦痛。
それは時代の違いだな。昔はパソコンでプログラムといえばBASICがメジャーだった。 Windows95とVB4のころにはBASICの経験者が結構いたからな。
アクセス本屋では人気あるのにP板ではにんきねえなあ
644 :
デフォルトの名無しさん :2008/06/15(日) 19:32:33
おっと 保守
わけのわからんエラーが多すぎるし、うまく多人数で使うのは至難の業だし VBAは時代遅れの糞言語だし、唯一のとりえがレポート出力だけなのに なんで人気でるのか
間違ってもC言語が入門用になるなんて考えられんけどな。
他人数で使おうって発想の人間には仮にエラーが出たとしても わけわからんだろうな
>>647 おまえな、マイクロソフトがそのような使い方を認めているのだから
そこを完全否定することはできないぞ。おまえがやりたくなくても
客の要望や他人の引継ぎでやらされることもあるんだぞ。
想像力の欠如だな。
>>645 データベースとしては安いからだろ
客を説得するには十分な材料じゃね
650 :
デフォルトの名無しさん :2008/06/20(金) 00:23:34
無料のSQLサーバ2005+ヴィジュアルスタジオ2008 VB C# でつくりゃ無料じゃね? レポートはどう出すか謎だが 救出アゲ
そんなに必死になるほど人気がある実感はまったくないな。
SQL-Server2008Expressまで待てばレポーティングツールもついてくるらしいよ
653 :
デフォルトの名無しさん :2008/06/21(土) 15:47:39
特定の日付のデータを取り出そうとしてるのですが sql = "select * from 結果出力先 where [日付]<'" & Format(hi + 1, "yyyy/MM/dd") & "' and [日付]>='" & Format(hi, "yyyy/MM/dd") & "' ;" Set rs = cnn.OpenRecordset(sql, dbOpenDynaset) (hiは取り出したい日付を入れた変数) ってやってるんですが、抽象条件でデータ型が一致しませんとエラーが出てしまいます。 どこがまずいんでしょうか?
>>654 日付/時刻は「'」や「"」ではなく「#」で囲む
656 :
デフォルトの名無しさん :2008/06/22(日) 08:31:20
礼に始まり礼に終わる 655 じゃないけど なんか言うことないのか?
657 :
654 :2008/06/22(日) 08:48:45
自己解決しました。
658 :
デフォルトの名無しさん :2008/06/22(日) 08:57:50
655 の立場は?
659 :
654 :2008/06/22(日) 11:33:30
660 :
デフォルトの名無しさん :2008/06/22(日) 11:41:53
>>659 sql = "select * from 結果出力先 where [日付] BETWEEN #" & Format(hi, "yyyy/MM/dd") & "# AND #" & Format(hi + 1, "yyyy/MM/dd") & "# ;"
上の抽出条件のレベルだとその書き方でもいいけど範囲で抽出できるBETWEEN使った方が後から見たとき分かりやすくなると思うよ
そもそも[日付]やhiに予期せず時分秒が入ってしまった場合に備えてWhere句を範囲にしてるなら DateDiff("d",hi,[日付])=0のほうが見やすくていいよ。
>>660 それだと翌日00:00:00のデータも含まれちゃうよ
>>661 hiはフィールドじゃなくてVBAの変数だから
sql = "select * from 結果出力先 where DateDiff(""d"", #" & Format(hi, "yyyy/MM/dd") & "# ,[日付])=0;"
かな?DateDiffの分すこしだけ重いクエリになるみたいだけど見やすさ優先ならいいのかも
AccessってTransactionとかLockとかありますか
DAOやADOにあるし、詳細オプションやクエリプロパティにもある。 制御可能な度合いはものによって違うけど。
666 :
デフォルトの名無しさん :2008/06/26(木) 21:02:06
そもそもそれはなんだ?
基本データベースに必要不可欠な機能だが 基本Accessに不要な機能です。
スタンドアローンならロックはいらないけど、トランザクションはどんなRDBでも必須だろ。 データの不整合が起きたらどうするのよ。一部トランザクションがないエンジンもあるがな。
不整合に気付けばいいけど いつのまにか上書きされてて だれも気付かない可能性大
スタンドアローンなら自分以外に迷惑かからないし、 自分も気づかないなら何の問題も無い。
自分で作って、自分で使って、自分だけしかそのシステムの情報を利用しないならOKだな
自分だけしかそのシステムの情報を利用しないなら トランザクション処理は不要なんですね ほんとうにありがとうございました
673 :
デフォルトの名無しさん :2008/07/02(水) 23:29:21
トランザクションの説明してくれ 排他制御との違いを語れと言いつつ 救出アゲ
Tran The Cushion ペアマッチで「イエス・ノー枕」を引いてしまいガックリな新婚さん。 ところがこのアイテムはハワイ旅行に化ける確率が高いのでちょっぴりワクワクな様子。
>>673 はいた制御:歯科助手のおねいさんが制御してくれる・・・じゃなくてその名の通り他所からの干渉に対する制御
トランザクション制御:ファイヤーバードな制御・・・じゃなくて一連の処理の一貫性を確保するための制御
トランザクションに出来て排他に出来ない事は・・・一連の処理の途中でエラーが発生したときに処理開始前の状態を手軽に復元する事
676 :
デフォルトの名無しさん :2008/07/05(土) 18:21:26
ファイヤーバードな制御<<ここのギャグが分からない
>>676 トランザム・ファイヤーバードのことじゃね?
InterBaseは関係なさそう
トランザクションはオールオアナッシングでデータの整合性を保つ、言わば概念または目的だろ。 排他制御は具体的な手段。比較する次元が違う。
それもなんかズレてる
ズレてるか? 銀行の窓口で整理券発行する仕事と入出金後の残高を正確に記録する仕事、 同列で比較することがナンセンスって意見には俺は賛成だが。
682 :
age :2008/07/08(火) 20:30:05
Access の結合って、等結合、左結合、直積、の3種類しかないのですか?
どうでもいいが、2GBの制限があるんじゃテキストとか数値のデータだけでもすぐ容量オーバーしてしまうだろ? 実務ではどうやって運用してるんだ?
鯖とリンク
>>683 実務で使ってて、問題がないと思っているのか?
どんだけこの糞ソフトに苦しめられていることか・・・
たとえば?
>>682 ・内部結合
・外部結合(左)
・外部結合(右)
・交差結合
この4パターン
>>684 DBはOracleとかSQL Serverとかを使うのが一般的なのかな?
それだと、GUIをAccessで作る必要も無いような気がするが。
689 :
デフォルトの名無しさん :2008/07/08(火) 22:52:27
ちなみに687の他にどんな結合があるんでしょうか?
>>688 Accessのフォーム以上に使い勝手のいいものってある?
DBはOracleとかSQL Serverで、フロントエンドはAccessってのも充分ありえるよ。
>>691 exeファイルを作成できず、Accessが起動してしまうのが難点じゃないかな。
動作も結構重いし、データベースの最適化が必要なのも面倒。
Oracleなんかを使う場合には、フロントエンドはJAVAとか他の言語で作ることが
多いんじゃないのかな。
Accessってめっさ軽いですけど
>>691 VBAが糞。あの糞言語まじでぶっころす
>>694 どの辺が糞なの?
君の理解力が糞なんじゃなくて?
>>693 Cとかで実行ファイルを作るのに比べると相当重いんじゃないの?
そうかなぁ DBとPg一体になってる文 アドバンテージありそうだけど
690 頭痛くなってきましたぁああ
>>697 だからそのDBが2GBじゃ足りな過ぎるって話でしょ?
MicroSoftがAccessユーザを.Netに移行させようとしているんだが、 .Netの仕様がどうしても受け入れられん。 EnterKeyでカーソルが次に移動するとか、ComboBoxに複数列を表示する等々、 あたりまえのことでいちいち躓いている。 あらためて、Accessの良さに気付かされる毎日だ。
作る側からするとAccessは無いわ。 使う側からするとAccessは有るわ。 使うことで効率を上げることがEUの仕事だからAccessでお願いといわれればそうする。 手直し作り直し、果てはデータ肥大化でのDBMS移行で金ぶんどるけどさ。
>>696 え、DBのフロントエンドをCで?よりによって?
う、うん、きっと軽いプログラムがつくれるよ。がんばってね!
>>702 いやCはよく分からんのだけど、昔はVBなんかでフロントエンドを作った方が軽かったけどな。
フォームなんかの自由度はAccessの方が高かったが、実行ファイルが作れないことと、使うたびに
DBが肥大化するのが難点だったな。
>>702 VC++なんかはOracleのフロントエンドとして普通に使われているみたいだけどな。
そういうのがAccessより軽いのは間違いないし、AccessはDBMSのフロントエンドとして
主流とはいえないんじゃないの?
CとC++の区別もつかないド素人は黙ってた方がいいんじゃないの 誰もAccessが主流とか言ってないし
C++でもオラクルのフロントエンドでは主流じゃなかったけどな オラクルを使うような業務系のシステムではVBが主流だった
>>705 あの...VC++はCのコンパイラやデバッガも含むんだけど...
C++とVC++の区別もつかないド素人に偉そうに言われても困るなw
OracleといえばJavaなんですが
Javaから始めた若者きてるな。 今でもクライアントアプリでJAVAはどうかと思うが。
N86BASICからはじめた漏れは、BASICが最高に思えてしまふ。
そんなモノは無い!!!
JavaってAccessより軽いのか
713 :
デフォルトの名無しさん :2008/07/12(土) 01:14:55
>>687 ありがとうございます。
ちなみに、右外部結合は、SQLビューアでサポートされてますか?
経験の少ない私からすると、無理やり、デザインビューで左外部結合を
するよう、促すようにに思えてしまうのですが・・・。
>>700 Enter移動が当たり前とか.NET以前の話だぞ
だからその.Net以前の仕様に慣らされたエンドユーザーの要望をどうするかって話だろ
そんなのリターン押したら次のコントロールにフォーカス移すだけやん。何がむずい
IME周りじゃね?
アク禁やっととれた! エンターで遷移するってことは、ボタンにフォーカスが移ったときどうするの? 10年以上前、それでどうしようもなくてお客さんに「Windowsでの遷移はタブでないとだめなんです」って説明してなれてもらった。 当時はオフコンの名残があってエンターで遷移が基本だったからね。ファンクションキーで決定。
タブ移動だと、両手を使わなきゃならないから、作業効率が悪くなる。 右手だけで操作できるほうがいいにきまっている。
それはいいけど、ボタンにフォーカスがあたったときどうするの? エンターで遷移じゃボタン押せないじゃん。スペースキーで決定とか?
基本的にコマンドボタンはタブ移動プロパティOFFにしとくだろ・・・ エンター何回押そうとボタンにフォーカスが移ることはないようにしとく。 あるいは流れるような入力の最後にだけ決定ボタンに移動して その時だけは押されるようにするとか。
ボタンにタブで移動できないとかマジ最低、ありえない
キーボードでボタンに遷移しなかったら結局マウス使うじゃん。マウスは右手だからOKなのか? 作業効率のためにキーボードオンリーで操作できるようにしてるのに、そっちの方がはるかに意味がないだろ。 最後に遷移する方法だって、決定ボタンだけならともかく普通キャンセルボタンもあるし、 一度ボタンにフォーカスがあたったらキーボードだけでフォーカスをはずすことはできないことになる。 しかも遷移とボタン押下を同じエンターキーにすると、勢いでボタンを押下したりしがち。 仕様的にも摩訶不思議になるからユーザーが覚えづらいし、操作の矛盾が出て変なルールが増える可能性も大きい。 こんな問題が今でも議論の対象になるとは。無理な仕様の積み重ねはデスマーチの元なのだが。
そりゃキャンセルボタンも用意するけど頻度的に稀な機能はマウス押下オンリーでも 別に円滑な入力を阻害するものじゃないだろ。 こんな問題が今でも議論の対象になるとは。
>>724 .Netの仕様は知らないが少なくともAccessのフォームは
ボタンのフォーカスを←→キーで前後のコントロールに動かせる。
このコントロールはエンター、 このコントロールはカーソルキーで移動してくださいってどんな泥沼システムだよ。
>>727 タブストップ=Trueで移動してきた決定ボタンのことを言ってるつもりだったんだが
>>728 テキストボックスとコマンドボタンは機能が違うことは誰でもわかるから、操作が違っていても違和感は与えないよ。
>>729 ああ
>>724 の
>一度ボタンにフォーカスがあたったらキーボードだけでフォーカスをはずすことはできないことになる。
これに対してね、なるほど
タブキーでも外せるよね
中途半端にWindowsライクな操作性にされるとストレスがたまる。 コマンドボタンを排除して昔ながらのファンクションキー操作に戻れば万事解決。
>>733 Windows自体がボタンにフォーカスがある時にエンターキー押下でクリックと同じ動作だから、
普通のユーザーはボタンで混乱しないと思う。
自分の経験から言えば、初心者はテキストボックスの移動をエンターキーではやらずに、マウスで選択移動する。
エンターキーでの移動を実演すると感心される、同様にカーソルキーでのボタンのフォーカス移動も感心される。
タブキーを使うフォーカス移動を実際にしている人って自分以外で見たことが無いです。
>>735 >タブキーを使うフォーカス移動を実際にしている人って自分以外で見たことが無いです。
ホストの世界から舞い戻ったゾンビには当たり前だのクラッカーですが?
>>736 普通の人の話をしていると思っていたのだが?
えてして皆自分は普通だと言い張るもの
相手が初心者ならタブの遷移を教えてやれよ。まだ癖がついてないんだから。 ほかのWindowsソフトはほとんどそれが標準だしブラウザだって同じじゃん。 なんでほかで通用しないローカル操作を教えるのかわからん。ユーザーが気の毒すぎる。
Tabキーに遷移機能が標準的に実装されているかどうかと 一般的なユーザーに標準的に使用されてるかどうかは全然別の話。 ユーザーが気の毒って観点からならエンター遷移を実現して欲しいという ユーザーの要望を切り捨てて煩雑な両手入力を強制するシステムのほうが よっぽどユーザーにとって気の毒な話だろうに。
入力で片手しか使わないってことは、ほとんど数字の入力だけってこと?
まあそういう要求はあるんだろ タブキーが付いてるUSBテンキーとか売ってるもんな
へ〜、そんなの売ってるのか。知らなかった。
>>739 大量に伝票入力するような場合は、入力効率が重要なんだよ。
MS製品の中で、アクセスだけがEnter遷移を採用したのは
そういうニーズを無視できなかったからだろう。
左手に伝票の束を100枚ぐらいを抱えながら、 右手でテンキーを叩いて一枚ずつひたすら入力するって業務を 毎日毎日行うシステムではタブキーで遷移とか絶対にありえんから。
言いたいことは全面的に支持するが、 それこそそんなアプリをAccessで作るなんて絶対にありえんから。
客は多いけど単価の安い仕事してる中小企業だとありそうな話
ACCESSがエンターキーをサポートしてるのは、 昔ホストとかワークステーションとかオフコンとかの影響がまだ強かったからだろ。 今更変えても混乱するだろうし。 伝票の入力って数字だけじゃないぞ。勘定科目の選択とか摘要とかどうするんだよ。 摘要は必須じゃないけどな。会計のこと全然知らないだろ。
勘定科目にはコードがついているから、文字入力することは無い。 摘要にしても、頻度の高いものはコード化する。 充分作りこまれたものほど、数字だけで入力できるようになっている。
コード全部覚えるのか・・・
毎日入力してりゃ嫌でも覚える
昔は入力専門の仕事があってコード覚えてやってたけど、 そのやり方ならほとんどGUIいらないな
インクリメンタルサーチ機能を使えば、コードを完全に覚えている必要は無い。
インクリメンタルサーチじゃ科目名までは出てこないだろ。 それは最後の数文字分の入力が少し省力化できるだけであって、 結局のところどのコードがどの科目か覚えてないと、最初の数字の 入力からアウトじゃないのか。
頻度のばらけ方にもよるよ。 仮に100や200の内から1つを選択するコンボボックスだったとしても 全体の2割程度を覚えてしまえば全入力の8割は賄えるケースとかは普通にある。 よっぽどの馬鹿じゃなければ入力作業を毎日こなしていくうちに 覚える割合はどんどん上がるし、それにつれて作業の効率も飛躍的に上がっていく。 というか覚えれば覚えるほど作業がラクになるならそれがモチベーションになって 人間けっこう多くのことを覚えちゃうもんだよw
高けえ〜。 tabキーがついてるテンキーがあるってことだったから、 Shift+tabキーとかあれば便利じゃないか?と思ったがこれにはついてるようだな。 おれが考えることなんてとっくに実現されているか。
>>755 > 仮に100や200の内から1つを選択するコンボボックスだったとしても
こういう奴が動くけど使えないGUI作るんだよな〜
>>758 だから「仮に」って言ってるだろうが。
テンキータブキーテンキータブキー操作が標準とか抜かしてる奴が
GUIの使える使えないを語るなよ。
よく使うコードはメモ書きして液晶モニタの縁に張りまくってるからw
>>759 おまえはパンチャー用キーボードなんて見たことも無いんだろうな...
>>761 この話題は普通の企業が普通に購入するPCについてくるキーボード前提にしてくれよ。
そんなローカル仕様を標準として考えられたらどんな糞入力画面も
こういうキーボード用意すればアリって結論になっちゃうから…
どんなキーボードを用意しようがマウス必須の糞入力画面は救えない
三国志はテンキー入力で最強だった
>>763 ようするにWebシステムは糞だと。
AJAXなんて消えてなくなれ。
いっそのことExcelのセルにバシバシ入力しまくってCSVで一括レコード追加でよくないか? Accessに限るならデータシートビューで直接打てばいいじゃん。
コマンドプロンプトでいいだろ。 osql叩かせて、後は好きにしろや。 GUI開発するよりはるかに安く上がるし。 入力ミスったら自分で何とかしろ。
Excelまで出していいならもう究極ツールの桐にするしかないだろ
伝票をマークシートにでもしちゃえよ
つ 鉛筆
>>769 起票現場から総スカン食って終わりだな。
マークシートなんて、試験以外では使わないだろ?
バーコードでも使ってればインジャネ?
周りにタブキーを使ってるやつがいないって、どんな弱小へたれIT企業でも考えられないのだが。 個人でやってるのか?
>>773 コードは全然おkだが、
金額はどうするんだ?
弱小へたれIT企業ほど技術力が皆無だから標準のタブキー遷移を ユーザーに押し付けて楽しようとするよね
標準化を推し進めて何が悪い
エンターキーで遷移させるのが技術力の証なのか。それは楽でうらやましい。 ホストあがりで今はACCESSに特化してる個人とかのパターンだろうな。 Webシステム作らせたらセキュリティホールだらけになるんだろう。そもそも動くもの作れないだろうけど。 完全に時間が止まった自分の世界だけで生きてるわな。
AccessのスレでWebシステム作らせたらどうなるかとか、もうね・・・ きっと憶えたてのLAMPとかで賢くなっちゃったつもりなんだろうなw
俺ってこんなスゴイWebシステム作れるんだぜ〜系の自慢だったら いっぱいあるWeb系の板やスレでやれって話だよなw まああっちは本職だらけだから仕方なくこっち来てるんだろうけどw
技術力を語るなら幅が狭いってことだろ。もうキリないからやめれ。
ところで「遷移」ってこういうときに使うの一般的なの?
画面遷移とか状態遷移は使うけど、カーソル遷移は使ったこと有りません。 ありがとうございました
何かが移り変わるときじゃね
移り変わるのはカーソルじゃなくてフォーカスじゃないか? 「タブ 遷移」とか「フォーカス 遷移」でぐぐると結構出てくるから使われてるとは思うが。
フォーカスの遷移か、言われてみればそんな感じも
時代…かな。
今はこ〜んな〜に悲しくて 涙も〜かれ〜果て〜て♪
789 :
デフォルトの名無しさん :2008/07/26(土) 01:00:36
そこで紙パンチの登場ですね わかります
Access2003 JET4.0 MDAC2.9 Office2003SP3の正しいインストール順序を教えて下さい
791 :
デフォルトの名無しさん :2008/08/14(木) 12:36:41
Access2007を使っているんですが、 どう設定したのか、新規作成時にユーザー名とパスワードをきかれる 状態になってしまいました。 Officeを入れなおさず、初期の状態(ユーザー名、パスワードなし)に 直す方法を知っている方、いらっしゃいませんでしょうか?
>>790 Access2003
Office2003SP3
MDAC2.8SP1
JET4.0
794 :
デフォルトの名無しさん :2008/08/19(火) 18:34:01
VBAで自ファイル内のテーブルにアクセスするにはどうすればいいの? ADOやDAOだとロック?されてるみたいでOpenに失敗するんだが
ふつうにCurrentProject.Connectionでopenできないとしたら俺は2chやめる
797 :
795 :2008/08/19(火) 19:30:17
ああそうだ、質問するの忘れてた テーブルにOLEオブジェクト型ってあるじゃない あれにbmpファイルが入ってるとする(そりゃもう悪魔のようなサイズ) あれをbmpファイルとしてどこかのフォルダーに保存するのってどうやるんだろ 逆に外にあるbmpファイルをテーブルに保存するやり方もよくわからん テーブルどうしてならインサートでもレコードセットオープンでもやり取りできるんだが 外とのやり取りの仕方がなんとも
OLEオブジェクトではなく本当にBMP自体が入ってるなら、 ふつうにbinaryモードでOpenステートメント使え。
>>798 >>799 vthx
つかごめん
何か俺、バイナリについての理解が全然たりてない
とりあえずやってみたらデータとファイルのやり取りはできたんだけど
あれ、違うんだわ
直連結のフォームで画像表示できる形
テーブル上で直にクリックしても開ける形
ついでにいうと、テーブル上で右クリこぴーしてどこかに貼り付けると
「スクラップ」とかいうふざけた名前のファイルになって
それでもビットマップとして開ける形
なのよ、ほしかったのは
当面の問題はまったく違う方向から無理やり解決したけど
まだまだ勉強がたりないなと
>>800 いや、みんなわざと「OLE」をスルーしてるだけだよ。
BMPがどんなアプリにリンクされてるかで内部データは異なるし、
アプリの汎用的な操作法なんて知ったこっちゃないからね。
802 :
デフォルトの名無しさん :2008/10/25(土) 16:28:50
hoshuってみたり、とか
803 :
デフォルトの名無しさん :2008/10/25(土) 18:59:44
すみません、質問です。 Accessに登録されているテーブルの設計情報をExcelなどで ドキュメント化することは簡単には出来ないのでしょうか。 イメージ的には、テーブルのデザインビューを開いてそれを すべて選択してコピーしてExcel開いて貼り付けるという ものですが。(この操作が出来ませんので悩んでいます) かなり過疎っているようですが、お願いします。
ADOXでテーブル情報取得してExcelに書き込めばいいんじゃね Accessからやっても良いしExcelからやっても良い
806 :
デフォルトの名無しさん :2008/10/26(日) 20:03:04
>>804 ありがとうございます。その案がありましたね。
>>805 このツール良いですね。目的の結果ではありませんが、これを使うと
データ移行などが容易に出来そうですありがとうございます。
807 :
デフォルトの名無しさん :2008/10/27(月) 15:58:41
こんにちは。 MDBファイルにパスワード掛かっているのですが パスワードを解除するソフト探しています。 自分なりに調べて Access Password Recovery Master なるソフトを見つけましたがシェアウェアな為 解析できるか不明です。 この手のソフトウェアでなにかお勧めのソフトウェア教えてください。 Access2003でMDBファイルです。
簡単に解けちゃったらパスワードの意味が無いわけなんだけど。 そのソフトもどうせ総当りしてるだけ(=長いのは無理)なんじゃないの?
810 :
807 :2008/10/27(月) 18:35:07
アクセスのパスワード管理ってあんまりよくわからないですが パスワード20桁で英数字で掛けたんです。 MDBファイルは簡単に破れるようなことネットで見かけたので本当に破れるかどうか 試そうかとおもって・・ シェアウェアで20ドル近くするのでその為に買うのもどうよ? ってことでした。 総当りならいいんですが10年ほど前のAccessで簡単に破れた記憶があったので
総当りはやめとけ 255回間違えたらPCが爆発するぞ
桁数と使用した文字が分かってるなら総当りでやってみれば。
813 :
807 :2008/10/28(火) 10:27:18
すいません。言葉足らずで パスワードは自分で掛けたのでわかってます。 ネットで出回ってるソフトで簡単に破れるかどうか試そうと おもったんです。 結局、入っているデータフィールドの中の一箇所を 暗号化することで落ち着きそうです。 MDBファイルの中身をど〜しても抜かれたくないみたいで もしパスワード破られたら・・・ とか言い始めたので もうだったら、フィールドの一部分暗号化しましょって ことになりました。 ・・・ ここまで作らせといてまたそれかっ!って 感じでとてもめんどくさいです。
もし暗号化を破られたらどうするんだ
よしじゃあパスワードかけたmdbをうpしてみろ
クラッキングの質問はNGなのでは。 まあ、俺もExcelにかけたパスワード忘れて悶絶することたまにあるけどさw
818 :
807 :2008/10/29(水) 15:51:34
結局 フィールドの文字列をフリーソフトで暗号化しました。 DLLでネット提供されていたDES+ BASE64 の物です。 おかげで結構簡単に暗号化できたのですが ボタンクリックしてSQLを発行して帰ってきて グリッドに表示されるまでの速度が10倍以上おそくなりました。 クリックして5秒くらい返ってきません。 いまさら、構造とか改善なんてできないんでこのまま使って もらおうと思います。頻繁にアクセスするソフトじゃないのでいいかなって 感じです。 いろいろすいませんでした。
ACCESS2003(WindowsXP)でImgEdit.ocxが組み込めません。 元はACCESS2000で作ってあるMDBを2003で読んだのですが 画像を表示するフォームでエラーになりました。 参照設定は直したのですが 「オブジェクトはこのプロパティまたはメソッドを サポートしていません」と言われました。 OCXを追加で登録しようとしたら 「○○○○.ocxを追加または削除できませんでした 別のセットアッププログラムを使って、コントロールの 追加または削除を行ってください」というエラーで。 レジストリの問題かと思って「regsvr32」で該当の ocxを指定したら 「Load Library(○○○○.ocx)に失敗しました - 指定されたモジュールが見つかりません」 とダメだしされました。 ocxファイルは、system32フォルダに登録されてます。 なにが原因か教えていただけないでしょうか。
>>819 そのocxが依存してるものがないのでしょう。
ググって情報出ましたよ。
Win2kまでは標準で入ってたけどXPには入ってないKodak Imaging関係ですね。
どうもライセンス的によろしくない気がするのではっきりは書きません。
>>820 昨日結構調べたんですが、わからなかったです orz
でも、XPにもあるって読んだ気がします。
ちなみに、XPマシンには特別にファイルをコピーしたり
してないです。元々あったocxファイルのはずなんです。
で「依存してるもの」ってのはアプリだったり
なんかのソフトウェアだったりってことでしょうか。
ライセンスでマズいってことは、ファイルをどっかから
持ってきてる可能性があるってことですよね。
う〜ん、systemフォルダにあったのはなぜだろう。
もうちょっと調べます。ありがとうございました。
>>820 追記
ありがとう。Microsoftのページが見つかりました。
だったら桐にしとけやカスが
AccessVBAのスレを探したけど見つからなかったのでここで質問。 よくサブフォームをダブルクリックしてフォームに表示させるっていうのをよく見かけるけど、 あれってサブフォームのテキスト毎にダブルクリックの指定しないといけないの? 2つ3つならともかく、項目がたくさんあるといちいち指定するのがマンドクセって感じになるので 手間が省ける手段があるなら使用したいと思いまして・・・
あ
828 :
デフォルトの名無しさん :2009/01/04(日) 00:06:59
箱の開け方が分かりません。 Accessのバージョンは2007です。 そしてアップグレード版です。 どうやるんですか。
え
MS良く使ってるあのケースは開けづらいけど 未開封ならテープ引っ張れば開いたような
動物園のチンパンジーに渡せば開封してくれるはず。
しかし、頭が良すぎるのもなんだな… 適度に社会制度や体制の奴隷になれないと生きにくい世の中なんだよ 『カッコーの巣の上で』は何も精神病院を描いただけじゃない 精神病院を舞台に現実社会を皮肉ってるんだよ 一人が正しくても周りが全員間違ってればその一人は基地害扱いされる それが社会なんだよね〜
833 :
デフォルトの名無しさん :2009/01/13(火) 00:48:35
質問です。分かる方どなたか教えてください Access2003でSQLServerにアクセスするパススルークエリを作成しました。 その後、作成したパススルークエリを実行するとテーブル項目に 「Admin - 00」という名前でテーブルが作成され、その中に 「右側のデータが切り取られました」といったメッセージが格納されてしまいます。 ちなみにクエリ対象のテーブルはtext型のフィールドを持っていて、 それのせいだというのは分かっているのですが、そのフィールドをselectしない わけにはいきません。 このようなエラーメッセージ(エラーテーブル)が作成されないように するにはどうすればよいのでしょうか? Logmessageプロパティの設定をちゃんとしてもエラーは出てしまいます。
アクセス初心者です。 漢字で昇順にすると打った読み方でバラバラになるというのは理解しましたが、 これを直すには漢字を正しく打たなければ直らないのでしょうか?日本語でおkですみませんが宜しくお願いします。
>>834 打った=キーボードで入力したひらがなのことでしょうか?
漢字の並び順は(打った読み方と関係なく)決まっていますので、
打ち直しても同じです。
読み方で並べたい場合は、並び替え用に「ふりがな」などの項目を作って入力し、
それを使って並び替える必要があります。
>>835 親切にありがとうございます。
名前を漢字で入力して昇順に並べ変えようとしました。
例)阿部(あべ)
伊藤(いとう)
吉川(きちかわ)←ホントはよしかわ;;
佐藤(さとう)
という風に間違って入りこみます。こういう場合はひらがなの項目を作ればいいのですね^^
東(あづま)さんと東(ひがし)さんを別々に分けたければ どっちみち漢字項目だけじゃ無理だろw
クエリって簡単に言うと何ですか?無知ですみません
或る者はキュウリと呼ぶ。
SQLで書かれたデータ入出力プログラムのことでふ
841 :
デフォルトの名無しさん :2009/01/21(水) 22:30:29
ACCESSの2000と2003は全くの別物?
別物のわけない。2007は取っ付き辛かったが 慣れれば2007が一番いい。
843 :
デフォルトの名無しさん :2009/01/25(日) 12:12:09
844 :
デフォルトの名無しさん :2009/02/01(日) 19:51:49
スレ違いかもしれないのですが、もし違っていたら誘導してください。
アクセス2000を使って顧客リストを作ろうと考えています。
本日の日付を自動入力したいのですが、下記のサイトが参考になり
規定値に =Now() と入力すればいいことがわかりました。
http://ziddy.japan.zdnet.com/qa1703777.html ただ問題なのは、編集のたびに更新したその日付も自動入力してほしいのですが、
その方法がわかりません。
更新のたびの、その日の日時の自動入力方法を知っている方がいましたら
お手数ですがご教授いただければ助かります。よろしくお願いいたします。
>>844 編集をクエリから行うか、フォームから行うか、プロシージャで行うかによってやり方が変わる。
更新クエリで行うつもりなら、更新日を入力するフィールドの「レコードの更新」にNow()を設定すればいいよ。
846 :
844 :2009/02/02(月) 00:17:15
>>845 なるほど。ありがとうございます。
更新はフォームでやるつもりだったのですが、とりあえずクリエでもやってみます。
847 :
844 :2009/02/02(月) 01:01:15
もしよければ、フォームでの更新の際のやり方も教えていただけないでしょうか?
>>847 845 ではないが、フォームやるんだったら、
フォームの「更新前処理イベント」のイベントプロシージャのコードを開いて、
Private Sub Form_BeforeUpdate(Cancel As Integer)
更新日時 = Now()
End Sub
とすれば良い。「更新日時」は更新したい日付の列名に変更してください。
ACCESS2007 で、最適化をすると、ファイルがなくなることがあります。 どうも、ACCESSファイルを、エクスプローラ上で、選択したまま、 最適化すると、現象がでる見たいです。 自動最適化したい、と思ったんですが、 トラブルがでるようだと困るので、迷っています。 みなさんは、どうしてますか?
>>849 Access 2007 の有名なバグ。
最適化時にデータベースファイルが読み取り専用状態の場合にデータベースも一緒に削除される。
対処方法は下のどちらか
・下の Hotfix を自己責任でダウンロードして当てる
Description of the Office Access 2007 hotfix package: April 16, 2008
http://support.microsoft.com/?scid=kb%3Ben-us%3B950812&x=10&y=6 ダウンロードはページの最初にある View and request hotfix downloads をクリック
・使用するときはショートカットを利用するなどして極力ファイルを読み取り専用状態にさせない。
その上で、もうじきリリース予定のサービスパック2を待つ
(上の Hotfix はサービスパック2に入ることが決定済み)。
>>850 ありがとうございます。
大変参考になりました。
それにしても、恐ろしいバグですね。。
これは確かに恐ろしい…
すみません、教えていただきたいのですが Access2003を使用しています。 Excelにあるプロパティで Application.Interactiveに相当するものはAccessにありますでしょうか? やりたいことは、あるプログラム(マウス操作)中はユーザー操作によるマウス入力を受け付けないように したいのですが、なにか方法ありますか? よろしくお願いします。
>>853 マウスカーソルの砂時計とは、違いますよね。
無限ループしてる時は、処理を受け付けなくなっちゃいますね。
作業用のフォームをポップアップして、
アプリケーションからの制御が戻るのを待つ、
見たいなのでは、どうでしょう?
855 :
863 :2009/02/12(木) 16:31:14
>>854 実はAccessのVBAでAPIを使って、他の別アプリを操作しているんです。
別アプリはファイルシステムで、だいぶ前に開発されたものでして
中身がブラックボックス化されてるんです。
移行途中でどうしてもそのアプリを操作しながらDBと連携とるのですが
それをAccessのVBA経由のAPI操作してるんですが、途中でマウスの操作を
されると誤動作するんです。
ですから、一部のプログラムが動いている間は、完全にハードウエアのマウス操作を
遮断したいのです・・・・
>>855 Run で、Wait できますよね。
Access から、Run で、AP を起動して、その終了を待つのではどうでしょう?
>>856 > Run で、Wait できますよね。
補足です。
(WScript の、Run)
Dim objWShell
Set objWShell = CreateObject("WScript.Shell")
objWShell.Run "xxxx.exe", vbNormalFocus, True
858 :
863 :2009/02/12(木) 18:11:30
AccessのVBAがマウスを操作する、その間ユーザのマウス操作を無視したい ってこと? ならそれはApplication.Interactiveみたいなものじゃないですよね。 Application.Interactiveは、そのExcelがキー操作・マウス操作を受け付けないようになるもの。 Windows全体に対してユーザのマウス操作を無視させるってどうするんだろ。 マウスドライバを一時的に無効にするとか、そういう話になっちゃうんじゃないかなぁ。 ちょっとくらいマウスを動かされてもまぁ大丈夫なように操作する、という方向の方が楽だと思いますよ。
860 :
863 :2009/02/17(火) 12:23:46
>>859 >ちょっとくらいマウスを動かされてもまぁ大丈夫なように操作する、という方向の方が楽だと思いますよ。
それは重々理解しているつもりで作ってるんですが・・・
一日に10回程度動くアプリで、月に2回ほどマウスの誤動作でエラーが起きてるので・・・
なんとか自作でDllを作ってハードウエア入力を解除指定があるまでロックするようにするつもりです。。。
ExcelのApplication.Interactiveみたいのがあればすごく便利なんだけどな、と軽く思ってたんです
>>861 マウスキャプチャってどういうものなのか知ってますか?
>>862 キャプチャを実行すると、以降のマウスイベントが、
実行したウィンドウのみに、送られてくる、
というものだと理解しています。
なので、他のウィンドウにマウスイベントが流れない。
=他のウィンドウでは、マウスを操作したことにならない。
で、自分で、マウスイベントを握りつぶせばどうかな、と思ったんですが。
どうしょう?
864 :
デフォルトの名無しさん :2009/02/24(火) 18:09:14
access2000-2003 で質問です。 アクセスのレポートをプレビュー表示したときに強制的に最終ページへ移動させる方法はないでしょうか? (最終ページへ移動 ▲| のようなボタンを押したことにしたい) 現在 1.集計 2.レポートの表示 を行っています。 また、2の処理の後にレポートのPagesを調べてみると0になっていました。 よろしくお願いいたします。
>>865 情報サンクスです!
参考に試してみます。
867 :
デフォルトの名無しさん :2009/02/28(土) 15:02:16
Accessで作ったコンボボックスでGoogle検索みたいな(インクリメンタルサーチ??)事はできるのでしょうか? ・テーブルに「会社名」「カタカナ」を作成。 ・フォームにコンボボックスを作成。 1.コンボボックスに「あ」と入力。 「あ」の下に....があり文字は未確定。 2.1.の状態で「あ」を含む「会社名」がドロップダウンする。 3.「あ」の次に「い」を入力(「あい」の下に....があり文字は未確定)すると「あい」を含む「会社名」がドロップダウンにリストアップされる。 4.ドロップダウンから選択する。 5.「会社名」確定。 文字を確定する方法ではなんとか出来たのですが、 「文字未確定」って所で頭を抱えています。
keyupイベントでコンボボックスのtextを拾ったらどうだろう?
ボタンの表示名、「はい」「いいえ」「キャンセル」の文字を任意に変えることはできますか?
872 :
デフォルトの名無しさん :2009/03/12(木) 17:32:10
本やサイトでは、必ずと言って良いほど、上で書かれていますが、 レコードセットを使う上で、以下の差は何か異なりますか? [1] Dim mdb As DAO.Database Dim rs As DAO.Recordset Set db = CurrentDb set rs = db.OpenRecordset(ほげほげ) と [2] Dim rs As DAO.Recordset set rs = CurrentDb.OpenRecordset(ほげほげ)
873 :
デフォルトの名無しさん :2009/03/14(土) 17:20:46
MS Access質問です コマンドボタンクリック時の逆三角ボタンを押すと イベント プロシージャと マクロの名前が出ますがここに自分で作成した プログラムを出すにはどうすればいいのでしょうか?
イベントプロシージャを選択して、右に出る「...」ってのをクリックして その中でプログラムを呼び出す。 Private Sub コマンドボタン名_Click() call プログラム名 End Sub
875 :
デフォルトの名無しさん :2009/03/14(土) 18:08:04
>>874 逆三角形を押すと
****************
イベントプロシージャ
マクロ1
マクロ2
プログラム名
****************
こんな感じに出したいのですが・・・
876 :
デフォルトの名無しさん :2009/03/14(土) 19:03:57
マクロ3を作って、マクロ名を "プログラム名" にする
イベントプロシージャで自作のプログラム呼べばいいじゃん
878 :
デフォルトの名無しさん :2009/03/14(土) 23:16:22
いやぁ そんなことできたかな?と勘違いみたいでしたぁ すいません^^;
879 :
デフォルトの名無しさん :2009/03/14(土) 23:48:33
質問です よろしくお願いします ActiveXコントロール のテキストボックスと 普通のテキストボックス大きな違いはなんでしょうか? 又、ActiveXコントロール利用時の注意点はありますか?
880 :
デフォルトの名無しさん :2009/03/15(日) 11:09:07
Accessのクラスモジュール一般的な使い方教えてプリーズ!!
881 :
デフォルトの名無しさん :2009/03/15(日) 18:39:48
882 :
デフォルトの名無しさん :2009/03/15(日) 20:33:05
>>881 ぐぐりましたが・・・
今ひとつマイナー感が・・・
サンプル見せてプリーズ!
883 :
デフォルトの名無しさん :2009/03/15(日) 21:34:58
Microsoft Access には、標準モジュール (標準モジュール : Access のモジュールの 1 つ。標準モジュールの Sub プロシージャや Function プロシージャは、データベース内の他のすべてのプロシージャから呼び出すことができます。) およびクラス モジュール (クラス モジュール : 新規オブジェクトの定義が含まれるモジュールのこと。クラスの新規インスタンスを作成すると、新規オブジェクトが作成されます。モジュールで定義されたプロシージャは、すべてそのオブジェクトのプロパティとメソッドになります。) の、2 種類のモジュールがあります。Access 95 では、フォームまたはレポートと関連付けられた場合にのみ、クラス モジュールが存在しました。Access 97 では、データベース ウィンドウ (データベース ウィンドウ : Access データベースまたは Access プロジェクトを開くときに表示されるウィンドウ。 このウィンドウには、新しいデータベース オブジェクトを作成するショートカットと既存のオブジェクトを開くショートカットが表示されます。) の [モジュール] タブにも存在しました。
884 :
デフォルトの名無しさん :2009/03/16(月) 11:32:22
ACCESS 2000系のレポートで ヘッダーとフッター・明細で別のレコードソースを使いたいのですが何かいい方法はありませんか? ヘッダーフッターは1つのレコードセット 明細は別のレコードセット としたいのです。 よろしくお願いします。
885 :
デフォルトの名無しさん :2009/03/16(月) 19:09:44
詳しく
>>885 ヘッダーと明細情報にデータがわぁれていて
例えるなら
ヘッダカラム: コード、総称
明細カラム: ヘッダカラムと同じコード、行番号、表示用名称(ヘッダの名称とは違う)
のような感じで
ヘッダ:明細=1:N
になっています。
レポートヘッダに総称とコード
詳細に行番号と、その名称を表示してみたいのです。
887 :
デフォルトの名無しさん :2009/03/16(月) 22:57:33
ワークグループ管理について 実戦投入している方いらっしゃいますか便利ですか?
888 :
デフォルトの名無しさん :2009/03/17(火) 01:07:14
accessって
ダメ
890 :
デフォルトの名無しさん :2009/03/17(火) 21:08:04
>>886 フォームの時のように、サブレポートを埋め込めばできるんじゃないの
試した?
スルー推奨
892 :
デフォルトの名無しさん :2009/03/18(水) 12:55:24
エクセルで大体のこと出来るのに、何でアクセスが存在するのか解りやすく俺に教えてください
894 :
デフォルトの名無しさん :2009/03/18(水) 19:35:22
ゲイツの野望
accessに慣れるとexcelのvlookとか関数が19世紀の産業革命くらいの産物
みたいに思えてくるんだよね。
>>892 テーブルにexcelファイルリンクで、クエリでいろいろやったものを
DoCmd.TransferSpreedsheet(綴り間違ってるかも)で出力するのがexcel関数使うより便利。
こっちは20世紀革命て感じ?
896 :
895 :2009/03/18(水) 22:02:06
あ。綴り間違えてた。Spre”a”dだったね。失敬。acExportしょっちゅう使うから単語登録 してて(職場では)。 ある人がexcelで3時間かけてしてたことを、見るに見かねてaccessで作りこんですべてボタンに してやったこともあるが、処理時間が3時間→1分に短縮できたこともある。
897 :
デフォルトの名無しさん :2009/03/18(水) 22:13:39
>>895 excelで加工して作るよりaccessの方が楽で速いといいたいらしい
898 :
デフォルトの名無しさん :2009/03/19(木) 12:50:56
マクロをVBAで修正、追加、削除 したりする方法はあるのでしょうか? その場合、どのようになりますか?
899 :
デフォルトの名無しさん :2009/03/19(木) 21:08:24
日本語おk?
900 :
デフォルトの名無しさん :2009/03/19(木) 23:49:07
マクロは使わず全部VBAでやれ
901 :
デフォルトの名無しさん :2009/03/20(金) 00:10:11
詳しく言ってくれないと分からないよ・・・・
>>898 ちょっと調べてみたけど、開いたり削除は
DoCmd.OpenObject acMacro, "マクロ名"
DoCmd.DeleteObject acMacro, "マクロ名"
で出来るんだけど、作成・修正する方法が見つからないなー。
無理にでもやるならウィンドウを開いて SendKeys でキー入力を再現するとか……?
(互換性も何もあったもんじゃないけど)。
DoCmd.RunCommand acCmdNewObjectMacro '新規マクロウィンドウを開く
DoCmd.RunCommand acCmdMacroNames 'マクロ名を表示
SendKeys "", True '必要なキー入力を送って
DoCmd.Save , "マクロ名" 'マクロの保存
動的に内容を変更する必要がないなら
DoCmd.CopyObject や DoCmd.TransferDatabase を使って
他の mdb からインポートすれば良いんだけど。
903 :
デフォルトの名無しさん :2009/03/21(土) 00:59:03
>>898 具体的で何をどうしたいのかもっとキチンと書いてくれないと分からないぞ
904 :
デフォルトの名無しさん :2009/03/21(土) 18:11:23
ああああああアクセスうぜーーーーーーー
905 :
デフォルトの名無しさん :2009/03/21(土) 18:52:23
>>904 確かにそういうところあるよな 気持ちは分かるぞ
しっかし、Office2007が会社に導入されたら、45以上くらいのスキル低い平社員たちは 仕事能率がガックンと落ちるんだろうなと思うと、気が滅入る。 先輩たちに無料でインストラクターまがいのことするのが激しくストレス。 向上心のある先輩なら乗り越えてくれそうだけど。 しかもexcel信者が多すぎて、accessの能率の良さを理解していない先輩が多いから 作ったシステムは作った自分しかサポートできず。画面設定も大きいから、それだけでも office使いにくそうなのに。。。2007になるのは時間の問題!?
907 :
デフォルトの名無しさん :2009/03/22(日) 11:23:10
>>906 そんなにパソコン駆使する仕事なの?
パソコン使っているったって、たいていの人は単なるワープロ・表計算ソフトで
文房具代わり程度の利用の仕方がほとんどじゃないの
そういう意味では、2007になってもメニューの位置が変わったって程度だと思うけどね
システム会社でもない限り、むしろシステム作っている奴の方がかなり稀なほうでしょう
データ処理の頻度ってそんなにあるのかな?
908 :
デフォルトの名無しさん :2009/03/22(日) 20:41:34
質問ですaccessのPG上でテキストデータ型のサイズを(デフォルトでは50ですよね)知るにはどうすれば分かりますか?
909 :
デフォルトの名無しさん :2009/03/22(日) 21:37:15
PG上って何?
910 :
デフォルトの名無しさん :2009/03/22(日) 21:58:44
ググッタらすぐ分かりましたすいません
>>909 プログラム上ですぉ^^
せめてPGMだろ
リレーションシップが上手く繋がらんぜ!! おまいらリレーション上手く使うためにどんな努力した?
913 :
デフォルトの名無しさん :2009/03/23(月) 20:01:06
正々堂々と戦うんだ
914 :
デフォルトの名無しさん :2009/03/23(月) 20:42:04
使わないよ だって縛りがかかりそうじゃない?
915 :
デフォルトの名無しさん :2009/03/23(月) 21:38:41
>>912 は一体何がいいたいんだ?
うまく使うための努力ってどういう意味だか
なんだここは低脳どもの巣窟だったか
このスレリレーションシップでNGにして ホント問題ないよなw
918 :
なやめる羊 :2009/03/24(火) 00:26:43
皆さん非連結フォームを閉じる時 更新された内容があるかチェックどうやってます? オープン時に読み込んだデータを別の場所に避難させて 比較してます? これしか無いんですかね 非連結の場合・・・・
フォーム上のコントロールで ( before || afuter ) update じゃだめなのか? あれは、連結してないとだめなんだっけ?あ、change でフラグ立てるってのもだめかな?
非連結なら仕方ないね
921 :
なやめる羊 :2009/03/24(火) 19:28:30
マウスでクリックするとフラグ立つんですよ
それ系は
>>920 そうですかぁ
922 :
デフォルトの名無しさん :2009/03/25(水) 00:00:40
最近クラスモジュールってのがフォームのイベントの意味もあるということがわかりましたが モジュールの近くに出てくるJavaポイ クラスモジュール の方の一般的使い方はどんなもんでしょう 教えていただけませんか
923 :
デフォルトの名無しさん :2009/03/25(水) 23:52:00
データアクセスベージからアクセスのマクロを起動させる事は可能でしょうか?
>>918 変更されたかどうかだけわかればいいのなら、フラグ1個作ればいい
フォーム上で更新されたらフラグをセットし、DBに書き出したときにリセット
>>922 意味がよくわからん。クラスモジュールはフォームのイベントと関係ないぞ
925 :
デフォルトの名無しさん :2009/03/26(木) 01:04:42
ByVal と ByRef ValとRefは何の省略なんでしょう
926 :
デフォルトの名無しさん :2009/03/26(木) 01:09:01
>>924 さん
>>881 さんの回答で、そう思いました
ググったらイベントもクラスモジュールらしいと
後日詳しくZzz
value reference
928 :
906 :2009/03/26(木) 20:00:19
>>907 そうなんですよ。とある某車関係設計開発含む部署に携わっておりますが
CAD以外だとexcelとパワポは人によっては多用しすぎる程使うし、
access知ってる人はexcelと共同させて便利に使ってます。wordもね。
データ分析、集計などでは日常的に使ってるから、2007になったらある程度の
年齢以上の人になると、大変なんだろな、と思います。
そこへ比べるとイギリス政府はそこらへん動きが速くて、企業に対してはすでに
vistaとoffic2007の導入に警告を発してるらしい。
日本政府は高齢少子化を分かってる癖に、そこら辺、疎すぎ!
929 :
デフォルトの名無しさん :2009/03/29(日) 17:51:45
ところでクラスモジュールどのように使ってますか? 質問保守アゲ
930 :
デフォルトの名無しさん :2009/03/29(日) 18:14:49
フォームモジュール
931 :
デフォルトの名無しさん :2009/03/29(日) 20:30:07
テーブルに列を追加するのって、手作業ならデザインビューで普通にできるけど、 自動でやろうと思っても、末尾以外の位置に追加ってできるんかいな。 ALTER TABLEのSQLステートメントやVisual Basicのコードでやろうと思ったけど、 方法が見つからんかった。
一旦リネームするか別のテーブルにレコードを退避 新しいテーブルとして作成 退避しておいたレコードを戻す
933 :
デフォルトの名無しさん :2009/03/29(日) 22:02:23
フォームモジュール=フォームのイベントでは?
>>931 VBAならDAOからOrdinalPositionの値を全フィールド正しく設定し直せばおk
936 :
デフォルトの名無しさん :2009/03/29(日) 23:26:01
>>927 reference
値変わるくせに参照ですか・・・・
937 :
デフォルトの名無しさん :2009/03/29(日) 23:27:12
938 :
デフォルトの名無しさん :2009/03/29(日) 23:36:37
質問です 1:Nリレーション設定してデータ削除しようとすると 「リレーションがなんたら」って警告来るじゃないですか あれ拾って、 かっこいいメッセージ出す方法ないですかね 「おまえはすでに、そのコード使っている・・・」みたいな
かっこよくない はい次の人
>>936 値が変えれるから参照渡しなんだよ
この場合の参照ってのは、引数に指定した変数が格納されているメモリへの参照
仮引数の変数は元の変数と同じところを参照してるから、値を変えると元の変数の値も変わる
>>937 フォームモジュールにはイベントプロシージャ以外のコードも書くから
フォームに通常モジュールを書くといっつも行方不明になる
943 :
デフォルトの名無しさん :2009/03/30(月) 23:04:11
945 :
デフォルトの名無しさん :2009/03/31(火) 21:12:33
946 :
デフォルトの名無しさん :2009/03/31(火) 22:31:34
質問です 1:Nリレーション設定してデータ削除しようとすると 「リレーションがなんたら」って警告来るじゃないですか あれ拾って、 渋いメッセージ出す方法ないですかね 「おまえはすでに、そのコードを網走で使っている」みたいな ・・・てゆうか 頼むよ・・・・
948 :
デフォルトの名無しさん :2009/03/31(火) 23:40:00
949 :
デフォルトの名無しさん :2009/04/01(水) 00:03:58
質問です Accessでハンマーとレンチの絵のボタンを押してスピンボタン(ms forms 2.0 spinbutton)を追加したのですが使用(削除)するのをやめました ところが参照設定にms forms object libraryとして残っているじゃないですか そこで消そうとすると「使用中のコントロールまたは参照を削除するとこが出来ません」とか 言って過去の過ちを取り消させてくれません どうすれば削除できるのでしょう
最適化かけてみるとか・・・ねぇよなw
>>949 別ファイルにオブジェクトをエクスポート、または反対側のファイルからインポートしろ。
まあ、普通に考えると、その削除したスピンボタン以外に そのライブラリを使ってる何かがあるんだろうな そもそもその参照って消せるのか? アクセスで使ってるフォームそのものとかだったりしないのか?
953 :
デフォルトの名無しさん :2009/04/01(水) 19:41:56
チェックを外したいんです・・・ ACCESS2000でもACCESS2003でも同様でした
だから、外せないなら代替手段として、別の新規Accessファイルにオブジェクト を全部エクスポートして再構築すればいいだろ。
955 :
デフォルトの名無しさん :2009/04/01(水) 19:59:43
>>949 お!消えました・・・
しかし消えた理由はなぞのママ
956 :
デフォルトの名無しさん :2009/04/01(水) 20:01:10
>>954 どもども今やってみたばかりなんで「^^
>>955 が何やって消えたかは謎だが
最適化だとしたら十分あり得る
たぶんコンパイルだろう 最適化やるとコンパイルもかかったはず ソース上は参照されたオブジェクトは全部消えてたんだが 内部的などっかにのこってたんだろうと予想
959 :
デフォルトの名無しさん :2009/04/02(木) 20:07:22
最適化で消えたんじゃありません インポートです 実際最適化じゃ消えません弟子た
960 :
デフォルトの名無しさん :2009/04/06(月) 20:58:43
age
961 :
デフォルトの名無しさん :2009/04/08(水) 23:17:49
accessのトランザクションはSqlServerと比べるとどうですか?
Accessの場合トランサクションしたほうが速くなる。
それは初耳だ・・・ なんで?
965 :
デフォルトの名無しさん :2009/04/10(金) 12:19:33
トランザクション2000
>>962 >>963 >>964 うろおぼえだが、
Jetが関連するデータをメモリ上にロードしてトランザクションをオンメモリで処理しようとするから、
データがメモリに収まれば速く動作する。データがでかすぎると変わらない。
って話をAccess2000使ってた時に聞いた希ガス。
967 :
デフォルトの名無しさん :2009/04/12(日) 13:28:16
トランザクションをオンメモリで処理 トランザクションをオンメモリで処理 トランザクションをオンメモリで処理 (-_-;)
昔はJetはトランザクションしたほうが早いってのは、結構有名な話だったんだがな Jetエンジンは、ファイル共有をベースとしたDBエンジンだから、データ操作にバッファとかもってないんだよ なんで、SQL発行のたびにファイルIOが発生する これをトランザクションにすると、コミット時に一気にIOしようとするんで、 ファイルIOの時間が短くて済む=速くなる、って寸法 トランザクションをオンメモリってのはまあたぶんそういうことの説明だと思われ
つーかJETって普通にクソ速いよね SQL Serverなんかに比べると
結語い処理とかがあんな糞なのに?
誤爆 結合処理が だった
複雑な結合とかサブクエリとか使ってるとSQLServerのほうに分があるけど 単純なUPDATEやDELETEを発行するだけなら圧倒的にJETの勝ちって気がする
大規模業務に耐えられるかという話が…
ローカルに置いておくなら圧倒的にJET 共有を前提とするなら、MSDEなりSQL Server Express Edition
976 :
デフォルトの名無しさん :2009/04/13(月) 22:04:56
2003すぐとぶんですけど
Accessが飛ぶなら桐を使えばいいじゃない
978 :
デフォルトの名無しさん :2009/04/13(月) 22:23:15
桐は高いです!
最終的にはdだ分のフォローをし続けるお前の無駄な残業手当のほうがよっぽど高くつく
お前ら2007を使うときはパッチ当てとけよ・・・ 俺は当てずに最適化かましてDBが完全に消し飛んで焦った マジ使えねぇ…
それ結構聞く話なんだが、SP1では直ってないとも聞いたが 最近対応するパッチでもでた?
>>969 ,972
単純なSQLでも、ある程度の件数を超えたあたりから急激にパフォーマンスが劣化する
俺の経験的にはアクセスは10万行程度が限界だとおもうな。100万行オーダーの処理はきつい
最近のは触ってないから改善されてるのかもしれんがな
あと細い回線経由でつかうと、単純な検索でも死ねるぞw
経験的な話でいいなら単純に100万レコードDELETEのSQLでJETは数秒で終わるけど SQLServerではデフォルトのタイムアウト30秒以内にも終わらずに落ちることが多いよ。 そういう時はTRUNCATE使えよってことなら単純な100万レコードUPDATEの比較でもいいけど やっぱり結果は同じようなもの。
>>983 俺が経験したのは、10万レコードで検索に1秒程度なのに、15万レコードになると
検索に数10秒かかるようになった
あくまでローカルディスクのMDBに対してな。JETで10万オーダーの検索なんて、
ネットワーク経由でやる気にならんw
全件削除とかは、検索しなくていいから、その分IO量少なくて差が出にくいんだろうなと思う
OFFICE XP時代の話だから、最近のは改善されてるのかもな
987 :
デフォルトの名無しさん :2009/04/14(火) 22:50:58
>>980 オプション設定でdbReadOnlyして<<なければ>>安全ですよね・・・・・
違ったけ?
Set rs = db.OpenRecordset("ハムハム", dbOpenTable, dbReadOnly) <<これ
988 :
デフォルトの名無しさん :2009/04/14(火) 22:52:04
楽器等に使われる動物由来の接着剤
>>986 検索の必要がない全件削除とか全件更新ならありえなくはないと思う
ただ、経験上、JETは性能と件数が比例しなくなるポイントがある
単純な件数じゃなくて、テーブルサイズやMDBのサイズにもよるんだろうけど
100万件で数秒だから、200万件で10秒以下で終わるかというとそうならなかったり
1000万件になったら動かなくなったりな