ACCESS総合相談所 その17 【桐にしとけ】

このエントリーをはてなブックマークに追加
1名無しさん@そうだ選挙にいこう
ACCESSに関する質問はこちらへ!


▼━ 質問のしかた ━━━━━━━━━━━━━━━━━━━━
★ OS、ACCESSのバージョンを明記してください。
★ 質問内容は具体的に書いてください。
  ・何がしたいのか
  ・どんな処理を試したか
  ・動作状況など駄目な理由
  テーブル/フォームの構成、クエリ、VBAの内容など差し支えない
 範囲で詳しく書くと、早く回答が得られるかもしれません。
  図解があれば尚良し。
  聞き返さなくても詳細が把握できる質問が望ましいです。
★ 事前にヘルプ・Google等で調べられる範囲は調べてください。
  大概の疑問は検索することで解決します。
★ アドバイスを貰ったら、必ず経過・結果の報告をして下さい。
  ギブアンドテイクで情報を共有しましょう。

▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【 システム環境  . 】 Windows**, Access**
【 VBAが使えるか .】 はい・いいえ
【 VBAでの回答  】 可・否
【 検索キーワード 】 Googleやヘルプでの検索キーワード

前スレ
ACCESS総合相談所 その16 【桐にしとけ】
http://pc11.2ch.net/test/read.cgi/bsoft/1157195290/
2名無しさん@そうだ選挙にいこう:2007/04/07(土) 20:04:17
・歴代スレッド
- html化済み & 未対応 & 消息不明 -
ACCESS2000総合相談所
http://pc.2ch.net/bsoft/kako/965/965614164.html
ACCESS総合相談所 その2
http://pc.2ch.net/bsoft/kako/1007/10079/1007987001.html
ACCESS総合相談所 その3
http://pc.2ch.net/bsoft/kako/1019/10190/1019087338.html
ACCESS総合相談所 その4
http://pc.2ch.net/bsoft/kako/1027/10274/1027491281.html
ACCESS総合相談所 その5
http://pc.2ch.net/bsoft/kako/1033/10331/1033182163.html
ACCESS総合相談所 その6
http://pc2.2ch.net/bsoft/kako/1037/10378/1037856185.html
ACCESS総合相談所 その7
http://pc2.2ch.net/bsoft/kako/1043/10439/1043996834.html
ACCESS総合相談所 その8(消息不明です)
http://pc2.2ch.net/bsoft/kako/1051/10516/1051630268.html
ACCESS総合相談所 その9(消息不明です)
http://pc2.2ch.net/test/read.cgi/bsoft/1061828549
ACCESS総合相談所 その10
http://pc5.2ch.net/test/read.cgi/bsoft/1075378966/
ACCESS総合相談所 その11
http://pc5.2ch.net/test/read.cgi/bsoft/1089812359/
ACCESS総合相談所 その12
http://pc8.2ch.net/test/read.cgi/bsoft/1106963038/
ACCESS総合相談所 その13 【桐にしとけ】
http://pc8.2ch.net/test/read.cgi/bsoft/1121055646/
ACCESS総合相談所 その14 【桐にしとけ】
http://pc8.2ch.net/test/read.cgi/bsoft/1128486351/
ACCESS総合相談所 その15
http://pc8.2ch.net/test/read.cgi/bsoft/1142586697/
3名無しさん@そうだ選挙にいこう:2007/04/07(土) 20:07:31
>>1
4名無しさん@そうだ選挙にいこう:2007/04/07(土) 23:14:14
・関連スレ
データベース板
【Access】アクセスは最強のデータベース!
http://pc11.2ch.net/test/read.cgi/db/1166295459/
プログラム板
VBプログラマ質問スレ(6.0以前) Part51 ※Office, Access 固有の質問はスレ違いにつき注意!
http://pc11.2ch.net/test/read.cgi/tech/1169949451/
5名無しさん@そうだ選挙にいこう:2007/04/09(月) 11:44:01
【 システム環境  . 】 Windows2000&XP, Access2000
【 VBAが使えるか .】 はい
【 VBAでの回答  】 可
【 検索キーワード 】 adp 2000 XP 表示されない

Windows2000とXPでACCESS2000のADPを使っています。

開発は2000で行ってるのですが、
2000で作成したadpをXPで見ると、ビューのデザイン画面にテーブルと各項目が表示されません
(でもSQL文は表示され、実行もできる。)
運用上、XPでもビューを編集することがあるため(パラメータの追加等)困っています。
これはACCESS上のバグなのでしょうか?
何か解決方法をご存知の方はご教授願います。


65:2007/04/09(月) 13:54:09
自己解決しましたー

どうもXPでは日本語の「ー」を計算記号として認識してたらしく;
[ ]で文字列をくくってやったら、XPでも正常に出力されました。

お騒がせ致しました orz
7名無しさん@そうだ選挙にいこう:2007/04/09(月) 17:48:30
【 システム環境  . 】 WindowsXP, Access2007
【 VBAが使えるか .】 いいえ
【 検索キーワード 】 Access フォーム 検索

始めたばかりなんですがすみません、クエリを作成して
そのクエリの単票フォームを作ったのですが、そのメインフォームの近くに
検索したい文字(数字)を入力してそれに適合するレコードを表示したいのですが
そういう欄って作れないでしょうか・・?リボンの検索ボタン押さないと駄目でしょうか?
お願い致します。
8名無しさん@そうだ選挙にいこう:2007/04/11(水) 01:32:51
マクロ作成
フィルタの実行
フィルタ名・・・省略
Where条件
[検索したい元テーブルのフィールド名] Like "*" & Forms![フォーム名]![検索入力用テキストボックス名] & "*"
な感じでつくったマクロを、ボタンのクリック時イベントにでも指定すればほぼお望みのことが出来るとは思うが


Dim StrSQL As String
StrSQL="SELECT * "
StrSQL=StrSQL & "FROM 元テーブル名 "
StrSQL=StrSQL & "WHERE 検索したい元テーブルのフィールド名 Like "*" & Forms![フォーム名]![検索入力用テキストボックス名] & "*"
Forms!フォーム名.RecordSource=StrSQL

これぐらいのVBAをおぼえる気はないか
そうか、ないか、いやべつにいいんだが

>>リボンの検索ボタン
(・∀・)<・・・?
9名無しさん@そうだ選挙にいこう:2007/04/11(水) 14:07:40
>>8
つ「従来のメニューとツールバーは、リボンに置き換えられました。」
http://office.microsoft.com/ja-jp/products/HA101679411041.aspx
10名無しさん@そうだ選挙にいこう:2007/04/12(木) 09:53:38
新スレ祝あげ
11名無しさん@そうだ選挙にいこう:2007/04/16(月) 16:26:52
私はアクセスが高いのでまだ使ったこともないのですが
たとえば一万字のデータがあって、その中にたとえば パイナップル
という単語がいくつあるかをパイナップルをパイナップルに置き換えて
その個数を数えているのですが
出来るんでしょうか 何万字のデータでもいけるのでしょうか?
今一生懸命エクセルで解析
12名無しさん@そうだ選挙にいこう:2007/04/16(月) 17:05:28
>>11
日本語でOK

つか、出現回数カウントするなら
VBAでSplitのデリミタをパイナップルで指定して、
配列に格納してからUBound()とLBound()使って
Ubound() - Lbound() + 1すればいいだろ?

13名無しさん@そうだ選挙にいこう:2007/04/16(月) 20:33:54
>>12
難しそうですね。ちょっと初心者には敷居が高そうです><
エクセルでもどうにかならないし ウーン 
14名無しさん@そうだ選挙にいこう:2007/04/16(月) 20:55:08
>>11

いますでにExcelに入力されているなら、単語数をカウントする
ためだけにAccessに持ってくる必要も別にないんじゃないかな。
A1セルに入力されてるんなら、
=(LEN(A1)-LEN(SUBSTITUTE(A1,"パイナップル","")))/LEN("パイナップル")
みたいな式で終わりじゃないの?
15名無しさん@そうだ選挙にいこう:2007/04/16(月) 21:23:42
問題は使うソフトの種類じゃなさそうだな。
16名無しさん@そうだ選挙にいこう:2007/04/16(月) 21:37:08
問題は使う人の種類にありそうだな。
17名無しさん@そうだ選挙にいこう:2007/04/16(月) 22:06:56
>>13
性器表現を覚えるんだ
VBAでも参照設定すれば(もしくはCreateObjectすれば)使えるし

まあテキストファイルをVBScriptで処理した方が簡単そうだが。
18名無しさん@そうだ選挙にいこう:2007/04/16(月) 22:09:49
チンコとかマンコとかなら覚えるでもなく既に知ってる。
19名無しさん@そうだ選挙にいこう:2007/04/17(火) 01:04:02
そこはawkでとか突っ込む所だぞ。
20名無しさん@そうだ選挙にいこう:2007/04/17(火) 03:11:13
いや、チン○を突っ込む所だろ。
21名無しさん@そうだ選挙にいこう:2007/04/18(水) 17:41:29
ありがとうございます
22名無しさん@そうだ選挙にいこう:2007/04/18(水) 17:42:54
VistaでAccess2007を使っています
VBA二十日得ません。
VBAでの回答は否


「元に戻す」の動作が発動しません。

他のツールでは一つ動作をした後、「元に戻す」ボタンを押せば
一つ前に戻れますが
Access2007ではほとんどの場合、「元に戻す」ボタンで戻れません。
(文字を入力したあとで、それを一文字戻すとかなら可能)
これを解消して、全ての動作で「元に戻す」ボタンが使えるようにすることはできますか?
23名無しさん@そうだ選挙にいこう:2007/04/18(水) 17:46:42
桐なら出来るけど、Accessでは無理じゃね
24名無しさん@そうだ選挙にいこう:2007/04/18(水) 19:21:34
MSに数十億か数百億か、とにかく金積んだら、仕様変更してくれると思うよ。
25名無しさん@そうだ選挙にいこう:2007/04/18(水) 20:23:52
ありがとうございます。

もう一つ質問なのですが

>>22と同じ環境で

ルックアップの値を変更する方法を教えて下さい。


ネットをを見てやっていたのですがどうしてもできませんでした。

26名無しさん@そうだ選挙にいこう:2007/04/19(木) 03:12:40
>>22
どういう操作をしてどこまで戻したいのかわからんけど、
Escキーを1回もしくは2回押して元に戻るのはNGなの?
27名無しさん@そうだ選挙にいこう:2007/04/19(木) 06:56:37
>>26
レコードの更新や削除をしてから「元に戻す」で戻したいんだと思う
28名無しさん@そうだ選挙にいこう:2007/04/19(木) 09:31:15
>22
「元に戻す」ってテーブルのデータシートビューでのこと?
アクセスだけでやろうとせず
エクセルにデータをコピペして編集して元に戻さなくてもいいくらい満足したら貼り付けれ。
それか、編集前の状態をエクセルに残しとくか(バックアップ的な感じ)。
アクセル使えるならエクセルも使えるっしょ。
(日付型に気を付けてね、2007はどーか知らんが
 エクセルに貼り付けたとき日付の表示形式が勝手に "日-月の英語表記-年下2桁" になる。
 表示形式を"年/月/日" とかに変えてからアクセスに貼り付けんとエラいことになる。)
29名無しさん@そうだ選挙にいこう:2007/04/19(木) 10:36:42
沖縄県の方へ(命に関わる注意事項です)

沖縄県での選挙ですが、どうか民主党だけは避けてください。県民の生命に関わる可能性があります。
民主党の最大の公約は一国二制度(※)ですが、一度「一国二制度 沖縄」等で検索をお願いします。
この際、民主党のHPで調べても良いです。以下の注釈↓と矛盾することは書いてないはずですから…

※一国二制度
 簡単に言えば沖縄を中国と日本の共有物にし、そこに3000万人の中国人を入植させます。
 (つまり沖縄人口の 96% を中国人にして、実質、沖縄を中国人の居住地とします。)
 さらに「自主」の名の下、沖縄で有事が起きても自衛隊は干渉できません。
 3000万人の中国人が、少数派となった130万人の日本人に何をしても、です。
 そして中国人の反日感情の強さは、ほとんどの日本人の理解を超えるものです。

今回の選挙で民主党が勝った場合、「自主」「発展」を連呼しつつ段階的に進めていくことになります。
自主と言っても、自主を認めるのが「住人の96%が中国人となった」後だということに気をつけてください。
発展と言っても、新沖縄の少数派となった「少数民族日本人」の発展ではないことに気をつけてください。
30名無しさん@そうだ選挙にいこう:2007/04/19(木) 17:31:04
以前もお世話になったことあるのですが、またよろしくお願いします。
また、スレを間違えてしまい、マルチになってしまうことをどうかお許し下さい(急を要するため)

Access2003(クライアント)とSQLServer2005 Standard(サーバー)で業務システムを構築することになりました。
そこで、質問があります。
@.Accessでマクロは使わず、VBAでDoCmdステートメントを使った方が良いでしょうか?
A.両者の接続は、OLEプロバイダを使い操作はADOで行こうと思っているのですが、
 トランザクション処理を考えた場合、DoCmdでのデータ保存は禁止にした方が良いのでしょうか?

なにせ初心者なものですから、質問に矛盾がどざいましたらお許し下さい。
教えて下さい、よろしくお願いします。m(__)m

以上です。
31名無しさん@そうだ選挙にいこう:2007/04/19(木) 21:43:59
@使わないほうがよい
A禁止したほうがよい
32名無しさん@そうだ選挙にいこう:2007/04/19(木) 22:45:38
B自らのスキルを大幅に超えた挑戦はしないほうがよい
33名無しさん@そうだ選挙にいこう:2007/04/20(金) 00:27:42
>>30

(Docmd.)RunMacroやRunSQLとかはかんべんな。
34名無しさん@そうだ選挙にいこう:2007/04/20(金) 09:17:45
>>31-33
レスありがとうございました。
35名無しさん@そうだ選挙にいこう:2007/04/20(金) 09:23:14
>>34ですが、度々すみません。
ということは、
@マクロやDoCmdは一切使わず、レコードセットに対して
トランザクション処理(コミット、ロールバック)をかけていくということで
よろしいでしょうか? 例え、単票形式のフォームであっても・・。
A当然と言われそうなのですが、フォームは連結フォームも禁止という事
になりますね?

度重なる質問失礼致します、教えて下さい。
36名無しさん@そうだ選挙にいこう:2007/04/20(金) 09:51:06
VBA 使うくらいなら、VB で構築しろ
Access 使うなら、VBA じゃなくてマクロ主体にしろ

それが壊れない為に重要な点
結論、Access イラネ!
37名無しさん@そうだ選挙にいこう:2007/04/20(金) 10:25:44
皆さんはSQLを勉強するに当たってどのような方法・書物などを用いましたでしょうか?

Excelでは不足気味になってきたので、Accessにてデータの統計を取りたいと考えているのですが、
SQLで妻付いてしまいます。

皆さんの経験談をお聞きして、自身の勉強法改善に繋げたいと思っています。
よろしければ、どのような物(書物・テキスト)を利用し、どのように勉強を進めて行ったかを、
ご教示ください。

また合わせて注意点などもお教えください。

当方環境
【 システム環境  . 】 WindowsXP, Access2000
【 VBAが使えるか .】 いいえ
38名無しさん@そうだ選挙にいこう:2007/04/20(金) 11:27:24
>>37
適当に「SQL入門」って書いてあった赤い表紙の本買ってきたwww
39名無しさん@そうだ選挙にいこう:2007/04/20(金) 13:36:03
>>37
適当にクエリでデザインビューとデータシートビュー見比べながら思う結果が出るように作り込んで、
最後にSQLビューで「ああーこう書くとこうなるのかー」と納得する。
40名無しさん@そうだ選挙にいこう:2007/04/20(金) 13:54:59
>36がAccessをロクに使ったことないことだけはよく分かった。
4135:2007/04/20(金) 14:07:14
>>40
説明不足だったかもしれません。AccessはMDB形式ではなく、プロジェクト形式で使います。
使いたいのは、主にフォーム・レポート・モジュールで、マクロは避けた方が良いと言う話も
聞いたのでマクロ禁止にしようと思ったのです。 それでも>>31-33 >>36のような結論になる
のでしょうか?
42名無しさん@そうだ選挙にいこう:2007/04/20(金) 19:14:49
>>37
内輪で使う(イントラ)ならT-SQL(SQLServer)の方がいいよ。
Accessのインストールディスクにこっそりタダで付いてたりするし、
Access自体は2007で意味不明な方向に変化してるし。

T-SQLなら本はまず、
「SQL Serverで学ぶデータベース入門」
SQLの基本だけを順序良く説明してくれてるんだけど…絶版でユーズド7600円@amazonって正気じゃねーな。
読み終わったら勢いで
「SQL Server 2005 ストアドプロシージャ プログラミング」
を表面だけ流し読み(俺は2000だったけど)。こっちは定価で6090円だwww

>>41みたいな問題(Accessの機能、AccessVBA、VB+有償コンポーネント、VB.Net+有償コンポーネント)の
どれを使うかは別の話。
43名無しさん@そうだ選挙にいこう:2007/04/20(金) 22:59:55
C++で書けよ
44名無しさん@そうだ選挙にいこう:2007/04/21(土) 01:23:20
>>41
SQL-ServerExpressならタダなんだし、とにかくやってみればいい。
別に誰も止めはしないから。

でも質問のレベルから察するに結果が>>32になるのは今から明白というか
火を見るより明らかというか・・・ とにかくうんざりするほど沢山の壁にぶつかることに
なると思うんで心の準備だけはしておいてw
45名無しさん@そうだ選挙にいこう:2007/04/21(土) 12:08:41
jm
46名無しさん@そうだ選挙にいこう:2007/04/21(土) 15:25:50
初心者レベルのような質問する所でないようなのに、すみません。
クエリで演算するフィールドを作りました。その値を切り上げでほしいのですが、
エクセルだとRoundupですよね、Accessにはフィールドでは使えないのでしょうか?
うまくいきません。よろしくおねがいします。
47名無しさん@そうだ選挙にいこう:2007/04/21(土) 16:07:30
46です。あんなに探してわからなく書き込みしましたが、解決できました。
おさわがせしました。これからも精進するので、また厄介になりますが、よろ
しくお願いします。
48名無しさん@そうだ選挙にいこう:2007/04/23(月) 10:40:48
accessのファイルを配布する際に、MSIファイルを作成して
インストーラでインストールしてもらうことってできますか?

installShield使えば可能らしいのですが、できれば無償で…
49名無しさん@そうだ選挙にいこう:2007/04/23(月) 10:43:17
2007だったらランタイム含めて無償で近々に公開されるよ
MSのWebページ見れ、本国の開発者向け、英語
50名無しさん@そうだ選挙にいこう:2007/04/23(月) 10:56:16
>>49

ありがとうございます。
ランタイムは6月ごろの公開を目指して開発しているらしいですね。
51名無しさん@そうだ選挙にいこう:2007/04/23(月) 12:02:49
桐2007も1/6発売開始!
52名無しさん@そうだ選挙にいこう:2007/04/23(月) 14:35:16
>>41だけど
>>44
>SQL-ServerExpressならタダなんだし、とにかくやってみればいい。
なんて回答している段階で、天にツバじゃね?
>でも質問のレベルから・・・
レベルっておまえさん単なるPG=デジタル土方だろ?
本当にできる奴は親切かつ具体的なレスをするものだよ

キミ新だ方がいいね、(・∀・)シネ!
53名無しさん@そうだ選挙にいこう:2007/04/23(月) 19:19:43
>>48
スレ違いだけど、諦めてVisualStudio買うよろし。
簡単な配布物なら5分で作れるから。
ttp://www.microsoft.com/japan/msdn/thisweek/300x10/phase2/setup_program/default.aspx
5453:2007/04/23(月) 21:40:56
今気づいたけど、2007ではDeveloperExtensionsも無料の予定なのね…。
55名無しさん@そうだ選挙にいこう:2007/04/24(火) 00:51:54
>>54

なんか、最後の大放出みたいだね。
2007でAccess打ち止めかな?
56名無しさん@そうだ選挙にいこう:2007/04/24(火) 09:52:03
MSとしては、SQL Serverで一本化させたいし、スタンドアローンなら拡張されたExcel & VBA使えという事でしょう。
大体Accessって、MSKKが力を入れていただけじゃなかったっけ?
57名無しさん@そうだ選挙にいこう:2007/04/24(火) 15:28:20
>>55
禿げ、打ち止めのわけねぇーだろう、氏ね
58名無しさん@そうだ選挙にいこう:2007/04/24(火) 18:03:47
Commerce Server 2007 Developer Edition も無料だし
今後はそういう方向に行くんじゃないの
59名無しさん@そうだ選挙にいこう:2007/04/24(火) 21:00:16
2007で、ある項目の中の、一つのデータの部分だけ文字の色を変えたり、太くしたりする方法はありますか?
60名無しさん@そうだ選挙にいこう:2007/04/24(火) 21:19:05
【 VBAが使えるか .】 いいえ
【 VBAでの回答  】・否

です
61名無しさん@そうだ選挙にいこう:2007/04/24(火) 23:11:10
>>59
リッチテキスト使え
62名無しさん@そうだ選挙にいこう:2007/04/25(水) 00:15:51
ありがとうございます。
早速使ってみようとしたのですが、
特定のテキストを反転させ、
ホームタブ→リッチテキストのところにいっても
リッチテキストのボタンがoffになっていてクリックできません。
63名無しさん@そうだ選挙にいこう:2007/04/25(水) 01:09:14
上の文ぱっと見て
「ほー、最新のAccessはホッチキス止めまでやれるのか」
と思ってしまった
64名無しさん@そうだ選挙にいこう:2007/04/25(水) 08:27:55
>>62
フィールドのデータ型をリッチテキストにしてあるか?
65名無しさん@そうだ選挙にいこう:2007/04/25(水) 09:41:57
62です
ありがとうございます。できました。
ただ、データ型を「メモ型」にしないとこれはできないのでしょうか?
数値型にしてあったので、数値型のまま色を変えたりできるといいのですが。
これはメモ型でしかできない事ですか?
66名無しさん@そうだ選挙にいこう:2007/04/25(水) 09:54:53
うん
67名無しさん@そうだ選挙にいこう:2007/04/25(水) 16:13:47
ありがとうございます。
ぜいたくな望みなのですが
データ型を「メモ」にすると「集計」で「カウント」しか選べません。
なので
>>59のようにできて、集計でも「平均」や「最大」など、さまざまなものが選べるようにしたいです。
VBAが使えないと不可能でしょうか
68名無しさん@そうだ選挙にいこう:2007/04/25(水) 17:33:46
ACCESS2003で顧客管理用のデータベースを作ろうと思っています。
以前作ったときは一人で使うものだったので単一のmdbファイル構成でした。
今回は複数の人が同時に使う可能性があるのでフロント部とデータ部を分け、NAS内にmdb形式でデータ部を置こうと思っています。
解説書をいろいろ読むとデータベースとの接続に
ADOやDAOで接続すると書いてあるものがかなりありました。
両者の違いは何となく理解したのですが
疑問が生じました。
mdbファイルを分割してデータ部をリンクテーブルとしてNAS内に置いた場合はDAO接続扱いになるのでしょうか?
69名無しさん@そうだ選挙にいこう:2007/04/25(水) 17:40:15
リンクテーブル扱い
70名無しさん@そうだ選挙にいこう:2007/04/25(水) 21:54:06
>>67
そうなると項目そのものを集計するんじゃなくて
CLng(項目)やCCur(項目)を集計するしかないよ。

項目が数値型じゃないからそのうちデータに文字が紛れ込んで
変換エラー起こすだろうけど、まあその時には自業自得ってことで・・・
71名無しさん@そうだ選挙にいこう:2007/04/26(木) 15:06:08
ではやはり集計するなら、>>59のような事はあきらめなければなりませんか?
72名無しさん@そうだ選挙にいこう:2007/04/27(金) 09:54:23

ようするに、如何にチンコを太く長くするかがよほど大事だ
73名無しさん@そうだ選挙にいこう:2007/04/27(金) 11:48:54
それはビジネスになる
74名無しさん@そうだ選挙にいこう:2007/04/27(金) 13:25:29

つでに、大きいチンコに合ったでかい金玉も必要だ
75名無しさん@そうだ選挙にいこう:2007/04/27(金) 13:42:18
【 システム環境  . 】 WindowsXP HOME**, Access2003**
【 VBAが使えるか .】 いいえ
【 VBAでの回答  】 否
【 検索キーワード 】 オブジェクトライブラリは登録されていません
              ActiveXコンポーネントはオブジェクトを作成できません
              オブジェクトライブラリ ActiveX

・何がしたいのか       →テンプレートを使ったデーターベース作成
・どんな処理を試したか   →Access2003、Office2003全体の再インストール
・動作状況など駄目な理由 →データベースウィザードを使用しテンプレートを元にデータベースを
                   作成しようとすると、途中で
                   『オブジェクトライブラリは登録されていません』と表示され、「OK」を選択すると
                   『ActiveXコンポーネントはオブジェクトを作成できません』と表示され、正常に
                   機能しない。

備考
MOSの試験に向け、勉強するためにACCESS2003を起動して、FOM出版のテキストの最初から解いていこうと
したらいきなりつまづき困惑しています。Googleでの検索や教えてgoo等も参考にしましたが、回答者の説明が理解できませんでした・・。
よろしくお願いします
76名無しさん@そうだ選挙にいこう:2007/04/27(金) 17:55:32
>>75
お前、「チントレ」でぐぐって男根おおきくしろや、な
77名無しさん@そうだ選挙にいこう:2007/04/27(金) 18:51:02
チンコの大きさ普通で16ぼっきで21ってでかくねーか?
78名無しさん@そうだ選挙にいこう:2007/04/27(金) 18:51:51
>>75
そんなことより、チンコ大きく汁!!
7975:2007/04/27(金) 21:07:05
息子は平均より大きいとおもいます。
その根拠は友人と銭湯にいくたび陰部について問われることや
風俗嬢にもおっきぃ、と言われます。
80名無しさん@そうだ選挙にいこう:2007/04/27(金) 21:53:29
>>75
それに遭遇した経験は無いので、テキトーに。

1. Accessはとりあえずフルインスコしたか。Noならフルで。
2. SPはどこまで当てたか。SP2未満ならとりあえず当てろ。
81名無しさん@そうだ選挙にいこう:2007/04/27(金) 22:10:55
何だよあっちでもこっちでも
どいつもこいつも・・・って、まあ同じ香具師らだろうが
8275:2007/04/27(金) 23:26:53
>>80
回答ありがとうございます。
ですが両方とも確認&実行しましたが、うまくいきませんでした。
もう疲れたので息子と遊んで寝ることにします。
明日以降、この原因解明をしようと思います。
ありがとうございました。
83名無しさん@そうだ選挙にいこう:2007/04/28(土) 01:03:22
>>81
基本的にソフト板自体が糞だからね
84名無しさん@そうだ選挙にいこう:2007/04/28(土) 01:38:24
今となってはウィザードなんて全然使わなくなったけど、入門時にあるとないとじゃ大違いなんだよな。
発売直後のACCESS95がNT4.0でウィザード全然使えずに困ってた頃の記憶がよみがえる・・・
8580:2007/04/28(土) 14:18:13
引き続き、関係あるかないか分からんけど。

Access を使用しているときにエラー メッセージ "ActiveX コンポーネントはオブジェクトを作成できません" が表示される
http://support.microsoft.com/kb/319844/ja
8680:2007/04/28(土) 23:11:55
>>85
わざわざありがとうございます。
試してみます!
8775:2007/05/01(火) 11:54:41
>>85
感謝感激、解決しました。
原因はDAOが正しく登録されてなかったようです。以下の作業をすることで
問題が解決しました。

1. Microsoft Windows Terminal Server をホストするコンピュータ、または Microsoft Access がインス       トールされているコンピュータで、[スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリッ       クします。
2. regsvr32 と入力し、その後に DAO ファイルのパスを入力します。パスは二重引用符で囲みます。た       とえば、DAO 3.6 ライブラリを登録するには、次のコマンドを使用します。
       regsvr32 "C:\Program Files\Common Files\Microsoft Shared\DAO\DAO360.DLL"

お礼にうちの妹F(ry
8875:2007/05/01(火) 11:55:54
すいません、変な部分でスペースはいってしまった・・
89名無しさん@そうだ選挙にいこう:2007/05/01(火) 17:32:35

えなりの勃起サイズ23センチだと

ビッグニュースだ  負けた orz
90名無しさん@そうだ選挙にいこう:2007/05/02(水) 11:51:40

 普通、金玉が大きくてサオが短い細いのはかっこわりーよな
91名無しさん@そうだ選挙にいこう:2007/05/02(水) 14:48:00
access2000
VBA:使えない
コマンドボタンを押下した際にフォントを変化させたいのですが
条件付書式が使えないようなのです。何かいい方法はありませんでしょうか?
92名無しさん@そうだ選挙にいこう:2007/05/02(水) 18:48:15
2月生まれのあなたはボタンを押したときにフォントの異なる別のフォームを開くといいでしょう。
93名無しさん@そうだ選挙にいこう:2007/05/02(水) 20:29:12
>>91
あります。
94名無しさん@そうだ選挙にいこう:2007/05/02(水) 21:48:10
相変わらずソフト板は糞だね
95名無しさん@そうだ選挙にいこう:2007/05/05(土) 22:25:01
【 システム環境  】 WindowsXP Pro ・ Access2000・2003
           SQL Server 2005 Express Edition (Windows認証接続)
【 VBAが使えるか】 いいえ
【 VBAでの回答  】  可(ただし、勉強中につきわかりやすく解説をつけていただけるとありがたいです)
【 検索キーワード 】 リンクテーブル SQLServer

 はじめまして。
 mdbファイルが読み込まれたときに動的にリンクテーブルを作成する都合が出てきたため、ググって、下記ページを見つけました。


Access 2003 および Access 2002 でリンク テーブル用にSQL Server への DSN レス接続を作成する方法

 ttp://support.microsoft.com/kb/892490/ja


 Autoexecマクロが読み込まれた際に下記モジュールをAutoexecマクロ実行時に読み込ませればよさそうだということまでは理解できました。
 ただし、モジュールにする部分のVBAソースを見てみると、認証方法がSQL Server認証を使用している感じを受けます。
 もし、そうでしたらWindows認証方法のモジュールに改良するにはどこら辺を変更すればよろしいでしょうか?
 教えていただけませんでしょうか?

 皆様よろしくお願いいたします。
96名無しさん@そうだ選挙にいこう:2007/05/06(日) 00:18:54

漏れにはユーザー名を省略するだけでWindows認証になるサンプルコードに見えるが。
実際に試したわけじゃないからアレだけど、質問者は試してダメだったのかね?
97名無しさん@そうだ選挙にいこう:2007/05/06(日) 15:44:45
Access 2007を導入予定ですが、位置づけとしては、.mdb=.accdbという理解でいいのでしょうか?

もちろん、データ形式が異なることは承知しています。
「位置づけ」の意味は「スタンドアロンでJetを介して使用するアプリケーションで使用する」ということです。
WANでC/Sを構築予定なので当然プロジェクトを使うつもりなのですが、.adpを作成するとタイトルバーに「2000-2003形式」などという不穏な文字が表示されます。
もしかすると、.adpの他にプロジェクト形式の拡張子(もしくはAccessからSQL Serverにアクセスする別のソリューション)があるのでしょうか?
98名無しさん@そうだ選挙にいこう:2007/05/06(日) 17:18:20
>>97
自分は使ってないから知らないけど、下記を見るとあたかも.mdb<.accdbに
対応する.adp<.accdpファイルがあるようにも読めるね。

ttp://office.microsoft.com/ja-jp/access/HA100766011041.aspx

.accdpファイルなんて初めて聞いた。
2007ユーザーのレポキボンヌ
99名無しさん@そうだ選挙にいこう:2007/05/06(日) 17:24:16
他のOffice製品と違って拡張子が.mdbxにはならないんだよな。
まあXMLのテキスト形式じゃないからなられても困るんだけど
100名無しさん@そうだ選挙にいこう:2007/05/06(日) 17:55:10
まあエンジンがもはやJetではなくACEだから、.mdbなんちゃらと言われても困る気もする。
101名無しさん@そうだ選挙にいこう:2007/05/06(日) 18:37:58
ACCESS2007は2000-2003形式を使っている場合、そのまま運用する事になる。
もっとも2007で採用機能、例えば添付ファイル形式をデータ型で採用するなら当然.accdb形式で運用する。
また.accdb形式では古いバージョンでは見られない。
それぞれの環境で損得有るんで、どちらが良いと言う問題ではない。
10297:2007/05/06(日) 21:21:21
>>98
一応レポート。少なくとも明示的には作れません>.accdp
Access2007で(「新規作成」から)作れるのは
・.mdc(2002-2003)
・.mdb(2000)
・.accdb
・.adp
の四つです。

>>100
ですね。まぁ、Jetがそれなりに形になってから数えても既に10年経っているわけですから、確かにそろそろ寿命と言えなくもないですが。

>>101
まぁ、それだけ(2007の新規機能が使えない)なら別にかまわないのですが、ヘルプなどからAccessプロジェクトやアップサイジングウィザード関連の記述がごっそり削除されているのが、どーもキナ臭くて……。
http://www.microsoft.com/japan/sql/solutions/aup/seminar.mspx
こんなセミナーもあるので、アップサイジングの方向性そのものはこれからも既定のものとして捉えていいんだろうけど、.adpを使っていいのか、それとも.accdbにそのあたりの機能が統合されているのかが若干心配でね。
そもそもAccess 2007のアップサイジングウィザード動かないし(苦笑)
……いや、「データベース ツール」→「データの移動」→「SQL Server」で「ODBC--呼び出しに失敗しました」とか、初手からのたまってくれるのよ。
多分どっか設定が足りないんだろうけど、調べようにも(上に書いたとおり)ヘルプにそもそも「アップサイジングウィザード」の項目が無いし(^^;
※ちなみに最初から.adpで作ったプロジェクトは動いてるし、ODBC経由の(個別の)リンクテーブルは作れてるので、SQL Serverはちゃんと動いてるハズ。
10397:2007/05/06(日) 23:01:49
>>102
僅かに誤字。
・.mdc(2002-2003) →・.mdb(2002-2003)
ということで、お詫びと訂正。
10495:2007/05/07(月) 00:49:43
 一応、自己解決しましたが報告。
 96さんのご指摘どおり、ユーザー名・パスワード部分の引数を""で囲むとWindows認証になるコードでした。
 やっぱり、私には高度なコードでした。修行せねば・・・
105名無しさん@そうだ選挙にいこう:2007/05/07(月) 09:45:37
>>97
あるよ .unko

わかった?
106名無しさん@そうだ選挙にいこう:2007/05/07(月) 14:32:10

 .tinko でも桶
107名無しさん@そうだ選挙にいこう:2007/05/08(火) 17:31:45
【 システム環境  . 】 WindowsXP, Access2002
【 VBAが使えるか .】 少し
【 VBAでの回答  】 可

封筒印刷するのにユーザー定義で書式を設定したのだけど
なぜかA4サイズに戻ったりする・・・
ちなみにデフォルトのプリンタではなく、その他のプリンタを指定

ttp://www.microsoft.com/japan/msdn/officedev/officexp/odc_acc10_printers.asp
ここを見てVBAでユーザー定義を強制させようと思ったのだけど
サイズの指定方法がわからないのです。
どうすればいいのでしょう・・・
108名無しさん@そうだ選挙にいこう:2007/05/08(火) 22:24:08
どういうタイミングで戻る?
109名無しさん@そうだ選挙にいこう:2007/05/09(水) 02:30:18
>>108
月に1回印刷するのですが
先々月、先月と設定通りに印刷できて、今月ずれました
何が原因なのかはさっぱりわかりません。
110名無しさん@そうだ選挙にいこう:2007/05/09(水) 16:51:48
そか、あともう1年悩め、道が開けてくる
111名無しさん@そうだ選挙にいこう:2007/05/11(金) 11:29:32
【 システム環境  . 】 WindowsXP, Access2000
【 VBAが使えるか .】 使えない
【 VBAでの回答  】 不可
【 検索キーワード 】 Access & 表示させない

レポートのテキストに「&」と言う文字を入れたいのですが
アクティブになっているときは入っているのに、
非アクティブ&印刷プレビュー時では消えてしまいます。
表示させる方法はありますか?
112名無しさん@そうだ選挙にいこう:2007/05/11(金) 11:56:39
>>111
「&」を表示したいとこに「&&」としてみよし。
113名無しさん@そうだ選挙にいこう:2007/05/11(金) 12:03:54
VBAっす。
ADOのコネクションに対して execute()メソッドで
DELETEや UPDATEのSQL文を実行したとき、
成否ってどーやって受け取れるのん?

execute()メソッドの戻り値ってレコードセットだし、
念のため State確認したら当然ゼロだし(閉じてる)、Err.Numberもゼロだしさ。

もしかして無理でしょか?
114名無しさん@そうだ選挙にいこう:2007/05/11(金) 15:38:05
>>113
SQLに問題があったりして実行時にエラーが発生した場合は、
ADODB.ErrorにADOのエラーが戻ると思うぞ。

http://homepage2.nifty.com/inform/vbdb/ado_error.htm
を参考にOn Errorでエラートラップしてみなよ。
115名無しさん@そうだ選挙にいこう:2007/05/11(金) 17:13:02
>>114
なるほど ADODB.Errorでトラップできるんね、ありがとん!
と、ちと初回の質問文が不足でした。。

DELETE文や UPDATE文実行で SQL文は正しいけど処理対象データがゼロ件だったときを
トラップしたいのんです。
このときの ADODB.Errorは無い(正しくはコネクションのErrors.Count = 0)でした。。
116名無しさん@そうだ選挙にいこう:2007/05/11(金) 17:29:33
>>115
それはSQLとしては正しいので、エラーにはなりませんwww

第2引数のRecordsAffectedを参照するようにしたら良いだろ。
http://kobobau.com/xls/yama/vba/db.ado2.html
117名無しさん@そうだ選挙にいこう:2007/05/12(土) 18:37:55
アクセスはただ単純に数字を組み合わせたりして表やレポートを作るだけなんでしょうか?
それともエクセルみたいに四則演算などの計算はできるんですか?
118名無しさん@そうだ選挙にいこう:2007/05/12(土) 22:24:55
>>117

出来るともいえるし、出来ないともいえる。
ひとついえることは、AccessはExcelの上位ソフトではないと言うこと。
Excel的な考えではじめると、いらん苦労すると思うよ。
まぁ、労を惜しまなければなんとかなるものだが。
ただ、その労力はDB的思考を養うために使った方が
はるかに建設的だよ。
119名無しさん@そうだ選挙にいこう:2007/05/12(土) 22:26:31
はい
120名無しさん@そうだ選挙にいこう:2007/05/13(日) 00:24:10
>>117
同じレコード(Excel的に言えばオートフィルタ等が可能な「表」の同一の「行」)内の
項目同士なら四則演算や関数はExcel的な考えでもそれなりに使える。
if関数がiif関数になっていたりとか多少の違いはあるが。

それ以外だと118氏の言う「DB的思考」が必要になる。

個人的には、EXCELでVLOOKUP関数等を多用している人なら
ACCESSの方が融通が利いて便利になると思う
121名無しさん@そうだ選挙にいこう:2007/05/13(日) 16:08:37
スレチかもしんないけど、ちょっとご意見拝借したい。

Accessがメインの仕事じゃないんだが、SQLサーバと接続とか、
大量のデータ加工とかで普通に使ってる。仕事を楽にするために
自分でDBとかも作る。

で、新規にパートの女の人が入ってきて、仕事を教えなきゃならないんだが
採用したのがまるでPC音痴の団塊なもんで、その人Excelがちょっと使えるくらいらしいのね。

正直、どっからどこまで教えたらいいのか悩んでる。
Excelでだけ処理するには、面倒かつ時間がかかりすぎる仕事なんだよな。

ま、様子を見つつ、とは思ってるけど、Accessってさ、DBとしてはどうとかあるけど
>118氏の 「DB的思考」ってのが 問題なんだよね。
この素養とかセンスが無い人に教えるってイジメに近いような気が・・・
122名無しさん@そうだ選挙にいこう:2007/05/13(日) 17:31:59
>>121
素養育てる方法俺も知りたい。

職場でルーチンワークをExcelでゴチャゴチャ集計してる(そして数字が合わないとか言ってこっちに回す!)
の見てると全員へのデータベースに関する教育が必要だと痛感する。

しかし、クエリの雛形置いとくから弄ってみてね〜ほら便利でしょ〜、って程度では
Excel使いはAccess触ろうとしないorz
123名無しさん@そうだ選挙にいこう:2007/05/14(月) 22:00:29
まあ完成度100%でない仕事のフォローを他人がしてくれるのが当然、
なんて環境ではいつまで経っても覚えてくれないと思う。
124名無しさん@そうだ選挙にいこう:2007/05/16(水) 00:52:18
>123 に同意。
語弊はあるかもしらんが、黙って寝ていて生活保護で
14万もらえるヤツが、毎日働いて18万の給料を稼ごうと
するか?

日本企業では、何かができるヤツには仕事が集中するが、
給料は大して変わらない。何かができるだけソンなことを
みんな知っている。
だから振り先が無くなって、やらないと火の粉が自分に
降りかかってでもこない限り、誰も覚えないよ。
125名無しさん@そうだ選挙にいこう:2007/05/16(水) 13:23:58
txtデータのインポートでExcel VBAにあるようなRowStart(取り込み開始行)の指定はどうやってやるのですか?
実データが8行目からなんです
126名無しさん@そうだ選挙にいこう:2007/05/16(水) 14:00:38
そういうのは桐だと簡単だよな
127名無しさん@そうだ選挙にいこう:2007/05/16(水) 14:20:17
>>125
俺ならVBAでロードするが。
128名無しさん@そうだ選挙にいこう:2007/05/16(水) 14:22:20
>>125
別TBLにインポートしてからTBLを併合しれ。
桐ならもっと簡単だが。
129名無しさん@そうだ選挙にいこう:2007/05/16(水) 18:43:25
>>125
どんな状況でも8行目からなのか注意してね〜。
130名無しさん@そうだ選挙にいこう:2007/05/16(水) 22:17:41
【 システム環境  . 】 WindowsVista&, Access2007
【 VBAが使えるか .】 いいえ
【 VBAでの回答  】 不可
【 検索キーワード 】 アクセス リレーション


まったくの初心者です。リレーションが機能しません。ルックアップからなら、データが反映できるので
すが、リレーションシップを作成しても、▽が出てきません。
一応、参考書みてやってるのですが・・・

基本データが右(リレーションテーブル)で、その基本データの内訳が左ですよね?
なんか質問もろくにできないのですが、よろしくお願いします。
131名無しさん@そうだ選挙にいこう:2007/05/16(水) 22:18:58
メモ帳で開いて7行目まで削除しる
132名無しさん@そうだ選挙にいこう:2007/05/16(水) 22:39:56
>>130

リレーションで出るのは+だったと思うが。
右も左も関係ないんじゃないか。
マスターが多いと左右におくだろ。

で、結局なにがしたいんだ?
133名無しさん@そうだ選挙にいこう:2007/05/16(水) 22:49:08
>>132
え〜とですね・・・

学部  学科   学年

っていうフィールドがあって、別にテーブルを作ってで文学部、工学部、医学部などをコンボボックス
形式?▽で選択できるようにしたいのです。
ルックアップだとできるのですが、リレーションで線で結んでも反映されません。

う〜ん・・・この説明でわかりますか?
134名無しさん@そうだ選挙にいこう:2007/05/16(水) 22:55:21
>>133

あゝ、すまん。2007か。
2002までだと、リレーションしただけではそうはならないよ。
ルックアップ列はウィザード使うなり、自分で設定するなりしていた。
2007だとリレーションしただけでルックアップ列になるのか?
135名無しさん@そうだ選挙にいこう:2007/05/16(水) 23:00:38
>>134
そう、そこです。
と言っても、自分は超初心者なので、詳しくはわかりませんが、リレーションしただけでは、ルックアップには
なりません。
リレーションをして、ルックアップと同じように反映させたいのです。

136名無しさん@そうだ選挙にいこう:2007/05/16(水) 23:09:36
>>130
> すが、リレーションシップを作成しても、▽が出てきません。
> 一応、参考書みてやってるのですが・・・
参考書に、リレーションシップを作成すると▽が出ると書いてあるのか??


> 【 検索キーワード 】 アクセス リレーション
検索キーワードは、ドロップダウンリスト とか リストボックス とかにしろ
137名無しさん@そうだ選挙にいこう:2007/05/16(水) 23:17:13
>>134

MSのヘルプ見てきたが、ルックアップウィザードを使うことにより
インデックスとリレーションは作成されるが
その逆はないみたいだよ。
138名無しさん@そうだ選挙にいこう:2007/05/16(水) 23:28:47
成績証明書までの道のりは遠そうだなw
139名無しさん@そうだ選挙にいこう:2007/05/17(木) 07:53:20
>>136
>>137
また、調べてみます
いろいろとアドバイスありがとうございました。
140名無しさん@そうだ選挙にいこう:2007/05/17(木) 09:34:09
コンボとColmnで充分。作ってやってもいいぞ。有料で。笑
141名無しさん@そうだ選挙にいこう:2007/05/18(金) 08:55:21
>>140
500円くらい(笑)?
142名無しさん@そうだ選挙にいこう:2007/05/18(金) 23:52:22
お世話になります

【 システム環境  . 】 WindowsXP, Access2003
【 VBAが使えるか .】 はい
【 VBAでの回答  】 可
【 検索キーワード 】 & SQL

AccessでのSQL文でエラーが起こり困っています。
Table1の2つの値(列名はa1,a2で数値型)の間に-(ハイフン)をつけて
Table2にa1-a2という形で入力したいと考えているのですが

(前略)
strSQL = "Insert Tabl2(a3)
strSQL = strSQL + "Select Table1:a1" & "-" & "Table1:a2"
strSQL = strSQL + "From Table1"
(後略)

とするとTable2に入力される値がa1-a2の数値となってしまいます。
どうすれば-(ハイフン)で繋げることができるでしょうか?

宜しくお願いします。
143名無しさん@そうだ選挙にいこう:2007/05/19(土) 01:02:04
>>142

1行目
 Insert → その後のINTOがない
 Tabl2 → Table2のこと?
 (a3) → 最後はダブルクォートで閉じれ

2行目
 Select → 前にスペースついてないから1行目とぴったりくっついてSQLとして解釈できん
 Table1:a1 → テーブル名とフィールド名の区切りはコロンじゃなくてカンマ使え
 Table1:a2 → 同上

3行目
 From → 2行目と同じでスペース付けれ


そしてポイントは2行目の "Select Table1:a1" & "-" & "Table1:a2" の部分。
これを評価すると "Select Table1:a1-Table1:a2" になるから
a1マイナスa2の演算がされるのは当たり前(コロンが謎だが・・・)

-(ハイフン)をSQL中の文字列として渡したいのなら
" Select Table1.a1 & '-' & Table1.a2" とするのが正解。
144名無しさん@そうだ選挙にいこう:2007/05/19(土) 03:03:47
>>143
記憶が曖昧で色々違ってたのにも関わらず
ご指摘ありがとうございます。

Oracle単体でのSQL文は理解できるのですが
Accessや他言語でのSQL文を記載するのに
&や"を加えるとわけが分からなくなるんです。

何はともあれ、回答ありがとうございました。
145140:2007/05/19(土) 09:08:30
>>141
500円じゃ無理だな。
今、貧乏で即金欲しいから思いっきりディスカウントしてもいいけど。
半分、マジで期待してたりして。(笑)
146名無しさん@そうだ選挙にいこう:2007/05/19(土) 22:37:18
【 システム環境  . 】 Windows2000&XP, Access2000
【 VBAが使えるか .】 若干
【 VBAでの回答  】 可。でもできればマクロで・・・
【 検索キーワード 】 Excelシートインポート

1、インポートにかなり時間がかかるので、処理中であることを表すために
  作業中。。。。。。。。みたいな作業の進行状態を見れるようにしたいのです。
  ネットで大きな画像を読むときに、棒線がじりじり長くなっていくような奴です。

2、インポートするシートのパスをエクスプローラーで階層をたどるみたいにして
  指定できるようにしたいのです。エクスポートするときはマクロのプロパティに
  パスを書かなければ、MyDocumentがエクスポート先にえらばれますよね?
  そんなかんじにできないでしょうか。

よろしくお願いします。

147名無しさん@そうだ選挙にいこう:2007/05/19(土) 23:39:16
また来たよコイツ・・・
148名無しさん@そうだ選挙にいこう:2007/05/20(日) 02:37:33
>>146
少しは勉強してこい
149名無しさん@そうだ選挙にいこう:2007/05/20(日) 02:44:03
>>146
両方とも可能だが、「できればマクロで・・・」と書いている時点で
たぶんムリ。まあAccess 2007のマクロならどうか知らんけど。
150146:2007/05/20(日) 08:06:23
すいません。
初めての質問なんですけど
「また来た」呼ばわりされるってことは
かなり初歩的な質問をしてしまったってことですね。
もうしわけない。

参考書かサイトかなにかを紹介していただけたらありがたいのですが・・・
151名無しさん@そうだ選挙にいこう:2007/05/20(日) 08:16:20
>>150
ヘルプで充分。
152名無しさん@そうだ選挙にいこう:2007/05/20(日) 08:39:55
>>150
ttp://www.accessclub.jp/

まずはここで過去ログ漁ってみろ
ここでも分からないことがあればまた来い
153146:2007/05/20(日) 09:01:01
ありがとう!
154名無しさん@そうだ選挙にいこう:2007/05/21(月) 15:01:32
VBAで十進型の項目を作りたいんだけど、できる?
CreateFieldメソッド使ってできるかも、って挑戦してみたけどできないんよね。。
CREATE TABLEのSQL文でも無理だた。。
(単精度や倍精度使いたくないんす。)
155名無しさん@そうだ選挙にいこう:2007/05/21(月) 18:37:50
>154
FieldのTypeプロパティに「dbDecimal」を指定しても駄目なん?
156名無しさん@そうだ選挙にいこう:2007/05/21(月) 20:18:17
>>154
ADO経由ならCreate Tableで出来るよ。
157名無しさん@そうだ選挙にいこう:2007/05/21(月) 20:40:28
モジュールで使うSQL文でWhere句の中に変数を入れたいと考えています。

Dim str_SQL
Dim hennsuu

(中略)

str_SQL = str_SQL & " Where T_DB.項目名1 = " & hennsuu & " And T_DB.項目名2 Is Null "

とするとエラーになってしまうんですがどうすればいいのでしょうか?
宜しくお願い致します。
158名無しさん@そうだ選挙にいこう:2007/05/21(月) 20:50:59
hennsuu = """" & hennsuu & """"
159名無しさん@そうだ選挙にいこう:2007/05/21(月) 21:55:08
>>158
Is Nullではなく""で記述し、
それをさらに""で囲むから""""になるってことですか

ちなみに前半部の" & hennsuu & "はこのままでいいのでしょうか
160名無しさん@そうだ選挙にいこう:2007/05/21(月) 22:25:32
>>157

T_DB.項目名1のデータ型は?
略したところ(str_SQL)に問題があったなんてコテコテのオチは
やめてくんれよ。
あと、Is Nullのあとのスペースもキモい。
161名無しさん@そうだ選挙にいこう:2007/05/21(月) 22:30:07
>>160
テキスト型です
そのwhere句を追加したらエラーになったので
そのオチはないです
162名無しさん@そうだ選挙にいこう:2007/05/21(月) 22:32:34
>>157

Where T_DB.項目名1 = '" & hennsuu & "' And
163名無しさん@そうだ選挙にいこう:2007/05/21(月) 22:39:18
>>158
>>162
どうもありがとうございます
色々と勉強になりました
164名無しさん@そうだ選挙にいこう:2007/05/21(月) 22:40:28
162の補足

これで駄目だったらCstrでhennsuuを型変換。
158氏は多分同じことを言っていると思う。
まぁ、無闇にVariant型は使うなと言うことだ。
165154:2007/05/22(火) 09:14:06
>>155
うん、「dbDecimal」ダメだた。。
>>156
わー、謎が解けたっ! ADO経由ね!! DoCmd.RunSQLメソッドで実行してたよ。。
ADO経由で「DECIMAL」型の項目作れた〜
とってもありがとん!!
166名無しさん@そうだ選挙にいこう:2007/05/26(土) 05:00:18
167名無しさん@そうだ選挙にいこう:2007/05/31(木) 02:54:13
168名無しさん@そうだ選挙にいこう:2007/05/31(木) 19:33:36
発売開始!!
体験版もでてるど

http://www.kthree.co.jp/2seihin/seihin_top.html
169名無しさん@そうだ選挙にいこう:2007/05/31(木) 20:11:37
極めて初歩的な質問なんですけど

サーバー側のODBCデータソースアドミニストレーターで設定をしてデータベースに接続する方法と
エクセルとかでVBAのMSADOライブラリを使ってデータベースに接続する方法、どっちがいいんでしょうか
それぞれ利点等教えてください
170名無しさん@そうだ選挙にいこう:2007/06/01(金) 00:08:44
ADOからODBCプロバイダ経由で接続、という方法もあるので、
レイヤー違いでそもそも比較になりません。
いったい何のためにそんな質問をしているのか、目的を明らかに
した方が適切な意見を得られやすいのでは。
171名無しさん@そうだ選挙にいこう:2007/06/03(日) 02:42:13
フォームヘッダから詳細へタブで移動することは出来ないの?
いちいちマウスを持ちかえるのが面倒です。
172名無しさん@そうだ選挙にいこう:2007/06/03(日) 14:39:22
F6キーじゃ不満か? Tabじゃないとイヤなのか?
173名無しさん@そうだ選挙にいこう:2007/06/04(月) 00:18:26
マウスを2つつなげて普通に使う用とヘッダから詳細へ移動用と使いわければ
いちいちマウスを持ちかえなくてすむよ
174名無しさん@そうだ選挙にいこう:2007/06/04(月) 00:21:17
持ち変えなきゃダメだろ
両手で持っているのか??
175名無しさん@そうだ選挙にいこう:2007/06/04(月) 03:17:29
>>172
うまくいきませんでした。
業務用ソフトでサブフォームがやたらといくつもある奴なんですけど、サブフォーム間の移動ってどうすればいいのでしょうかね?
176名無しさん@そうだ選挙にいこう:2007/06/04(月) 13:19:58
教えて下さい、1から100迄の数値の内、
5以下の数値を含むレコードを抽出したいのですが、
抽出条件に<5と入力すると、49以下が抽出されてしまいます。
177名無しさん@そうだ選挙にいこう:2007/06/04(月) 13:22:11
>>176
テーブル定義とデータ内容、
ACCESSのバージョン晒せ。
178176:2007/06/04(月) 13:34:42
>>177
定義、データー内容と言われたところで気づきました、
数値が入っているフィールドがメモ型でした;
ありがとうございました。
179名無しさん@そうだ選挙にいこう:2007/06/04(月) 13:35:18
>>178
退場してください
180名無しさん@そうだ選挙にいこう:2007/06/08(金) 03:42:41
レポートでプリンタアイコンをクリックすると「印刷」というダイアローグが出ないで直接プリントできますよね。
それと同じことをマクロかVBAでできますか?
181名無しさん@そうだ選挙にいこう:2007/06/08(金) 07:17:25
>>180
できる。よくみろ!!
182名無しさん@そうだ選挙にいこう:2007/06/08(金) 17:17:17
>>147-149って本当に馬鹿だな、氏ね
183名無しさん@そうだ選挙にいこう:2007/06/08(金) 17:48:10
ばりばりの桐の現役ユーザです
8ユーザ(同時使用)程度で販売管理システムを組んでます
今後ユーザが20人程度に増えるにあたり
速度的なものや安全性で限界を感じています

何かに乗り換えようと探しています
どの組み合わせがいいでしょうか





184名無しさん@そうだ選挙にいこう:2007/06/08(金) 18:26:14
>>183
8ユーザ(同時使用)はAccess じゃ無理
金払って専門業者に頼め
185名無しさん@そうだ選挙にいこう:2007/06/08(金) 21:26:38
>>181
PrintOut メソッド?
頑張ってみます。
186名無しさん@そうだ選挙にいこう:2007/06/08(金) 23:12:59
8ユーザ(同時使用)ともなると最適なソリューションは・・・ 桐しかないだろ
187名無しさん@そうだ選挙にいこう:2007/06/08(金) 23:53:10
>>186
だから
今、8ユーザーで桐使ってて
20に増えるからこまってるんだよ。

おれは素人だから何がいいかわからん。
すまそ。
188名無しさん@そうだ選挙にいこう:2007/06/09(土) 00:18:47
セブンイレブンのPOSレジが良いと思うよ。
189183:2007/06/09(土) 07:01:55
183です
全くの門外漢なので想像なのですが
MSDE+ACCESS+VBA ならいいのかなぁと思っているのですが

移行させていくにあたり、勉強を始めていくのに
大きな方向性を探りたくて・・・よろしくお願いします

ちなみに、今は8ユーザ使用中です
売上処理や入金処理がメインなので最大負荷はそれほどでも
ないと思います。ワークファイルに入力→[登録]ボタンで正テーブル
に書き込みとしていますので、登録処理がかぶった時が負荷がかかります

エクセルに限界感じた人はACCESSに行くと思います
ACCESSに限界感じた人はどうするのでしょうか?
190名無しさん@そうだ選挙にいこう:2007/06/09(土) 07:26:47
>>189
> MSDE+ACCESS+VBA

まぁ、方向性としては悪くないと思うよ。
191名無しさん@そうだ選挙にいこう:2007/06/09(土) 08:30:59
MSDE、8ユーザーでも全然無理
192名無しさん@そうだ選挙にいこう:2007/06/09(土) 10:20:29
>>189

で、20に増えるんでしょ?
そこ大事じゃね?
193183:2007/06/09(土) 12:14:31
>>192
10程度でもいいです
業務分割といった方法も考えますので
194名無しさん@そうだ選挙にいこう:2007/06/09(土) 12:16:41
>>191
その後のバージョンで状況が変わってるんなら、自分も知っておきたいので、
ぜひ根拠を示して反証を挙げてくれ。
ttp://www.akizuki.co.jp/book/default.htm
195名無しさん@そうだ選挙にいこう:2007/06/09(土) 13:07:24
>>181
ヒントをくれ!ググッても全然ヒットしないんだよ!
196名無しさん@そうだ選挙にいこう:2007/06/09(土) 13:21:03
SQL Server 2005 Express Edition でいいんじゃない?
197181:2007/06/09(土) 14:02:03
>>195
何故ググる必要があるんだ。Accessのヘルプで充分じゃないか。
Access2000なら、ヘルプの質問のところに印刷と入力して検索す
ると、レポートをフォームから印刷するってトピックが出てくる。
常にフォームからって必要はないんだから、マクロやVBAを要件
にあった使い方に変えればいいだけじゃないか。
198名無しさん@そうだ選挙にいこう:2007/06/10(日) 12:02:18
>>193
最初の8ユーザーにかなり近づいてきてないか?w
199名無しさん@そうだ選挙にいこう:2007/06/10(日) 12:21:28
Accessくらいで何威張ってるの?

ここの住人てマジ知的障害者だな、死ね
200名無しさん@そうだ選挙にいこう:2007/06/10(日) 12:27:36
Accessの同時使用は2人が理想、多くて3人までです。
201名無しさん@そうだ選挙にいこう:2007/06/10(日) 13:09:40
だから、小企業は桐にしとけ
大企業はオラクル
202183:2007/06/10(日) 13:31:06
>>198
そうですねw 10でバリバリ処理できれば
それから多少増えてもいいかなと思いまして


オラクルってそれだけではシステム組めるんですか?
フロントエンドには何を使うのですか?
203名無しさん@そうだ選挙にいこう:2007/06/11(月) 00:24:36
>>202
フロントエンドにAccessを使うことも可能です。
204名無しさん@そうだ選挙にいこう:2007/06/11(月) 00:45:57
オラクルにODBCでリンク張って作ってみたことあるけど
接続タイムアウト連発で正直使い物にならんかった
205名無しさん@そうだ選挙にいこう:2007/06/11(月) 01:13:28
AccessからならSQLServerの方が幸せ。
206名無しさん@そうだ選挙にいこう:2007/06/11(月) 05:49:40
>>204
ACCESS + OracleでODBCリンクテーブルは鬼門。
ネットワーク上に無駄なデータ流れすぎ。
207名無しさん@そうだ選挙にいこう:2007/06/12(火) 09:22:23
Accessくらいで、しかもPGで威張ってるな、うんこ製造機ども
208名無しさん@そうだ選挙にいこう:2007/06/12(火) 13:16:11
UNKO
209名無しさん@そうだ選挙にいこう:2007/06/13(水) 13:20:06
>>206
それってソースある?
今後のために調べておきたい。
210名無しさん@そうだ選挙にいこう:2007/06/14(木) 08:48:26
ソース、と言われてもなぁ。
ODBCトレースとかパケットキャプチャしてみれば
より具体的に分かると思うよ。
211名無しさん@そうだ選挙にいこう:2007/06/14(木) 16:02:42
ダブルクリックイベントを発生させる方法ってありますか?
ヘルプを探したんですけど、分からなくて。。。
sendkeysみたいな方法で出来ませんか?
212名無しさん@そうだ選挙にいこう:2007/06/14(木) 16:19:07
>>211
マクロじゃだめなん?
213名無しさん@そうだ選挙にいこう:2007/06/14(木) 16:41:47
>>212
どのアクションを使うのでしょうか?
214名無しさん@そうだ選挙にいこう:2007/06/14(木) 17:40:18
>>213
あ、何か勘違いしてました。すみません。
フォームのイべントと間違えた・・・
215名無しさん@そうだ選挙にいこう:2007/06/14(木) 23:56:27
>>211
Win32APIを使う。
216名無しさん@そうだ選挙にいこう:2007/06/15(金) 13:14:55
うんこを使う
217名無しさん@そうだ選挙にいこう:2007/06/15(金) 13:20:51
スカトロマニア キタ━━━━━━━━━(゚∀゚)━━━━━━━━━ !!!!!
218名無しさん@そうだ選挙にいこう:2007/06/15(金) 22:58:44
219名無しさん@そうだ選挙にいこう:2007/06/16(土) 11:09:10
ビチャビチャうんこビチャビチャうんこ
220名無しさん@そうだ選挙にいこう:2007/06/16(土) 16:37:59
すみません。
ACCESS2000のプログラムをランタイムで配布したいのですが、
現在ACCESS2003のランタイムを「VisualStudio2005ProMSDN」
を購入する事によって配布できるそうです。

しかしWindows98で使用することありACCESS2002のランタイム
を配布したいのですが、何か方法はありますでしょうか?
上記の方法でダウングレードが出来るのでしょうか?

教えてください。
221名無しさん@そうだ選挙にいこう:2007/06/17(日) 01:25:41
>>220
たしか2007からはランタイムは只になった。
なので、俺は2000からいきなり2007に移行しようかと考えている。
もう少し2007の評判を聞いてからにするけどな。
222名無しさん@そうだ選挙にいこう:2007/06/17(日) 08:55:57
友軍スレ
【I love Access】やっぱりアクセスが良い
http://pc11.2ch.net/test/read.cgi/db/1182004821/
223名無しさん@そうだ選挙にいこう:2007/06/18(月) 17:46:17
【 システム環境  . 】 Windows98, Access2000
【 VBAが使えるか .】 いいえ
【 VBAでの回答  】 否
【 検索キーワード 】 アクセス SQL REPLACE 等

アクセスでREPLACE関数を使いたいのですがうまくいきません。
オラクルよりデータを引き抜き、それをエクセルに出すと−が?
になってしまうため、一度アクセスにて−を-に置換するように
したいのです。

更新クエリにて
UPDATE テーブル SET フィールド =REPLACE([フィールド],'−','-');
など色々試していますが未定義エラーになってしまいます。
よろしければ教えて下さいm_m
224名無しさん@そうだ選挙にいこう:2007/06/18(月) 20:12:44
225名無しさん@そうだ選挙にいこう:2007/06/19(火) 17:47:56
>>224
横レスだが、これは知らなかった。いつもユーザ関数にして使ってた。
226名無しさん@そうだ選挙にいこう:2007/06/19(火) 21:50:52
access2002です。
今日、突然ヘルプが巨大化してしまいました。
余白が異常に大きく、本文の回りがほとんどグレーの領域になりました。
たまたまマルチディスプレーだったから気がつきましたが、シングルディスプレーだと一面グレーの状態です。
accessの修復、accessの再起動では治りませんでした。解決方法御存知の方御願いします。
227名無しさん@そうだ選挙にいこう:2007/06/19(火) 22:49:44
access2002 はサポート終了しています。
MSにお布施して2007をご使用ください。
228sage:2007/06/20(水) 09:54:22
access+odbc+mysqlの環境で、mysqlのフィールドを「longblob」にして
BMP画像をOLEオブジェクトに貼り付けて登録してるんですが、
なぜかBMP画像が同じファイルサイズ(30KBぐらい)でも16色以上だと表示
できません。
Initial StatementはSET CHARACTER SET BINARYにしています。

myODBC側の問題のようで微妙にスレ違いのような気がしますが、ご存知の方
いませんでしょうか?
229名無しさん@そうだ選挙にいこう:2007/06/20(水) 13:12:16
>>221
Access2007用のVSTOが必要なんだけど、これまだリリースされてないのでは?
230名無しさん@そうだ選挙にいこう:2007/06/20(水) 17:37:49
>>229
うん、そうだけどもうそろそろリリースされるはず。
231名無しさん@そうだ選挙にいこう:2007/06/20(水) 20:20:29
>>226
それAccessだけなの?
ヘルプファイル(ACMAIN10.chm)直接叩いても同じ?
232名無しさん@そうだ選挙にいこう:2007/06/20(水) 21:50:42
>>231
ヘルプファイルだけですね。
win2kを再起動したら治りましたので、証拠集めが出来なくなりました・・・
興味を持っていただいてありがとう御座いました。
233名無しさん@そうだ選挙にいこう:2007/06/22(金) 14:42:57
ウンコヘルプ ウンコヘルプ ウンコヘルプ ウンコヘルプ ウンコヘルプ 
ビチビチウンコ ビチビチウンコ ビチビチウンコ ビチビチウンコ ビチビチウンコ 
ビチビチウンコ ビチビチウンコ ビチビチウンコ ビチビチウンコ ビチビチウンコ 
ビチビチウンコ ビチビチウンコ ビチビチウンコ ビチビチウンコ ビチビチウンコ 
ビチビチウンコ ビチビチウンコ ビチビチウンコ ビチビチウンコ ビチビチウンコ 
ビチビチウンコ ビチビチウンコ ビチビチウンコ ビチビチウンコ ビチビチウンコ 
ビチビチウンコ ビチビチウンコ ビチビチウンコ ビチビチウンコ ビチビチウンコ 
ビチビチウンコ ビチビチウンコ ビチビチウンコ ビチビチウンコ ビチビチウンコ 
ビチビチウンコ ビチビチウンコ ビチビチウンコ ビチビチウンコ ビチビチウンコ 
234名無しさん@そうだ選挙にいこう:2007/06/22(金) 14:49:41
スカトロマニア キタ━━━━━━━━━(゚∀゚)━━━━━━━━━ !!!!!
235名無しさん@そうだ選挙にいこう:2007/06/22(金) 20:21:27
うるせーよビッチ!!
236名無しさん@そうだ選挙にいこう:2007/06/22(金) 21:37:59
ベタに残業時間などを処理してみようと思ったのですが、
Accessの時間型は、24:00以降は処理出来ないのですね。

Accessでは、24時以降の処理は、どうするのが一般的ですか?
237名無しさん@そうだ選挙にいこう:2007/06/22(金) 21:38:40
素直に桐にしときなさい
238名無しさん@そうだ選挙にいこう:2007/06/22(金) 21:50:39
オレの使ってるAccessは24:00以降もふつうに処理できているけどな。
24:00以後9000年くらいまで大丈夫。
239名無しさん@そうだ選挙にいこう:2007/06/22(金) 23:16:40
本当の日付日時を事実通りに記録しろ。

今日の25時まで残業したら退社日時は
"2007/06/22 25:00:00" じゃなくて
"2007/06/23 01:00:00" を登録する。

そして定時が5時なら "2007/06/22 17:00:00" との差をDateDiff()関数で求める。
240名無しさん@そうだ選挙にいこう:2007/06/23(土) 13:44:12
フィールド移動時の動作について質問です。
普段は、オプション→キーボードタブ→フィールド移動時の動作で「フィールドの最後に移動」を設定しています。
ただ、1つだけ、「フィールド全体を選択」で運用したいコントロールがありますが、どのように設定すれば可能でしょうか?
241名無しさん@そうだ選挙にいこう:2007/06/23(土) 13:48:11
イベント、キー送信コマンドで「フィールド全体を選択」するキー操作を送信する
ただ、Access はそこまで作り込まない方が良いよ
242名無しさん@そうだ選挙にいこう:2007/06/23(土) 14:15:04
>>240
フォーカス取得時イベントか、その辺で。

Private Sub txt1_Enter()
  txt1.SelStart = 0
  txt1.SelLength = Len(txt1)
End Sub
243名無しさん@そうだ選挙にいこう:2007/06/24(日) 15:00:26
【 システム環境  . 】 WindowsXP, Access2007
【 VBAが使えるか .】 はい
【 検索キーワード 】 access dropdown GoToControl

フォームでのことなんですが、コンボボックスについて「フォーカス取得時」 Me!○○.Dropudown 
としていて通常通り動くんですが、
条件付きで DoCmd.GoToControl "○○" で、移動してきた場合だけDropdownしないんですが
何か解決方法はありますか?
「間違いなくフォーカス取得時」のイベントになっていて、DoCmd.GoToControlはフォーカスを移動する
とヘルプには書いてあるのですが…。

ご教示願います。
244名無しさん@そうだ選挙にいこう:2007/06/24(日) 17:24:53
SetFocusメソッドに変えてみるとか。
それでダメなら教えてくれ。
2007にアップグレードしなかったことを自分に感謝するから。
245243:2007/06/24(日) 18:08:24
ありがとう。

DoCmd.GoToControl "○○"  を、 Me!○○.SetFocus にしても同じだった。
やっぱりドロップダウンしない。

アップグレードした俺の馬鹿!???
246名無しさん@そうだ選挙にいこう:2007/06/24(日) 18:19:39
MS相手取って、告訴。これ。
247243:2007/06/24(日) 18:55:05
http://www.kotaete-net.net/Default.aspx?pgid=14&qid=40127190425

同じような現象が出ているようです。もう少し調べて、ご報告いたいします。
なにかありましたら教えてください。
248名無しさん@そうだ選挙にいこう:2007/06/24(日) 18:58:39
.Dropdownを出すタイミングがダメっぽいね。

目的によっては無理かもしれないけど、イベントトリガーを
元コントロールのExitやAfterUpdateにしてみるとどう?
249名無しさん@そうだ選挙にいこう:2007/06/24(日) 19:14:44
【 システム環境  . 】 WindowsXP, Access2000
【 VBAが使えるか .】 はい
【 VBAでの回答  】 可
設計の問題としてご意見ください。
幅のある年の間で、特定の年の状態を抽出する方法というものを考えています。

例えばですが、
野球選手のAは1999年にヤクルトに入団、2005年に巨人に移籍、2007年に引退
Bは1995年に西武に入団、2003年に阪神移籍、2005年に巨人に移籍
Cは2000年にオリックス入団、2006年巨人に移籍

このようなデータがあり、テーブルにまず選手名、
もう一つのテーブルにチームと入った年(「加入年」)、出て行った年(「移籍年」)
(A選手なら西武/1995/2004、巨人/2005/2007)という感じで入力していき、
リレーションシップでつなぎました。

この状態で、例えば「2005年は誰がどの球団にいるか」というのが出てくるフォームが作りたいのです。
クエリなら、「加入年」と「移籍年」に「<=2005」「>=2005」とする事で2005年の状態が出てきますが
フォームでテキストボックスを作り、「2005」と数字を入力すれば
A選手/巨人/2005/2007
B選手/巨人/2005
C選手/オリックス/2000/2006
と出てくる、こんな感じにしたいのです。

そもそも設計の段階で間違っているのかなあという気もしないでもないですが
何か妙案がありましたらよろしくお願いします。
250243:2007/06/24(日) 19:22:31
>>248
えーとよくわからないのですが

AAAというテキストボックスに 1 が入力されている場合 BBB のテキストボックスを
入力後 CCC のテキストボックス入力を飛ばして ○○というコンボボックスをドロップダウンする。

AAAが 1 以外の場合、BBB CCC → ○○ と移動する。

こういう処理で、CCCのフォーカス取得時のイベントに AAA=1 の場合に DoCmd.GoToControl "○○"  
と書いているわけです。まぁ、BBBの更新後処理に入れても同じでした。

いずれにしても元コントロールのExitやAfterUpdateをイベントとリーガーにはできない感じです。

タグオーダー通りに進めばドロップダウンするので、ダミーのテキストボックスを一つつくってなにも
入力せずにエンターを押せば問題なく動くのですが(テスト済み)かっこ悪いですよね。

251名無しさん@そうだ選挙にいこう:2007/06/24(日) 19:31:57
>>249
一番簡単な方法は、テーブルを二つ作り

1、球団名テーブル・・・ID・球団名の2列
2、選手テーブル・・・ID・選手名・2000年在籍球団・2001年在籍球団・2002・・・・2030年在籍球団
             という長いテーブルをつくる。



252名無しさん@そうだ選挙にいこう:2007/06/24(日) 19:39:35
テーブルは、
[ID]、[年]、[選手名]、[移籍(入団)先球団名]

後は、
クエリ、フォームで頑張って工夫する

これが基本です。

253名無しさん@そうだ選挙にいこう:2007/06/24(日) 20:08:41
>>250
飛ばす側でDropdownさせてはいかんのか?
254名無しさん@そうだ選挙にいこう:2007/06/24(日) 20:39:46
シーズン中にも電撃トレードはあるけどその場合の年度はどうするの?
255253:2007/06/24(日) 20:40:49
連投で悪いけど、既定のタブオーダーが「AAA→BBB→CCC→コンボボックス」
だとしたら、別にフォーカス飛ばさなくても単に

Private Sub AAA_LostFocus()
  Me!CCC.TabStop = Nz(Me!AAA) <> 1
End Sub

でいいかもとオモタ
256名無しさん@そうだ選挙にいこう:2007/06/24(日) 20:51:59
>>254
すんません、説明が長すぎになってしまうので
単純化させた例えを書いただけですm(__)m
実際は「閏月」を含む100年単位のデータなので
量的にも>>251も毎年入力というのは現実的じゃないんですよね・・・
257名無しさん@そうだ選挙にいこう:2007/06/24(日) 21:05:37
>>252 のでいいと思うけど(自分は252じゃないが)。
なんか問題あるのか?
258名無しさん@そうだ選挙にいこう:2007/06/24(日) 21:11:10
【 システム環境  . 】 WindowsXP, Access2000
【 VBAが使えるか .】 はい

現在、業務で指示書はWORD文書、履歴はEXCEL文書を使用しています。
それぞれの文書に作業名やファイルパスなどを手入力するのが大変なので、なんとか自動化したいと考えているのですが、ACCESSを核にしてWORD、EXCELを操るなんてことが可能なのでしょうか。
259名無しさん@そうだ選挙にいこう:2007/06/24(日) 21:21:41
>>250

いやだからその例ならコレで目的は達成出来るんでないの?

Private Sub BBB_Exit(Cancel As Integer)

If Me.AAA = 1 Then
Me.○○.SetFocus
Me.○○.Dropdown
End If

End Sub

>>258
CreateObjectの説明とか見てみると良いかも。
でもAccessからアプリケーションを制御するのはあまり好きではないな。
260名無しさん@そうだ選挙にいこう:2007/06/24(日) 21:24:44
>>257
>>252は例えば2005年の状態を打ち込むって事ですよね?
元データが人物を単位としたデータ、つまり
「Aさんは○○年にどこにいて○○年にどこどこに移った」というデータなので
入力段階でフォーマットが違うんですよ
261名無しさん@そうだ選挙にいこう:2007/06/24(日) 21:48:12
派遣社員の派遣先管理とか、そういう用途なのか・・・?だったら

1社員1レコードの社員テーブル
1派遣先1レコードの派遣先テーブル
どの社員がどの派遣先にどの期間だけ派遣されるかの派遣契約テーブル

この3つに分けて管理するのが基本だと思う。
262名無しさん@そうだ選挙にいこう:2007/06/24(日) 22:21:41
>>260
何いってるか解らん
>>249 を書いたのはオマエじゃないのか?
263名無しさん@そうだ選挙にいこう:2007/06/24(日) 22:24:52
>>260
> 「Aさんは2000年に巨人に入団、2006年に阪神に移籍」というデータなので

2000,A,巨人
2006,A,阪神
2002,B,ロッテ
1996,C,ダイエー
2005,B,西部
264名無しさん@そうだ選挙にいこう:2007/06/24(日) 22:43:14
すんません、>>252は最初は>>263みたいに入力するのかなと最初思ったんですが
それでだとわからないので、>>251みたいに入力しろと
>>252は言っておられるのかなと思って>>260みたいな解釈になったんっす

>>263だと、たとえば2003年の状態を知りたい時に
Aに関しては「2000」と「2006」しか情報入力されてませんよね?

実際は
A 巨人 2000〜2005
A 阪神 2006〜
B ロッテ 2002〜2004
B 西武 2005〜
C ダイエー 1996〜

っていう幅のあるデータなので、>>263のように入力したときに
その幅のあるデータの中をどうフォームで1回の入力で
抽出するかそれがわからないんです


265名無しさん@そうだ選挙にいこう:2007/06/24(日) 22:53:01
>>264
基本は >>252 だよ

[選手名:A]でフィルタ掛けて、[年]<<2003 とし、その最大年をとれば、[球団名:巨人]と出るだろ
それをスマートに行なう方法を頑張って考えろ
266257:2007/06/24(日) 22:56:59
カブるけど。

>>260
> 入力段階でフォーマットが違うんですよ

入力フォーマットとテーブル構造と出力フォーマットは
必ずしも合わせる必要はない。
一緒なら話は早いが、一緒じゃなくても適切にマッピング
すればいいだけ。
そもそも、だからこそ >249 で設計がどうこう言い出したん
じゃないのか?

野球選手を例に出してるから、言いだしっぺもワケ分かんなく
なってるのかもしれないが、これが商品の入出庫だったら
「商品Aが○○年に入庫して××年に出庫した」なんて在庫期間
情報を1レコードで格納するのは、決して一般的とは言えないだろ?
入庫で1レコード、出庫で1レコードが基本。
遷移後の状態をその時点で記録すれば、途中経過は取れる。

>263 が親切に書いてくれたように、
> 2000,A,巨人
> 2006,A,阪神
でいいのだ。
2004年時点の状態が欲しかったら、<=2004で抽出して、選手名で
グループ化した最大年度(Max)を取ればいい。そのレコードが
2004年時点のステータスになる。

>251 のは正規化をあきらめた状態で、設計のあり方を論じている
ときには意味がないけど、現場ではそうするしかない場合もあるので
別に否定しない。ただ煮詰まってそうなっちゃいましたってのは
しょうがないと思うけど、いきなりそこ行くのは早えーよw
267名無しさん@そうだ選挙にいこう:2007/06/25(月) 01:04:21
Access2000です。
すごく基本的なことなんですが…

フィールドサイズはMDBのファイルサイズに関係あるんでしょうか?
テキスト型でサイズを10にしたものと255にしたものの
2種類のデータベースを作ってみましたが、ファイルサイズは同じでした。
それぞれを最適化して比べてもやはり同じでした。

Accessのフィールドサイズには、単に入力制限の意味しかないんでしょうか?
268名無しさん@そうだ選挙にいこう:2007/06/25(月) 07:33:16
データ入れてってみたら。
269名無しさん@そうだ選挙にいこう:2007/06/25(月) 08:11:42
>>258
できる。OLEオートメーションを勉強しる。
270名無しさん@そうだ選挙にいこう:2007/06/25(月) 19:42:05
ユーたちaccess2007使っちゃいなよ。
サイコーだよ
271名無しさん@そうだ選挙にいこう:2007/06/25(月) 20:09:19
2007はパーソナルな製品
住所録作成用途
272名無しさん@そうだ選挙にいこう:2007/06/25(月) 20:11:24
>>267
可変長テキスト型のフィールドサイズは、そう。
つまり、ファイルサイズと関係ありません。
実質、入力制限の意味しかないです。

ttp://support.microsoft.com/kb/94221

可変長テキスト型以外の場合は、意味があります。
273249:2007/06/25(月) 20:14:43
お手数おかけして申し訳ありませんm(__)m

>>265-266を参考にさせていただき、
あとの入力を考えて、「IDと選手名のテーブル」と
「IDと選手番号とチーム名と加入年」のテーブルを作って
前者のIDと後者の選手番号をリレーションシップで連結、
その上でクエリで「加入年、選手名、チーム名」と並べてみました。

その上で、
>2004年時点の状態が欲しかったら、<=2004で抽出して、選手名で
>グループ化した最大年度(Max)を取ればいい。そのレコードが
>2004年時点のステータスになる。

との事なので加入年の抽出条件で「<=2004」を入力すると
この段階では選手名の重複が起きますよね。

ここで、「選手名でグループ化した最大年度(Max)を取ればいい」は
「Σ」を押して「集計」を表示させた上で「グループ化」を選択するということでしょうか?

あやしいのは「最大」かな?と思っていじっていますがうまくいきません。
目指すところに近かったのは、「集計」を「最小」にし、
なおかつ「チーム名」を削って「選手名」と「加入年」だけにすると
目指しているところである「選手名が一つだけ」になりました。
もちろん、これだと「加入年」が一番早い年になり意味ありませんが、
逆に「最大」にすると、リストが一つも表示されませんでした。
(「>」「<」と「最大」「最小」を逆にしても一緒でした)

「選手名でグループ化した最大年度(Max)を取ればいい」の部分について
自分は何か根本的に勘違いしているようですね間違っているようですね。
もう一度ご教授お願い出来ませんでしょうか。
274名無しさん@そうだ選挙にいこう:2007/06/25(月) 20:20:52
>>270
主キー以外のオートナンバー型フィールドをnullで更新できる上に、
その状態で最適化すると全レコードが吹っ飛んだり、レポートの
開く時イベントでテキストボックスのコントロールソースをセットすると
強制終了するようなバージョンを普及させるのは、大変でしょうね。
宣伝乙。
275名無しさん@そうだ選挙にいこう:2007/06/25(月) 20:21:57
>>273
最初から桐でやったら?
簡単だよ
276名無しさん@そうだ選挙にいこう:2007/06/25(月) 20:55:54
>>273
入団年、退団年フィールドを持つ、とかじゃだめなの?
277名無しさん@そうだ選挙にいこう:2007/06/25(月) 21:02:04
>>273

SELECT
 T選手.*,
 T在籍.チーム名
FROM
 T選手,
 T在籍,
 (SELECT
  T在籍.選手番号,
  Max(T在籍.加入年) AS 加入年の最大
 FROM
  T在籍
 WHERE
  T在籍.加入年<=[何年?]
 GROUP BY T在籍.選手番号
 ) as T1
WHERE
 T選手.選手番号=T1.選手番号 And
 T選手.選手番号=T在籍.選手番号 AND
 T在籍.加入年=T1.加入年の最大;
278名無しさん@そうだ選挙にいこう:2007/06/25(月) 21:35:53
>>273
君には桐を勧める
279名無しさん@そうだ選挙にいこう:2007/06/25(月) 21:41:03
>>272
ありがとうございます。
可変長とか固定長とかよく知りませんでした。

Accessのテキスト型では可変長しか存在しないんでしょうか?
だとすると、常に255のサイズを確保しておいた方が何かと便利
ということになるんでしょうか?
Accessで直接作業するわけではなくて、Webアクセスで
ASP+Jetエンジンで使おうと思っています。
280名無しさん@そうだ選挙にいこう:2007/06/25(月) 21:48:55
>>275=>>278
281名無しさん@そうだ選挙にいこう:2007/06/25(月) 21:51:03
>>280
君にも勧めるよ
282名無しさん@そうだ選挙にいこう:2007/06/25(月) 22:18:15
>>279
255で定義したら必ず255の長さを占有して無駄だから可変長にする方法はないのか?
という質問ならまだ理解できるんだけど、実際にはそうじゃないし・・・

逆に聞きたいんだけど、なんで固定長で定義する方法にこだわるの?
283258:2007/06/25(月) 22:26:06
追加質問です。すみません
VBAでアプリケーション操作せずに、参照で勝手に値が入るなんてことは可能でしょうか?
エクセルで他のセルの値を参照するみたいなイメージで、
EXCELやワードで作業番号(主キー)を記入したらACCESSの中から必要な情報が勝手に出てくるみたいなことです
284272:2007/06/25(月) 22:42:30
>>279
> Accessのテキスト型では可変長しか存在しないんでしょうか?

いえ。固定長も存在します(Accessに、というよりJetに、ですが)。
ただテーブルのデザインビューから選んで作れるのは可変長だけです。
固定長テキスト型フィールドを作りたい場合は、SQL文を流す必要が
あるので、一部の開発者を除き一般ユーザーにはなじみが薄い型では
ないかと思われます。

> だとすると、常に255のサイズを確保しておいた方が何かと便利
> ということになるんでしょうか?

それは考え方次第なので、何とも。
入力桁数を制限できるから必要最小限のサイズにした方がいい
という人もいるでしょうし、軽量化に貢献しないなら目一杯
取っといた方がラクじゃんと考える人もいるでしょうし。
285名無しさん@そうだ選挙にいこう:2007/06/25(月) 23:14:03
>>283
ExcelからAccessに接続するだけじゃん。もちろん可能。
286名無しさん@そうだ選挙にいこう:2007/06/26(火) 00:03:02
>>282
書き方が悪かったようですが、ファイルサイズが同じになるなら
固定長で定義しようとは思っていません。
調べてみても、可変長の方が速くて長さも自動的に拡張されるので
便利というふうに書いてありましたし…。
>>272さんの解釈で合ってます。

>>284
なるほど。よく分かりました。
ありがとうございました。
287名無しさん@そうだ選挙にいこう:2007/06/26(火) 09:48:56
どなたかヒントでも良いので教えてください。
QRコードを印刷しよう思い、ttp://www.bbjapan.com/~yutaka/useful/QRCODE/
のDLLを利用させてもらって以下のようにしてクリップボードへ画像を入れたのですが
Private Declare Function MakeQR Lib "QRCODE.dll" _
(ByVal Version As Long, _
ByVal ErrorLevel As Long, _
ByVal Magnify As Long, _
ByVal BD As String) As Long ' Version=QRコードの大きさ(1-40), ErrorLevel=1-4, magnify=倍率, BD=data

Private Sub printQrCode()
Dim rc As Long
rc = MakeQR(3, 2, 2, "test") ' MakeQRでQRコードがクリップボードに入る。

このあとこのクリップボードの画像をole(でいいよね)へコピーするには
どうすればよいでしょう?
288243:2007/06/26(火) 18:18:19
>>259さんの

 If Me.AAA = 1 Then
 Me.○○.SetFocus
 Me.○○.Dropdown
 End If

End Sub

は、「コントロールがフォーカスを取得していない」ので実行時エラー2185がでます。

289名無しさん@そうだ選挙にいこう:2007/06/26(火) 18:25:12
AccessをWebアプリケーションで使いたいんですが、
Jet4.0の最大ユーザー数が255というのはどういうことなんでしょうか?
255というのは何の数なんでしょうか?

最大ユーザー数をプログラム側でコントロールするには、
同時に開くConnectionオブジェクトの数を制限すればいいんでしょうか?
290名無しさん@そうだ選挙にいこう:2007/06/26(火) 20:59:14
255厨乙

こりゃ先が長そうだ・・・
291名無しさん@そうだ選挙にいこう:2007/06/26(火) 21:29:48
>>255
>288 で華麗にスルーされたようだw
292名無しさん@そうだ選挙にいこう:2007/06/26(火) 22:42:44
255厨って?
293名無しさん@そうだ選挙にいこう:2007/06/26(火) 23:13:37
>>288
Private Sub BBB_AfterUpdate

 If Me.AAA = 1 Then
  Me.○○.SetFocus
 End If

Exit Sub

Private sub ○○_Enter
 If Me.AAA = 1 Then
 Me.○○.Dropdown
 End If

End Sub

でもだめ?
294名無しさん@そうだ選挙にいこう:2007/06/27(水) 17:59:00
>>293
それだといけます。
まぁ実際はどちらにしてもドロップダウンしたいので

Private sub ○○_Enter
 If Me.AAA = 1 Then
 Me.○○.Dropdown
 Else Me.○○.Dropdown
 End If

End Sub

という、わけワカメなんですがんですが・・・。
295名無しさん@そうだ選挙にいこう:2007/06/27(水) 18:30:11
PGなんかビチビチウンチ 
PGなんかビチビチウンチ 
PGなんかビチビチウンチ 
PGなんかビチビチウンチ 
PGなんかビチビチウンチ 
PGなんかビチビチウンチ 
PGなんかビチビチウンチ 
PGなんかビチビチウンチ 
PGなんかビチビチウンチ 
PGなんかビチビチウンチ 
PGなんかビチビチウンチ 
296名無しさん@そうだ選挙にいこう:2007/06/27(水) 20:14:15
>>289

要はjetのユーザー管理するデータ長がが8ビットあると言うだけの話。

1ビットはON、OFFの2通りで、8ビットでは2の8乗で、0から255(符号なしの場合)の
256通りの表現が出来る。

これで「255」の説明はいいか?
297名無しさん@そうだ選挙にいこう:2007/06/27(水) 21:09:18
【 システム環境  . 】 WINDOWSXP ACCESS2000SP4
【 VBAが使えるか .】 はい
【 VBAでの回答  】 可
【 検索キーワード 】 ACCESS 処理速度

SQLサーバー上のデータ20万件を取り込みを行っていて
SQLサーバーのデータでORACLEのマスターを参照し、
ACCESSのワークテーブルにデータを落とすといった処理を行っているのですが
速度がかなり遅く使い物になりません。
SQLサーバーORACLEにはADO接続でデータを取得し
ワークテーブルはDAOでレコードセットをつくり取込を行っております。
最初はスピードが速いのですが件数が増えるにつれて取り込み速度が遅くなってきます。
ワークテーブルには主キーをつけてなく一意のチェックも行っていないはずですが、
速度が改善しません。繰り返し使う項目に関しては変数に取り込んでから行ったり
レコードセットは前方向のみにしたりといったように速度改善したのですが、
効果がありません。どうすればこれ以上のスピードを出せますか?
最初は分間700件受け入れれてるのですが2万件ぐらいいくと分間100件ぐらいに
落ち込みます。
298名無しさん@そうだ選挙にいこう:2007/06/27(水) 21:11:08
バージョン間違えました。
WINDOWSXP ACCESS2000SP3でした。
SQLサーバーは2000SP4 ORACLEは10Gです。
299名無しさん@そうだ選挙にいこう:2007/06/27(水) 21:37:27
>>298

複合的な理由そうなので、一概には答えられない。
恐らくネットワーク経由だと思うが、

・立ち上がりは早くて徐々に速度低下はネットワークにはつきもの(実感として)
・PCの性能も関係しそう。特にメモリ周り。
ACCESS自体はあまりメモリ量に左右されないが(速度上昇はCPUがモノをいう)、
ネットワーク経由ならばどうかはわからん。

などなど、とにかく問題の切り分けが必要じゃないか?
300名無しさん@そうだ選挙にいこう:2007/06/27(水) 22:12:35
>>296
ありがとうございます。

Jetの「ユーザー」というのは何を指すんでしょうか?
セッションの数なのかコネクションの数なのか…
それが分かればプログラムで制御できるような気がするので。
301名無しさん@そうだ選挙にいこう:2007/06/27(水) 22:27:22
こりゃ先が長そうだ・・・
302名無しさん@そうだ選挙にいこう:2007/06/27(水) 22:54:17
恐れ入ります。
【 システム環境  . 】 WindowsXP, Access2003
【 VBAが使えるか .】 いいえ
【 VBAでの回答  】 否

物品管理(棚卸し)のためのデータベースを作成しようと奮闘中です。
「5月4日:70個入荷」のように個数に変動があれば理由を記入します。
定期的な棚卸し時には「「5月10日:棚卸し確認」等を現品票に記入しています。
そこで不明点なのですが、データを入力する際、ひとつのレコードに対して過去に入力した
フィールドのデータを残すような設定にしたいのですが方法がいまいちわかりません。
303名無しさん@そうだ選挙にいこう:2007/06/27(水) 23:11:35
>>302
直近の入力値を既定値にする「設定」はない。
どうしてもそうしたければそうなるようにVBAでコーディングする。
304名無しさん@そうだ選挙にいこう:2007/06/28(木) 00:17:04
1000〜2000文字くらいのメモ型フィールドを検索対象にする場合、
このフィールドにインデックスは設定するべきですか?
その場合、容量やパフォーマンスにはどのくらい差があるのか
分からなくて困ってます。
305名無しさん@そうだ選挙にいこう:2007/06/28(木) 00:54:03
>>304

メモ型は使わんので解らんが、一言で言うならば
「自分で試してみろ」だ。
予想では、インデックス張ったところで、多分意味はないと思うが。
306名無しさん@そうだ選挙にいこう:2007/06/28(木) 13:04:19
【 システム環境  . 】 WindowsXP, Access2000
【 VBAが使えるか .】 はい
【 VBAでの回答  】 どちらでも

Dim strsql As String

strsql = "UPDATE t_mappass SET t_mappass.MAPPASS = '""\" & Forms!地図新規登録フォーム!mappass.Value & "'" & _
" WHERE (((t_mappass.MAPPASSCD) = " & 1 & "));"


としてクリック時にフォームに入力されたパスをt_mappassのMAPPASSに上書きしています

例えばパス
\\admin\data
などと入力すると
テーブルに\admindata
c:\data
などだと
c:data
と\マークがところどころ消えてしまいます。

イミディエイトでは
strsqlの内容はきちんと\が出るのですが、、、

宜しくお願い致します。
307名無しさん@そうだ選挙にいこう:2007/06/28(木) 13:32:31
strsql = "UPDATE t_mappass SET t_mappass.MAPPASS = '" & Forms!地図新規登録フォーム!mappass.Value & "'" & _
" WHERE (((t_mappass.MAPPASSCD) = " & 1 & "));"

でした。申し訳ありません。引き続き宜しくお願い致します
308名無しさん@そうだ選挙にいこう:2007/06/28(木) 15:00:18
>>307

2002だと再現しないね。ちゃんと\も書き込まれるよ。
と言うことなのでSQL自体には問題なさそう。
2000自体に問題があるのかもね。
ここで質問するのだから、最新パッチは当てているよね。
これは質問者側の最低限のマナーだと思うぞ。
あと、どうでもいいが、パスはPATHな。
309名無しさん@そうだ選挙にいこう:2007/06/28(木) 16:51:08
>>308
返信有難う御座います。
パッチは全て当てています。
お伝えし忘れていましたが、データベースはmysqlでodbc接続をしています。
ADOで実行していますがINSERT文なら\は消えないのです、、。

宜しくお願い致します。
310名無しさん@そうだ選挙にいこう:2007/06/28(木) 18:07:43
こやつめ、ハハハw
311名無しさん@そうだ選挙にいこう:2007/06/28(木) 18:19:41
きんたまのあつまりでつ
きんたまのあつまりでつ
きんたまのあつまりでつ
きんたまのあつまりでつ
きんたまのあつまりでつきんたまのあつまりでつきんたまのあつまりでつきんたまのあつまりでつ
312249:2007/06/28(木) 19:47:40
おそくなりましてすいませんでした

>>277を参考にがんばってみましたがSQLが不勉強なため
エラーが出たりしてうまくいきませんでした。

ただ、いろいろ試してみたところ、単純に「チーム名」の集計を
「最後」にすれば、グループの最後、つまり一番最新の所属チーム名が
表示されるので結果的にOKになりました。

「桐でやれ」の意見ももっともなので白状しますと
大学の先生に学生がバイトでデータを入力するための
ひな形を作って欲しいと頼まれた物でAccessをご指名なんですよ
まだ正式に頼まれた状態じゃないのでどういう資料かまだ目を通してませんし
もしかしたら「兼務」の状態が出てくるかもしれないので
その場合はやっぱり終わる年の入力も必要になってきますね
まあここまで出来たらあとはなんとかなると思うのでがんばります。

問題は、実際には江戸時代のデータなので「閏月」とか入って
数値が少々複雑になることなんですけどね・・・w

とにかくありがとうございましたm(__)m
313名無しさん@そうだ選挙にいこう:2007/06/29(金) 01:23:49
江戸時代のプロ野球選手年鑑の研究てどんな大学なんだ・・・
314名無しさん@そうだ選挙にいこう:2007/06/29(金) 05:42:24
ちょwww
315名無しさん@そうだ選挙にいこう:2007/06/29(金) 13:40:30
睾丸 睾丸 睾丸 睾丸 睾丸 睾丸 睾丸 睾丸 睾丸 睾丸 睾丸 
睾丸 睾丸 睾丸 睾丸 睾丸 睾丸 睾丸 睾丸 睾丸 睾丸 睾丸 
睾丸 睾丸 睾丸 睾丸 睾丸 睾丸 睾丸 睾丸 睾丸 睾丸 睾丸 
睾丸 睾丸 睾丸 睾丸 睾丸 睾丸 睾丸 睾丸 睾丸 睾丸 睾丸 
316名無しさん@そうだ選挙にいこう:2007/06/29(金) 21:20:02
>>312
> 「最後」にすれば、グループの最後、つまり一番最新の所属チーム名が
> 表示されるので結果的にOKになりました。

いや、それOKじゃないだろ。

[ACC2000] First および Last 関数が期待どおりのレコードを返さない
http://support.microsoft.com/kb/208190/ja

フラグメンテーションが発生しないよう神頼みのDBなんてヤだ。
317名無しさん@そうだ選挙にいこう:2007/06/29(金) 21:28:08
柔軟な処理は桐にしとけよ
318名無しさん@そうだ選挙にいこう:2007/06/30(土) 10:20:56
家計簿の様なソフトでで毎月の決まり切った入力(家賃や子供の学費等)をボタン一つで自動的にテーブルに流し込むのが有りますよね。
あれを実現している手法を教えてください。
只会社業務で未だに97を使っているところがあるので97でも実現できる方法でしたら更に嬉しいです。
319名無しさん@そうだ選挙にいこう:2007/06/30(土) 10:35:11
>>318
追加クエリ
320名無しさん@そうだ選挙にいこう:2007/06/30(土) 10:50:30
>>318
イベントプロシージャからVBAマクロをコール、
マクロ側でINSERT文を投げる、って方法もあるが。

まぁ、追加クエリの方が構造シンプルだし良いと思うよ。
321名無しさん@そうだ選挙にいこう:2007/06/30(土) 15:35:39
それこそ桐の得意分野なのに、残念だね。
322318:2007/07/01(日) 09:18:38
>>319
>>320

ありがとうございます。 もっと難しい方法ばかりで考えて巧くいってませんでした
お恥ずかしい・・・
323249:2007/07/01(日) 18:48:50
>>316
ホントだ・・・・・・orz

もっと単純な話、例えば2000年広島、2005年阪神、2010年中日として、
入力を2000広島、2010中日、2005阪神とやっちゃうと
最後が「阪神」になっちゃって意味ありませんね

う〜ん、もう一度>>277を見直してがんばってみます・・・・
324名無しさん@そうだ選挙にいこう:2007/07/01(日) 19:01:11
同時にアクセスしたら壊れるという話がありますが、
それは更新の話ですか?
読み取りだけなら大丈夫ですか?
325名無しさん@そうだ選挙にいこう:2007/07/01(日) 20:58:59
>>324
参照専用なら平気。
326名無しさん@そうだ選挙にいこう:2007/07/01(日) 21:00:28
>>325
サンクスです。
327名無しさん@そうだ選挙にいこう:2007/07/02(月) 14:23:40
accessのファイルに勝手にパスワードロックがかかってしまいます。もちろん自分で設定した
覚えもないのでパスワードなんかわかりません。ファイルが開けなくて困っています

状況は、
・まずWordのファイル上にハイパーリンクが埋めてあって、そこからACCESSの
 ファイルを呼んでいます。
・で、アクセスのファイルはLinuxサーバ内にあります。
・ワードファイルは自分のデスクトップにあります。

で、アクセスのファイルをワード上のハイパーリンクから呼んで編集して閉じると、
今度はそのアクセスのファイルがアクセスで開けなくなっています。

環境はOS:WinXP、ACCESS,Word:OfficeXP

ややこしくて済みませんが、なにとぞよろしこ
328名無しさん@そうだ選挙にいこう:2007/07/02(月) 14:35:47
>>327
パスワードロックって、Accessのじゃないんじゃまいか?
Accessのパスワードがかかるなら怪現象だけど。
329327:2007/07/02(月) 14:41:56
>>328 早速スマンぽ

1.ワード(の上のハイパーリンク)から
2.他のPC(サーバ)上のファイルを
アクセスしている事が問題をややこしくしています。

だからワードがいたずらしているのか、Windowsのユーザー権限が
いたずらしているのかも見当つきません。
ただ、アクセスで開こうとするとパスワードがかかっています。

自分のPC環境はOS:WinXP、ACCESS,Word:OfficeXP
開きたいアクセスファイルはLinuxサーバ(redhat8)上です
330名無しさん@そうだ選挙にいこう:2007/07/02(月) 14:44:01
>>329
その情報で、他の人がわかると思わないんだけど、とりあえず、Linux上のファイルをWindows
上に移して、Wordのリンク先もそれに合わせてみれば?
これで問題ないなら、スレ違い。
331327:2007/07/02(月) 14:47:32
>>328 スマン。今発言の意味を理解した。

しかし、アクセスで開こうとしているからアクセスかWindowsかどっちかかな
ダイアログの絵をアップします

http://www-2ch.net:8080/up/download/1183355162229487.EBtNbO
332名無しさん@そうだ選挙にいこう:2007/07/02(月) 14:59:20
>>331
画面みますた。Linux関係なさそうですね。
まとめると、
・直接開くとパスワードを聞かれる。
・Word経由だと聞かれない。
なのでしょうか。
それとも、一度パスワードを聞かれると、Wordからも開けない?
333327:2007/07/02(月) 15:02:38
>>332 反応有難うございます

>・直接開くとパスワードを聞かれる。
>・Word経由だと聞かれない。

そのとおりです。

>>331の画像のとおり「データベース パスワードの入力」て
なっているので、アクセスだと思い込んでおります。
しかし、accessのバージョンが2002(XP)なので、暗号化(2007の
排他モードで開く)でもあるまいし、と思って悩んでおります。
334名無しさん@そうだ選挙にいこう:2007/07/02(月) 15:03:15
>>327
Wordファイルはパスワード掛けてねーの?
335327:2007/07/02(月) 15:04:44
>>334
無いです。ワードもアクセスも一切かけてないでやんす。
336名無しさん@そうだ選挙にいこう:2007/07/02(月) 15:29:55
うちでsambaサーバたててOffice2003で実験してもたけど、怪現象おこらず。
337327:2007/07/02(月) 15:57:47
>>336 わざわざスマンぽ

しっかし即サーバ立てて実験なんてスキルありますな。

ところで、>>331のダイアログはアクセスのじゃないんすかね?
338名無しさん@そうだ選挙にいこう:2007/07/02(月) 16:05:22
長々と質問してしまったけど、その怪現象はバグですな。
http://support.microsoft.com/kb/322860/ja?spid=1266&sid=1364
でみつけますた。
339327:2007/07/02(月) 16:38:14
>>338
すげぇ! ありがとう!ありがとう!ありがとう!
アラシと思われない程度に100回ぐらいありがとうと言いたい。

他に付き合ってくれた人たちもありがとうございました。
340名無しさん@そうだ選挙にいこう:2007/07/02(月) 16:39:24
>>334
の人以外は、ぜんぶ俺orz
341名無しさん@そうだ選挙にいこう:2007/07/02(月) 21:48:55
キレイにオチもついてて軽く和んだw
342名無しさん@そうだ選挙にいこう:2007/07/03(火) 20:13:06
アクセスを勉強中なのですが、詰まってしまったので質問させて下さい。

フォームに5つのテキストボックスと1つのボタンを配置し、データを検索できるようにしようと考えています。
テキストボックスは入力された箇所をAND条件にし、空白の部分は指定なし(*)として検索という風にしたいのですが、
どうすれば良いのでしょうか?
データ項目はABCDEとして、表示するレコードのデータ項目もこの5つです。
ttp://www.nbcom.co.jp/PC-Support/FAQ/acc/ht/acc112004ht001.shtml
ググってみたらこのようなページを見つけたので試してみましたが、駄目でした。
Aの抽出条件を[Forms]![検索フォーム]![A]とし、他は全てIs Nullにしてクエリを実行してAのみに検索キーを入力してみても、
その値が正しくても何も出てきません。
もしもこれで上手く出来たとしても、検索に利用できる項目が5つもあると抽出条件を入力する欄が足りなくなると思うのです。
低レベルな質問で申し訳ないのですが、どのようにすれば良いのか宜しくご教示下さい。
343342:2007/07/03(火) 20:35:21
あー、もしかしてクエリの抽出条件でIs Nullを使うと、「検索キーが無かったとき」ではなくて「テーブルのデータがNullのものを抜き出す」という事になるのでしょうか?
一体どうしたらいいんだ・・(´д`)
344名無しさん@そうだ選挙にいこう:2007/07/03(火) 20:41:07
>>342
VBAでフィルターをかけるのはどうだろ?

テキストボックスA〜EがA〜Eに対応するとして

dim aaa as strring, bbb as string, ccc as string, ddd as string, eee as string

aaa = "A Like '*"
If IsNull(テキストボックスA) Then
aaa = aaa & "'"
ElseIf Not IsNull(テキストボックスA) then
aaa = aaa & テキストボックスA.Value & "*'"
End If

で以下bbb〜eeeまで同じように作る

Me.Filter = aaa & bbb & ccc & ddd & eee
Me.FilterOn = True

というイベントプロシージャを検索用ボタンのクリック時のイベントに入れる。

注意
Likeなので完全一致ではないので注意
データがテキスト型の対応なので、日付なんかだと変わってくるので注意
345名無しさん@そうだ選挙にいこう:2007/07/03(火) 20:42:39
>>342
とりあえず>>1を見てやりなおしておくれ。
346名無しさん@そうだ選挙にいこう:2007/07/03(火) 23:20:37
>>342
ケータイからなんでイメージだけなんですが、検索ボタンクリック→各テキストボックスでISnull判定してフラグをたてる→フラグが立っているテキストボックスの入力値の前後に「*」を付け足してWHERE句を作って表示じゃダメかなぁ

そもそも国語的におかしな文章でスマ
347名無しさん@そうだ選挙にいこう:2007/07/04(水) 00:30:04
348名無しさん@そうだ選挙にいこう:2007/07/04(水) 15:28:06
>>342
単純だけど、クエリの条件に

項目A(の条件)
LIKE "*" & NZ([Forms]![検索フォーム]![A],"") & "*"

以下項目Eまでフォームの参照先が変わる以外は同様

これだと「語を含む」なので
前後の "*" は「前方一致」、「後方一致」の時は片方でOK
(どちらかは必要なので >>344 さんと同じく「完全一致」は無理だけど)
349342:2007/07/04(水) 18:50:49
皆さんどうもありがとうございます!返事が遅くなってすみません・・・
一応>347のやり方で上手く動きました。
工夫次第で色々なやり方があるんですね。勉強になりました!
350名無しさん@そうだ選挙にいこう:2007/07/05(木) 21:43:01
くだらない質問ですいません。おつきあいをお願いします。

Accessで作ったアプリケーションを
Accessの入っていないPCでも
動作するのでしょうか?
351名無しさん@そうだ選挙にいこう:2007/07/05(木) 21:50:37
>>350
ACCESSランタイムインストール汁
352名無しさん@そうだ選挙にいこう:2007/07/06(金) 00:36:53
353名無しさん@そうだ選挙にいこう:2007/07/06(金) 00:42:52
リレーションシップの考え方がいまいち分かりません
たとえば[顧客情報]と[売上]でテーブルを分けずに
1つのテーブルに[顧客情報]と[売上]が入ってるものを作るのはよくないのはなぜなんでしょうか?
同じ顧客情報を何回も打ち込むのが面倒だからってことでいいんですか?

極端にテーブルを切り分けるのはわけ分からなくなるとも聞きますし
そのあまり変化しないデータは別テーブルにするってのの妥協線というか区切り線はどこなんでしょうか?
354名無しさん@そうだ選挙にいこう:2007/07/06(金) 00:45:48
>>353
妥協するな。斬って斬って斬りまくれ!
355名無しさん@そうだ選挙にいこう:2007/07/06(金) 00:54:45
>>353
> 妥協線というか区切り線はどこなんでしょうか?
己の胸にきけ!
356名無しさん@そうだ選挙にいこう:2007/07/06(金) 06:53:53
>>353
>>354のいうように一回完全に正規化しろ。
その上で戻すテーブルを検討しろ。
357名無しさん@そうだ選挙にいこう:2007/07/06(金) 07:32:12
まったくこれだからAccess使いは…
「正規化」で勉強せい。第3まででいいからね。
358353:2007/07/06(金) 07:46:10
ありがとうございます正規化勉強してきます
359名無しさん@そうだ選挙にいこう:2007/07/06(金) 08:03:53
>同じ顧客情報を何回も打ち込むのが面倒だからってことでいいんですか?
その顧客情報が変わったら同じ顧客情報を探して全部書き換えなければいけなくなるでしょう?
それでは非常に効率が悪くなります。別にしておけばそんなことはなくなります。

>妥協線というか区切り線はどこなんでしょうか?
意味の無いテーブルの切り分けをしないということでいいんじゃないでしょうか?
360名無しさん@そうだ選挙にいこう:2007/07/08(日) 18:04:24
2007のランタイムは無償らしいがまだ出ていないの?
361名無しさん@そうだ選挙にいこう:2007/07/08(日) 19:07:07
一度出たが、バグ修正のため公開停止中だ。
直ったら再公開するだろ。
362名無しさん@そうだ選挙にいこう:2007/07/08(日) 22:28:01
リストボックスの項目の1つに、日付があるのですが、この日付の部分のソースは、
「yyyy/mm/dd hh:nn」となっているのですが、リストボックス上でだけ、hh:nnだけ表示するには
どうしたら良いでしょうか?
363名無しさん@そうだ選挙にいこう:2007/07/09(月) 03:26:17
今買うとすれば03と07のどっちがいいんでしょう?
作ったファイルを配布する予定なので、ランタイムのことが気になります。
07のランタイムの公開をあてにして07購入でいいのか
03を買ってVisualStudioなんとかを一緒に買うべきか。

07が完全上位互換なのか。
03のランタイムも無償になるのか。
07は出たばかりなのでバグとかが少し心配。
そもそも07ランタイムはいつになるのか。

364名無しさん@そうだ選挙にいこう:2007/07/09(月) 07:50:48
>>362
クエリとFormat関数を使う。
365名無しさん@そうだ選挙にいこう:2007/07/09(月) 09:50:48
>>363
未来のことは誰にも分かりません(><;)
366名無しさん@そうだ選挙にいこう:2007/07/09(月) 20:09:59
フォームにカレンダーコントロールを配置したのですが、
他の人のパソコンで、カレンダーをクリックすると
「イベントがありません云々〜」のメッセージが表示されてしまいます。
ネットでも調べてみたのですが、原因がわからず。。。
(カレンダーコントロールがインストールされていないのかな?)
誰か、エラーの回避方法をご存知でしたら教えてください。
よろしくお願いします。
367名無しさん@そうだ選挙にいこう:2007/07/09(月) 21:23:12
>>366
モジュールのツール=>参照設定を見て同じになっているかどうか?
たぶんこれだと思う。
368名無しさん@そうだ選挙にいこう:2007/07/10(火) 00:00:15
開発マシンや運用マシンが変わるたびに問題出るのに
カレンダーコントロール好きなやつ多いよな・・・
369名無しさん@そうだ選挙にいこう:2007/07/10(火) 00:53:02
ユーザが好きなの知ってるからだな。
カレンダーついてると、手で入れる方が早いのに、カレンダークリックする。
キーボードよりマウス。これがライトユーザの常識。
370名無しさん@そうだ選挙にいこう:2007/07/10(火) 06:00:33
ADOのことで、調べたけどどうしても分かりません…。
どなたかお願いします。

ConnectionのExecuteでSQLを実行すると、どういうロックになるんでしょうか?
その時のロックの型は指定できないんでしょうか?
371名無しさん@そうだ選挙にいこう:2007/07/10(火) 07:19:01
367さん
ありがとうございます。
参照設定はすでに確認をしていて、同じになっているのです。。。
どうしよう、しょんぼり。
372名無しさん@そうだ選挙にいこう:2007/07/10(火) 13:07:47
>>371
フォームのコピペとか、コントロールのコピペとかしたらVBAが変な動きになることがあるから、
コピペしたあとのコントロールとかフォームのプロパティからイベントが有効になってるか
確かめてみた?
イベントのプロパティが「[イベント プロシージャ]」ってなってなかったら、VBAのソースが記述されてても動かんよ。
そーいうときは「クリック時(例えば)」→「[イベント プロシージャ]」選択→右の「...」ボタンクリックしたら
VBAのソースが有効になる。

ま、VBA使ってなかったら関係ないだけど。
373名無しさん@そうだ選挙にいこう:2007/07/10(火) 19:49:17
>>371
ocxのバージョンは同じになっている?
374名無しさん@そうだ選挙にいこう:2007/07/10(火) 20:20:00
371です。
アドバイスありがとうございます。
使用する人は隣の部署の2名なので、
「エラーが出たらカレンダーコントロールを差し替えましょう・・・」
ということになりました。
コントロール自体には、VBAの記述はしていないので、そちらの方が早いということで。

色々ありがとうございました!!

もっと勉強して出直してきます。
375名無しさん@そうだ選挙にいこう:2007/07/10(火) 22:35:01
フォームを開いている時に、Accessのガワというか、Application自体を
閉じるボタンなどで閉じられるのを阻止したいのですが、どのような処理を
したら良いでしょうか?
376名無しさん@そうだ選挙にいこう:2007/07/10(火) 23:20:50
オーバーラップ
377名無しさん@そうだ選挙にいこう:2007/07/11(水) 23:27:32
>>375
Win32APIを使って、×ボタンを無効化する。
組み方まで知りたかったら、ネット検索してください。
常套手段みたいなもんで、ゴロゴロ転がってます。
378名無しさん@そうだ選挙にいこう:2007/07/11(水) 23:31:58
>>375
2007ならxmlで指定出来るでしょ
379名無しさん@そうだ選挙にいこう:2007/07/11(水) 23:32:02
375検討して気づいたけどAccessってApplicationイベント無いのな。
API使えば親ウィンドウ消してなんちゃってアプリケーションにも出来るね。
380名無しさん@そうだ選挙にいこう:2007/07/12(木) 01:15:50
>>370ですけどここのスレの方は誰もご存じないですか?
別の場所で聞いた方がいいですかね…。
381名無しさん@そうだ選挙にいこう:2007/07/12(木) 04:54:31
>>380
ヘルプ読めばわかる事何日待ってんだよw
ロック指定したければRecordsetなりCommandなりどうぞ。
ttp://msdn.microsoft.com/library/ja/jpado260/htm/mdmthcnnexecute.asp
382名無しさん@そうだ選挙にいこう:2007/07/12(木) 14:18:07
>>381
そこも読んだんですけどよく理解できませんでした。
Executeのロックの型は何なんでしょうか?
383名無しさん@そうだ選挙にいこう:2007/07/12(木) 20:33:17
>>382

おいおい、謙虚なのはいいけどもう少し体系的に理解した方が良いんじゃないか。

>返された Recordset オブジェクトは常に読み取り専用で、
>前方スクロール タイプのカーソルです。

読み取り専用 = adLockReadOnly = 1
これで良い?
384名無しさん@そうだ選挙にいこう:2007/07/12(木) 21:07:27
>>383
すいません。ExecuteでINSERT文やUPDATE文やDELETE文を実行する時の
ロックの型が分からないんです。
読み取り専用なのに更新できるんでしょうか?
385名無しさん@そうだ選挙にいこう:2007/07/12(木) 21:58:42
255厨乙

こりゃ先が長そうだ・・・
386名無しさん@そうだ選挙にいこう:2007/07/12(木) 22:24:22
>>384
そういう事か。
直接DML叩くならレコードセットのロック制御は関係ないんだから
ロック型はプロバイダのネイティブなトラン処理次第じゃないか。
Executeメソッド自体にロック型の概念は無いとしか言えん。
387名無しさん@そうだ選挙にいこう:2007/07/12(木) 23:08:36
>>386
分かりました。そっちで指定します。
どうもありがとうございました。
388名無しさん@そうだ選挙にいこう:2007/07/16(月) 21:55:09
起動時にログイン画面を作って、ユーザ別に処理させるアプリを作る場合、
現在操作しているユーザIDは、どのように保持しているのが一般的ですか?
つーか、フローバル変数に格納しっぱなしってくらいしか思いつかないです…。
389名無しさん@そうだ選挙にいこう:2007/07/17(火) 00:08:40
>>388
別にいいんじゃない、それで。
ただエラーハンドリングし損なって実行時エラーになると
グローバル変数がブッ飛ぶから、テーブルに退避/復元の
ロジックは入れておいたほうが無難とは思うけど。
390名無しさん@そうだ選挙にいこう:2007/07/17(火) 12:58:46
【 システム環境  】 Windows 2000&XP, Access2000
【 VBAが使えるか 】 はい
【 VBAでの回答  】 可
テキストボックスやコンボボックスにDate型の値を表示するとき、
コントロールの書式に「日付 (標準)」を指定しても「yyyy/mm/dd hh:nn:ss」を指定しても
時刻だけが1桁のとき左にゼロ埋めされないっす。

年月日と分や秒は1桁のときちゃんと左にゼロ埋めされるんだけど、なんで?


回避しようとしたら、いちいちDate型をFormat関数使ってString型にしたあとセットしなきゃいけないんかな。。
391名無しさん@そうだ選挙にいこう:2007/07/17(火) 18:30:16
オンメモリー型」DBソフト市場が急成長・民間調べ
 コンサルティングのアイ・ティ・アール(ITR、東京・中野、内山悟志社長)は13日、データベース(DB)ソフトの国内市場動向を発表した。
2006年度の市場規模は出荷金額ベースで767億円。大企業を中心とした需要で、前年度比7.9%増の堅調な伸びを示した。
07年度も同程度の伸びとなる見込み。

 「オンメモリー型」と呼ぶ新種のDBソフトが高い伸びを示した。
ハードディスク駆動装置(HDD)よりも格段に高速なメモリー上にデータを置くことを前提に処理を最適化したDBソフトで、
06年度の市場規模は前年度の2倍強の15億円に達した。07年度も40%増の21億円に拡大すると予測する。

[2007年7月17日/日経産業新聞]
392名無しさん@そうだ選挙にいこう:2007/07/17(火) 20:05:46
>>390
以前調べたけど、バグ的仕様な様子。
Windowsの地域オプションをHH:mm:ssに変えれば目的は達成出来るけど、影響範囲がね。
393390:2007/07/18(水) 09:35:44
>>392
お返事ありがとう。
そだ、地域オプション変更でも実現できるね、影響おっきいけど。
やっぱりバグすか、2007では改善されてるのかな・・・きっとされてないだろな。。
394名無しさん@そうだ選挙にいこう:2007/07/18(水) 21:13:29
すみません質問です。
【 システム環境  . 】 WindowsXP, Access2007
【 VBAが使えるか .】 はい

AccessでSQLサーバーのデータベースにあるファイルのリンクテーブルを
ODBD(データソース)を使い作成したのですが、ローカルでは参照できるのですが
他のパソコン(同じワークグループ内の)では参照できません。
どうすれば他のパソコンから参照できますか?
395名無しさん@そうだ選挙にいこう:2007/07/19(木) 02:27:24
SQLサーバーのデータベースってWindows2000 or 2003 Server版なのか?
396394:2007/07/19(木) 05:36:55
2003server版です。
397名無しさん@そうだ選挙にいこう:2007/07/19(木) 06:19:26
SQLサーバーのVersionは?
398名無しさん@そうだ選挙にいこう:2007/07/19(木) 06:35:02
>>394
実はMSDE2000でTCP/IPからの接続が拒否されてるとかwww
399名無しさん@そうだ選挙にいこう:2007/07/19(木) 07:26:51
>ローカルでは参照できる

現象をイメージ化できない。「参照できる」とはどういう意味なんだ?

400名無しさん@そうだ選挙にいこう:2007/07/19(木) 18:26:31
>>394
単純に別PCでODBCデータソースの設定してないか
ローカル(←いまいちピンとこないけど)の設定と違ってるからじゃね?
そんな気がする。
あとは Windows認証ではねられてるとかいったセキュリティ関係か。
401名無しさん@そうだ選挙にいこう:2007/07/19(木) 22:13:31
>>399
馬鹿は発言すんなよ
402名無しさん@そうだ選挙にいこう:2007/07/19(木) 23:10:44
403名無しさん@そうだ選挙にいこう:2007/07/25(水) 17:57:13
うんこ投げるぞ、このやろう
404名無しさん@そうだ選挙にいこう:2007/07/25(水) 17:58:51
スカトロマニア キタ━━━━━━━━━(゚∀゚)━━━━━━━━━ !!!!!
405名無しさん@そうだ選挙にいこう:2007/07/25(水) 20:29:50
明日大学のシステム設計論のテストでAccessの問題が出るのですが、
以前出された問題の回答がもらえませんでした。
問題と自分の答えをここにうpすれば採点や添削はしていただけますでしょうか(´・ω・`)
406名無しさん@そうだ選挙にいこう:2007/07/25(水) 20:37:22
その問題がおもしろいかどうかによるだろうなw
しかしシステム設計論でAccessとは…
407名無しさん@そうだ選挙にいこう:2007/07/25(水) 20:47:47
問題
http://www.uploda.org/uporg922894.pdf.html

俺の答え
http://www.uploda.org/uporg922901.doc.html

問題は基礎っぽいので特に面白くもないと思いますが、
俺の答えは面白いと思います…(´・ω:;.:...
どなたか是非とも宜しくお願い致します。
408名無しさん@そうだ選挙にいこう:2007/07/25(水) 21:46:11
>>407
35点
409名無しさん@そうだ選挙にいこう:2007/07/25(水) 21:57:49
特定メーカーの特定ソフトの扱い方が出題対象になるって
大学っていうより専門学校だな・・・
410名無しさん@そうだ選挙にいこう:2007/07/25(水) 21:58:55
>>408
ありです。思っていたより良い点数だ。
簡単にでいいので、答えとか書いて頂けたら助かります。単位取れます。
411名無しさん@そうだ選挙にいこう:2007/07/25(水) 22:00:13
>>409
いや、これは講義内容の一部なので、
大半はシステム設計についてぼちぼち話しておられました。
412名無しさん@そうだ選挙にいこう:2007/07/25(水) 23:37:49
なんだこのSQL、この記法で正常に認識される?

とりあえず設計
ビデオテーブルの主キーはどちらかというとタイトル番号。
バーコード(タイトル番号)から検索する要件がいくつかある。

って細かいつっこみでいいのかと思ったら…

ビデオテーブル、貸出し開始日が無いじゃねーかw
会員テーブル、会員番号が無いじゃねーかw
突っ込みどころ多すぎて(ry
413名無しさん@そうだ選挙にいこう:2007/07/26(木) 00:24:51
>>412
問題自体にもちょっと問題があるんですか。
返事くれてありがとう。テストは明日なのでがんばって寝ます。
414名無しさん@そうだ選挙にいこう:2007/07/26(木) 10:19:05
どばどばうんこー
415名無しさん@そうだ選挙にいこう:2007/07/26(木) 21:07:14
DAOのTableDefs.Countでエクセルのシート数を持ってこようとすると、
シート数が2倍になった値が入ってくるんですが
何か考えられる要因ってありますか?(現在は2で割った値で使用)

かと思えば無いはずのシートが1つ多くカウントされたり(+1の2倍)、
それが原因で何故か参照済みのシートが余分に参照されてしまいます。
奇妙なのが、1〜12までで並んでいるのに3番目が参照されます。

例えばエクセルのシート数が12だったら24、
同じ形式の別データでは何故かシート数12が26に。
インターネット検索、デバック、人に聞いたりもしてみましたが、
一向に解決できません。何か見落としがあるのだとは思いますが。

ACCESS2000を使っていますが、2007でも同様の現象が起こります。
同様データを何個か使用したのですが、2倍は必ず、+1は稀に発生します。
参照設定はDAO3.6を使っています。何か思い当たる節があればお願い致します。
416名無しさん@そうだ選挙にいこう:2007/07/26(木) 21:08:34
すみません、ageさせて頂きます。
417名無しさん@そうだ選挙にいこう:2007/07/26(木) 22:22:42
仮にシート名がSheet1〜12だったとして、その場合のTableDef.Nameはそれぞれどうなってるの?
418名無しさん@そうだ選挙にいこう:2007/07/26(木) 22:32:15
その場合、$Sheet1〜$Sheet12
と、TableDefs.Nameは正常に取り出せます。
$を抜いてシートネームだけを取り出すように調整してあるので、
TableDefs.Nameは実際は定義した変数に押し込む形で
Sheet1〜Sheet12と、現状では表示されるようになっています。
419名無しさん@そうだ選挙にいこう:2007/07/26(木) 22:53:05
いや、だから TableDefs.Count が26の場合、Tabledef(0).Name から Tabledef(25).Name の
26個ぶんの名前がそれぞれどうなってるのか知りたいんだけど・・・
420名無しさん@そうだ選挙にいこう:2007/07/26(木) 23:10:23
失礼、その場合、
Sheet1〜12はそのままで、13個目はSheet3,
それ以降は未確認です。
質問をしておいてこれは問題ですね、申し訳ありません。
自宅に持ち帰れないためすぐに確認はできませんが、
少なくとも中身はありました。
÷2をしない時に、EXCELファイルのシートのデータカウント時に、
倍程の値がカウントとして出てきました。

2倍になる地点でおかしいと感じていたのでそこにばかり気を取られていました。
ご指摘の部分は大事な(おそらく最低限気にすべき)ポイントですよね。お恥ずかしい・・・。
421名無しさん@そうだ選挙にいこう:2007/07/27(金) 00:53:09
対象のブックに名前が定義されているのに気付いてないだけじゃない。
テーブル名の末尾に「$」が付くのが本物のシートで、付かないのは名前。
Excel開いて[挿入]-[名前]-[定義]見てみ。
422421:2007/07/27(金) 01:00:50
>>418
> $を抜いてシートネームだけを取り出すように調整してあるので、

抜いた後の値を見てるから見分けがつかんのだ。
抜く前の生の値をイミディエイトウィンドウに流してみれば、すぐに違いが分かる。




まあ、関係なかったら許せ。
423名無しさん@そうだ選挙にいこう:2007/07/27(金) 14:59:06

うんこ うんこ うんこ うんこ うんこぉぉぉぉぉぉぉぉぉぉぉーーーーーーーーーー
424名無しさん@そうだ選挙にいこう:2007/07/27(金) 15:39:48
>>421 >>422
ありがとうございます。
少し解決の希望の光が見えてきました。
試してみます。また、なんか進展あったら報告します。
425名無しさん@そうだ選挙にいこう:2007/07/27(金) 18:19:31
うんこおーーーーーーーーーー
426名無しさん@そうだ選挙にいこう:2007/07/27(金) 19:08:57
まだ漏らしてないのか?



ガマン強いな。
427415:2007/07/30(月) 21:37:02
すっきり解決とまでは行きませんでしたが、
原因として、以下の2点が判明しました。

まず、シート名全文を抜き出すと、
後ろにprint_titlesという文字が出ました。
何故かは未だにわからない状態なのですが、
タイトルが設定されているとシートが2重に認識されてしまうようです。
これはタイトルを削除することによって解決しました。

もう一つは、シート後ろに"_"の表記。
どうやら、オートフィルを一度使うと、解除や削除をしても
見えない同名のシートが残ってしまうようです。

こちらは解決方法が見つからなかったので、
VBAでうまく調節しました。

シートを全表示しても、原因の見えないシートは確認できませんでした。
多分、バグ等ではなく、知っていれば解決できる種類の問題なんだとは思うのですが、
今の自分ではよくわかんないので、バグにしか思えないです(^^;
なにはともあれ、ありがとうございました。
428名無しさん@そうだ選挙にいこう:2007/07/31(火) 08:11:00
>>427
(君のカキコ)よく読んでないので、こちらの経験だけ伝える
ことになるんだけど、自分の場合は同じ現象に遭遇したこ
とが一度もない。Access-Excelの連携で使うようになった
のはOffice95からだけど。
原因究明にはならないが、OLEでExcelを操作するのはダメ
なの?
429名無しさん@そうだ選挙にいこう:2007/07/31(火) 09:11:59
>>OLEでExcelを操作するのはダメなの?

これしかやったことないならそりゃ同じケースには遭遇しないだろ・・・
430名無しさん@そうだ選挙にいこう:2007/07/31(火) 11:17:06

ドバドバうんこー

うんこ うんこ うんこおおおおおおおおおおおおおおおお
431名無しさん@そうだ選挙にいこう:2007/08/01(水) 08:13:17
>>429
オマエ、バカか。OLEのExcel操作しかやったことないなんて
どこに書いてるんだ。回避したいなら、OLEでどう?ってだけ
だろう。
432名無しさん@そうだ選挙にいこう:2007/08/01(水) 18:15:08
どなたか教えてください。

【環境】
windows98、Me、XpHpme混在のLANで
NAS(バッファローHD−H160LAN) \\192.168.0.30/share/に
access2002のmdbファイルをおいて各パソコンから操作していました。

windows vista home basicパソコンにaccess2002をインストールして
LANに参加させてこのmdbファイルを開けようとしたところ、

「ファイルを開けません。
このファイルは、イントラネット外または信頼されていないサイトに保存されています。
セキュリティ上問題がある可能性があるため、ファイルを開きません。
ファイルを開くには、ローカル コンピュータまたはアクセスできるネットワークの
保存場所にいったんコピーしてください。」 とメッセージが出て、あけられません。

ttp://www.accessclub.jp/bbs3/0139/superbeg47686.html
を参考にして、
1. Internet Explorer で、[ツール] メニューの [インターネット オプション] をクリックし、
2. [セキュリティ] タブで [イントラネット] をクリックし、[サイト] をクリック、
3. [詳細設定] をクリックし、[次の Web サイトをゾーンに追加する] ボックスに
  192.168.0.30を入力しました。
4. [追加] をクリックし、[OK] を 2 回クリックします。[OK] をクリックして
   [インターネット オプション] ダイアログ ボックスを閉じ、
5. コンピュータを再起動。
しかし、やはりvistaからあけられないのです。
いろいろ試したのですが、わかりません。
よろしくお願いします。
433名無しさん@そうだ選挙にいこう:2007/08/01(水) 18:52:31
ぱっとみセキュリティのレベルが怪しいと思った。
でも自信ないや。
434名無しさん@そうだ選挙にいこう:2007/08/01(水) 21:28:16
>>431
逆に聞くが、OLE以外のエクセルデータの扱いも熟知してるなんてどこに書いてあるんだ。

OLEのExcel操作なんてエクセルのインスタンスが別に起動するから遅いし重いし
VBAコードのOLE操作中に人間の余計な操作がバッティングするだけで
期待した通りの結果が得られない可能性があるしで、はっきり言って最低の選択肢。

それでもOLE操作を薦めるというなら考えられる理由は2つしかない。
「それ以外では実現負荷」か「それしか知らない」のどちらかだが
元質問者の書き込みの内容から前者の可能性はありえない。
よって理由は後者だと判断できる。

「OLEのExcel操作しかやったことない」とは書いてなくても
結果としてそう書いてあるのと一緒なんだよ。

わかった?
435名無しさん@そうだ選挙にいこう:2007/08/01(水) 21:55:54
誰もそんな事聞いちゃいない。
436名無しさん@そうだ選挙にいこう:2007/08/01(水) 22:31:04
>>433
432です。
IEのセキュリティレベルですか?
437427:2007/08/01(水) 23:42:52
>>428
ネット検索しても同様のケースが見つからなかったので、
ローカルな部分で環境に問題があるのかもしれません。
というのも、仮想的にOS環境を作ってその中で作業をしていたり、
配布されたツールでEXCELファイルを作成しているので、
特有な原因で、この問題が発生している可能性も否定できないからです。
なので、>>428さんが類似したロジックを組んでもおありでも、
その場合は発生しないような現象なのかもしれません。

正直、根本的な解決は諦めました。今回はこういうもんだと割り切ります。

あまり知識がないのでわからないのですが、OLEで同じ結果が得られるのなら、
次回、似たような成果物を作成したい時は、使ってみたいと思います。
なかなか、VBAは癖があって難しいですね。ありがとうございます。
438427:2007/08/02(木) 00:06:45
誤字失礼・・・。
439名無しさん@そうだ選挙にいこう:2007/08/02(木) 00:09:14
>>437
そのブック、データとプロパティの個人情報全部消して炉だに上げられないの?
440名無しさん@そうだ選挙にいこう:2007/08/02(木) 08:35:06
>>434 は自分は知ってるんだぞって誇示したいだけでは。。。
441432:2007/08/02(木) 10:00:18
432です。自己解決しました。
ショートカット新規作成で項目の場所に
\\HD-HLAN504\share\目的ファイル名
で行けました。
442名無しさん@そうだ選挙にいこう:2007/08/02(木) 16:02:36
もりもりおーーーーーーーもりうんこおおおおおおおおおお

うんこ、うんこ、うんこおおおおおおおおおおおおお
443名無しさん@そうだ選挙にいこう:2007/08/02(木) 16:47:49
>>434
御託ならべるのはよそでやれ。
444名無しさん@そうだ選挙にいこう:2007/08/02(木) 20:06:11
ものすごく初歩的な質問で恥ずかしいのですが、どなたか教えてください。

フォームにテキストボックスをN個 配置しました。
テキストボックス名は、txt_1 〜 txt_nです。

各テキストボックスに値=Xを入れていきたいので、

dim i
Dim CtrlName

i=1
for i= 1 to n
CtrlName = "txt_" & i
Me.CtrlName = X
Next

というように記述したのですが、上手くいきませんでした。
こんな質問内容で申し訳ないのですが、教えていただけると助かります。
よろしくお願いします。
445名無しさん@そうだ選挙にいこう:2007/08/02(木) 20:20:03
>>444
me( "txt_" & i) = X
でOK
446名無しさん@そうだ選挙にいこう:2007/08/02(木) 22:34:48
>>434はもうちょっと口の利き方なんとかならんかとは思うが
意見は別に間違ってないだろ。

エクセルのデータを扱うのに脊髄反射でOLEが出てくるのは素人。
447名無しさん@そうだ選挙にいこう:2007/08/03(金) 01:24:09
>>444
dim i
Dim CtrlName

i=1
for i= 1 to n
CtrlName = "txt_" & i
Me.CtrlName = X <-----------------間違い
Next

[正]
Me.Form(CtrlName) = x
448名無しさん@そうだ選挙にいこう:2007/08/03(金) 01:36:07
>>445の方が簡潔か?
449名無しさん@そうだ選挙にいこう:2007/08/03(金) 02:04:06
[正]
Me.Form.Form.Form.Form.Form.Form.Form.Form.Form.Form.Form.Form.Form(CtrlName) = x
450名無しさん@そうだ選挙にいこう:2007/08/03(金) 07:18:56
444です。
皆さんありがとうございます!
早速試してみます。
451428:2007/08/03(金) 08:38:24
>>434
残念ながら、OLE以外でも操作してるんだなぁ。Office連携だけじゃなく
C/C++/C#からとかも。
原因解明にはならないけど、そのような問題起きないはずだよってこと
でOLEとカキコしただけなので。
452名無しさん@そうだ選挙にいこう:2007/08/03(金) 22:49:33
やっと正式公開されたAccess2007Runtime版を試してみた。
・英語版なので当然システムメッセージは英語。
・もちろんフォームやレポート上の文字列などは日本語でも無問題。
・住所入力支援(郵便番号変換)に必要なモジュールは含まれていないが、
 ttp://www.microsoft.com/downloads/details.aspx?familyid=45192822-FBA7-49E6-B220-09BB32250EB3&displaylang=ja
 を入れれば使えるようになる。但し、WordやExcelなどの他のOfficeアプリも
 全くインストールされていない環境だとインストーラーがエラーで止まるので
 レジストリのHKLM\SOFTWARE\Microsoft\Office\12.0\Comon\InstallRootに
 文字列値Pathを新規作成し値にC:\Program Files\Microsoft Office\OFFICE12\
 をセットすればインストールが可能となる。
・Form_CurrentでComboBoxのRowSourceをセットするようなコードがあると
 そのフォームを開いたときに「the stored procedure executed successfully,
 but did no return 〜」のメッセージが表示された。コードの該当箇所を
 コメントアウトしてみるとメッセージは表示されず。SetWarning=Falseでも
 表示さえれなくなるが、RowSourceへのセット→再クエリの直後にSetWarnig
 をTrueに戻すとやっぱりメッセージが表示されてしまった。RowSourceのセット
 が原因で発生しているようだが、メッセージの発生トリガは別のタイミング
 ぽい。とりあえず当該フォームロード時にSetWarning=False、クローズ時に
 SetWarning=Trueで逃げた。
453名無しさん@そうだ選挙にいこう:2007/08/04(土) 12:29:25
>>451
わかったわかった、そういうことにしといてやるよ。

まあ人様に真っ先に薦めるのがOLEオートメーションな奴は素人だがw
454名無しさん@そうだ選挙にいこう:2007/08/04(土) 13:17:10
>>452
レポ乙!
455名無しさん@そうだ選挙にいこう:2007/08/05(日) 19:23:23
【商品テーブル】
グループ 商品
1 A
1 B
1 C
1 D
1 E
2 A
2 C

上記のようなテーブルがあった場合、下記の結果を得るにはどのようなSQLを発行したらよいのでしょう?
SQLだけでは無理?

【出力】
グループ 商品1 商品2 商品3
1 A B C
2 A C

1グループに3商品ある場合、4商品目以降は無視してよい
456名無しさん@そうだ選挙にいこう:2007/08/05(日) 19:26:28
あるフィールドの値が一定値以上なら1、未満なら0とするクエリってどのようにしたらつくれますか?
クエリ作成のときにif文って使えませんよね・・・
457名無しさん@そうだ選挙にいこう:2007/08/05(日) 19:58:08
>>456

例)SELECT (FIELD>=10)*-1 FROM TABLE

こんな感じのQUERYを作ればよい。
458名無しさん@そうだ選挙にいこう:2007/08/05(日) 21:01:12
>>455
transform
 First(Q.商品) as 商品
select
 Q.グループ
from
 (
 select
  "商品" & Count(*) as 列見出し,
  T.グループ,
  T.商品
 from
  商品テーブル as T,
  商品テーブル as T1
 where
  T.グループ=T1.グループ and
  T.商品>=T1.商品
 group
  T.グループ,
  T.商品
 having
  Count(*)<4
 order by
  T.グループ,
  Count(*)
 ) as Q
group Q.グループ
pivot Q.列見出し;


>>456
select *, -(F1>=10) from T1
459名無しさん@そうだ選挙にいこう:2007/08/05(日) 22:20:54
group に by が必要では?
460名無しさん@そうだ選挙にいこう:2007/08/05(日) 22:21:21
>>456
Trueの値が永久に-1という保証はないんで、自分ならこうする。

SELECT IIf(F1>=10, 1, 0) FROM T1

F1は数値型でNull値はないという前提だけど・・・
461名無しさん@そうだ選挙にいこう:2007/08/05(日) 22:40:47
これならF1がNull値でもおkでつ

SELECT IIf(NZ(F1)>=10, 1, 0) FROM T1
462458:2007/08/05(日) 23:55:10
>>459
手打ちでミスった。
dクス
463名無しさん@そうだ選挙にいこう:2007/08/08(水) 15:17:17
レポートのテキストボックスに、「店情報」テーブルの「店名」フィールドの値を表示したいのですが、
テキストボックスのコントロールソースプロパティにはどんな設定をすればよいのですか?

レポートのレコードソースはすでに他のテーブルが入ってしまっています。
「店情報」テーブルには1レコードしかデータは入っていません。
464名無しさん@そうだ選挙にいこう:2007/08/08(水) 17:06:00
>>463
エスパーしてみる。
「店情報」テーブルには、キーとなる「店ID」や付随情報の「店名」
「住所」「電話番号」などのフィールドがあるものと予想した上で。

店情報を表示したいテキストボックスをコンボボックスに変換し、
・コントロールソースを「店ID」に設定
・値集合ソースを「Select 店ID、店名 From 店情報テーブル」に設定
・列数を「2」に設定
・列幅を「0cm」に設定
これで「店ID」は表示されず「店名」が表示される
465463:2007/08/08(水) 17:46:01
>>464
そのまま試してみましたが、パラメータの入力と出てきて、できませんでした・・・
[店情報]![店名] とかでもいけるのかと思ったけど、できないし。
もう少しがんばってみます。
466463:2007/08/08(水) 18:13:22
自己レスです
DLookup 関数を使ってできました
467:2007/08/09(木) 09:28:17
テスト
468名無しさん@そうだ選挙にいこう:2007/08/14(火) 00:11:09
市販品のソフトをあれこれいじっています。
イベントのプロパティーを見るとプロシジャーでもマクロでもない、「 =hoge([変数]) 」というのがありますが、なんですか?
VBEで開くとPUBLIC FUNCTIONというのがわかりますが、=マークでイベントプロパティーに割り当てるなんて記述は僕のもっている谷尻さんの本にも
他の本にも書いてないので教えてもらえますか?
469名無しさん@そうだ選挙にいこう:2007/08/14(火) 01:11:17
470名無しさん@そうだ選挙にいこう:2007/08/14(火) 01:53:37
>>469
ありがとうございます。
僕の持っている教科書には全くそんな記載がないので困っていました。
きちんとした教科書が少ないですね。
471名無しさん@そうだ選挙にいこう:2007/08/14(火) 22:52:26
ACCESS2000(OSはウィンドウズ2000)ですが、
一つのファイル内に複数のテーブルがある状態で、
あるテーブルのフィールドに入れたデータが他のテーブルのフィールドにも反映されるような仕掛けって、
何かないでしょうか?
472名無しさん@そうだ選挙にいこう:2007/08/15(水) 00:26:47
>>471
他のテーブルに反映される仕掛けって同じデータが自動的に入るようにするってこと?
これは出来るかという前に基本的にやってはいけないことになるのだけど?
同じデータが複数あるということになると、ひとつを変えると他も全部変えなければいけない。
それは整合性という面でもパフォーマンスの面でも望ましくないことなので極力避けるというのが普通だと思う。
同じデータはひとつにして、必要に応じてデータをリンクすることにより処理するというのが基本。
もちろん、例外もあるだろうけど、それが基本のはず。
意味を取り違えているのならスマン。
473名無しさん@そうだ選挙にいこう:2007/08/15(水) 04:37:18
>>471
なんでそんなことをする必要があるのか、というのが問題。
例えば、あるテーブルの変更履歴を残すためのテーブルを作りたい、とか
いうのであればわからないでもないし、そんなケースだとSQL Server(MSDE)
のトリガーを使って実装するのが確実だったりする。

もっと単純な話なら>>472さんの指摘どおり。
474名無しさん@そうだ選挙にいこう:2007/08/15(水) 19:49:55
CSVからACCESSにインポートする場合、既存のテーブルにインポートしたい。
しかし、VBAでやると先頭行がフィールド名になってしまう。
それをやめて、フィールド名は設定してあるテーブルにインポートするにはどうしたらよいだろうか?
ご教授願いたい。
475名無しさん@そうだ選挙にいこう:2007/08/15(水) 20:23:00
>>474
Scripting.TextStreamでも使ってRecordSetに流し込めばいいんじゃない?
476名無しさん@そうだ選挙にいこう:2007/08/15(水) 22:00:25
>>474
通常、VBAでExcelBookをテーブルにインポートする場合、

DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, <TableName>, <ExcelBookName>, <True>

を使うが、いったいなにが問題なのだろう?
ちなみに第五引数がワークシートの先頭行をフィールド名とするかどうかの指定だが、この設定が違うのか?
477名無しさん@そうだ選挙にいこう:2007/08/15(水) 22:14:41
>>471
リアルタイムに変更しようとするなら、Form_AfterUpdateイベントに変更するプロシージャを記述するしかない。
478名無しさん@そうだ選挙にいこう:2007/08/15(水) 22:20:41
>>476 訂正

DoCmd.TransferText acImportDelim, , <TableName>, <CsvName>, <True>

ExcelとCSVと間違えた。

479名無しさん@そうだ選挙にいこう:2007/08/20(月) 15:55:08
【 システム環境  . 】 WindowsXP, Access2002
【 VBAが使えるか .】 無理
【 VBAでの回答  】 orz
【 検索キーワード 】自動 検索 記入
すみません、初心者です。
仕入伝票、商品リスト等をエクセルでやっているのですが、
「そういうのはACCESSでやったほうが便利だよ」
と助言を受けたため、ACCESSを勉強しはじめました。
今、エクセルで仕入伝票に新しく記入するのにフォームを使ってまして、
フォームに商品コードを記入すると自動的に「商品リスト」を検索して
合致するコードの商品があればフォームにその商品名・単価を記入し、
もし合致しなければ「仕入伝票」「商品リスト」に同時にその新しい
データを書き込む、という事をVBAを使ってやっております。

これらの事って、ACCESSでVBAなしでやれるものなんでしょうか?
480名無しさん@そうだ選挙にいこう:2007/08/20(月) 20:08:01
マクロでごにょごにょやるよりVBAの方が簡単だと思うけどなぁ・・・
481名無しさん@そうだ選挙にいこう:2007/08/20(月) 20:16:44
いやVBAはバグ多過ぎてダメぽ
マクロ推薦
482名無しさん@そうだ選挙にいこう:2007/08/20(月) 20:42:50
しょうもない質問ですみません。

フィールド1 フィールド2
山田一郎 C:\山田一郎フォルダ
山田次郎 C:\山田次郎フォルダ

のように並んだデータをCSVへ出力するときに
山田一郎 
C:\山田一郎フォルダ
山田次郎
C:\山田次郎フォルダ

というように\nを間にいれて出力することは可能でしょうか?
483名無しさん@そうだ選挙にいこう:2007/08/20(月) 21:19:38
駄目なやつはマクロでもVBAでも駄目
484名無しさん@そうだ選挙にいこう:2007/08/20(月) 21:34:41
>>483
だめですか?
おとなしくexcelでやるべきですか?
なんとかAccessで出来ませんかね?
485名無しさん@そうだ選挙にいこう:2007/08/20(月) 21:41:37
>>482
文字列処理は桐でやれ
486名無しさん@そうだ選挙にいこう:2007/08/20(月) 21:48:27
>>484

マクロは使ったことないんでよく解らんが、
VBA使えるんだったら楽勝でしょ。
まぁ、VBAなしでという質問なので思いっきりはずしているが。
でも、Excelでどこかのセルに計算式入れるのと
同等の難しさじゃないかな。
487名無しさん@そうだ選挙にいこう:2007/08/20(月) 21:58:18
>>482

csvで出力することに意味があるのかが疑問だが、
クエリで

フィールド1 & chr(13)(コードはこのあたりか) & フィールド2

あたりでできないか?
488名無しさん@そうだ選挙にいこう:2007/08/20(月) 22:10:39
ExcelでVBA使っているのにAccessでVBAが使えないというのが不思議だ。
VBAがバグが多いってのも不思議だ。VBAでバグの多いプログラムを書くってのは良くあるが?
だいたい、マイクロソフトの製品にはバグなど無い。それをマイクロソフトでは仕様と呼ぶ。
仕入伝票、商品リスト等をエクセルでやっているというのもちょっと不思議だ。とってもやりづらそうだ。
この程度のことならマクロでもできそうな気がするが、頭がVBA仕様になっている私には思いつかない。
489名無しさん@そうだ選挙にいこう:2007/08/20(月) 22:11:23
VBAだとコンボボックスの入力チェックしてリスト外入力時にこんな感じか

Private Sub 商品コード_NotInList(NewData As String, Response As Integer)
On Error Resume Next
DoCmd.RunSQL "PARAMETERS 新しい商品名 Text(255), 新しい単価 Currency;" & _
" INSERT INTO 商品リスト (商品コード, 商品名, 単価)" & _
" VALUES (""" & NewData & """, 新しい商品名, 新しい単価);"
If Err = 0 Then Response = acDataErrAdded
End Sub

490名無しさん@そうだ選挙にいこう:2007/08/20(月) 22:13:30
>>487
ありがとうございます。
VBAはOKです。言葉が足りず申し訳ございませんでした。
今から、やってみます!
491名無しさん@そうだ選挙にいこう:2007/08/20(月) 23:51:44
>>481
AccessVBAは充分枯れた言語。
バグの99.9%はプログラマーのミスと断言できる。
VBAのバグというなら、一つでいいから具体的に提示してくれ。

492名無しさん@そうだ選挙にいこう:2007/08/21(火) 01:04:10
まあまあ、そうあおると遭遇したこともないバグ情報を必死に掘り起こしてくる
夏休み厨が寄ってくるよ。w

体験的には、仮に単体で障害が100件上がったら、ほぼ100件すべて設計不良か
コーディングミスだな。VBAのバグに起因する障害は、自分は見た記憶がない。

あと、VBAのバグバグ言う奴は、かなりの確率でAccessのバグとVBAのバグを
区別できていない。Accessに限らず、バージョンアップすれば製品自体にバグは
あるていど出る。製品機能にバグがあったら手操作だろうがVBAだろうがマクロ
だろうが、その機能はコケるに決まってる。それはVBAのバグとは言わない。
VBAにバグが一つもないとまで言ったらウソになるだろうが、地雷踏むには
アカギ並みの強運が必要。w
493479:2007/08/21(火) 07:17:16
情報いろいろありがとうございます!
エクセルのVBAとアクセスのVBAって同じ様な物と考えて宜しいのでしょうか?
もしそうなら、エクセルのVBA改良すればアクセスでも使えるのかな?
ともかく頑張ってみます!
494名無しさん@そうだ選挙にいこう:2007/08/21(火) 13:00:29
全く同じではないけど、一部の関数とか考え方は一緒。
プログラミングの心得が全く無い私でも、ほぼ独学である程度の事は出来るようになった。がんがれ。
495名無しさん@そうだ選挙にいこう:2007/08/21(火) 22:21:41
>>493
> もしそうなら、エクセルのVBA改良すればアクセスでも使えるのかな?

うーん、VBAは同じでもエクセルとアクセスでは根本的に考え方が違うから、
改良すれば使えるようになるってものではないと思うぞ。
だいたいセルなんて概念が無いのだから?
あらためて文法から覚える必要はないってだけなんで、
下手にExcelの考え方にしばられるとニッチもサッチも行かなくなると思う。
テーブル、フォーム、クエリーの概念をきっちり把握してからやるべきでしょう。
496名無しさん@そうだ選挙にいこう:2007/08/21(火) 22:32:40
>>493
Excel単体でもJet(Accessの標準DBエンジン)は使えるから、
SQLやADOで操作出来てGUIいらないならだいたいその通りだよ。
ユーザーインタフェースとしてはExcelの方が優れてる場合もあるしね。

>>479の用途ならデータ検索、保存箇所だけワークシートをMDBに変える
なんて事も普通に可能。むしろExcelの規模がでかくて完成度高いなら
そっちの方が正解かもしれん。
ただRDBの下地が無いならAccessでGUI使った方が効率良いだろうね。

あと、現状Excelで何の問題も無いならわざわざ乗り換える必要ないと思う。
動いてる物は触るな!って名言だよw
497名無しさん@そうだ選挙にいこう:2007/08/21(火) 22:59:21
VBはマトモに動くが、VBAはバグだらけ
498名無しさん@そうだ選挙にいこう:2007/08/21(火) 23:41:59
>>497
ふーーーん、随分長いことVBA使っているけど、これはVBAのバグだってのは見たこと無いなあ?
ACCESSのバグならいっぱいあるけどなあ?
まさか、自分の思ったとおりに動かないからバグだって言っているわけじゃないだろうなあ?

499名無しさん@そうだ選挙にいこう:2007/08/21(火) 23:44:47
VBとVBAってほとんど同じだろ?
500名無しさん@そうだ選挙にいこう:2007/08/22(水) 00:04:03
Application.以下のバグをVBAのバグだと言ってるんだろう。
ACCESS上でも発生するからこれはVBAのバグじゃないって言うのか?
501名無しさん@そうだ選挙にいこう:2007/08/22(水) 00:42:38
実例が一つも上げられてないのに、言うも言わないも、どう言えと?w
なんか上げてくれたら、個別に、それについてはそうだねとか、
そうじゃないんじゃね、とか言えるでしょうけど。

よく分からないけど、なんか誰かに判定してほしいのかな?w
502名無しさん@そうだ選挙にいこう:2007/08/22(水) 01:14:57
>>500
Access上でも発生するならマクロでもダメだろう(>>481)
503名無しさん@そうだ選挙にいこう:2007/08/22(水) 10:58:14
もりもりおーーーーーーーもりうんこおおおおおおおおおお

うんこ、うんこ、うんこおおおおおおおおおおおおお

504名無しさん@そうだ選挙にいこう:2007/08/22(水) 10:58:19
もりもりおーーーーーーーもりうんこおおおおおおおおおお

うんこ、うんこ、うんこおおおおおおおおおおおおお

505名無しさん@そうだ選挙にいこう:2007/08/22(水) 10:58:25
もりもりおーーーーーーーもりうんこおおおおおおおおおお

うんこ、うんこ、うんこおおおおおおおおおおおおお

506名無しさん@そうだ選挙にいこう:2007/08/22(水) 13:08:37
うんこの人って嵐だと思ってたんだけど、
実は荒れそうな所を鎮めに来てるんだと知ったのはつい最近の話。
507名無しさん@そうだ選挙にいこう:2007/08/22(水) 16:20:47
そうだったのか、涙がでるようないい話じゃないか。
508名無しさん@そうだ選挙にいこう:2007/08/22(水) 21:29:50
スカトロマニア キタ━━━━━━━━━(゚∀゚)━━━━━━━━━ !!!!!
509名無しさん@そうだ選挙にいこう:2007/08/25(土) 12:50:38
市販ソフトのモジュールをこつこつ読んでいます。
そこで、
DoCmd.Selectobject A_FORM, "hoge"という記載を見つけました。
VBA辞典を見てもA_FORMというのが出てこないのでわかりません。
acFormと同じ意味で古い表現なのですか?
510名無しさん@そうだ選挙にいこう:2007/08/25(土) 13:49:16
そうみたいね。
http://support.microsoft.com/kb/140214/ja

オブジェクトブラウザで見たらAccess.OldConstantsのメンバだった。
511名無しさん@そうだ選挙にいこう:2007/08/25(土) 14:51:35
>>510
ありがとうございます。市販ソフトって結構古いコードを書き直さないものなんですね。
これも「動いているものを触るな」ですかねw
512名無しさん@そうだ選挙にいこう:2007/08/26(日) 19:10:12
AccessMDB解析ツール
http://www.vector.co.jp/soft/dl/win95/business/se397540.html

これを開こうとすると
ほかのユーザーが同じデータに対して同時に変更を試みているので、プロセスが停止しました。
というダイアローグが出て開けません。皆様はいかがでしょうか?
513名無しさん@そうだ選挙にいこう:2007/08/27(月) 06:37:43
>>512
MSKKのKB調べるか、作者に連絡した方が良いと思うがな。
514名無しさん@そうだ選挙にいこう:2007/08/28(火) 22:22:07
【 システム環境  . 】 WindowsXP, Access2000
【 VBAが使えるか .】 いいえ
【 VBAでの回答  】 可能ならVBAをつかない解決法で無理なら可。
【 検索キーワード 】 Access 時刻 日付 繋げて

ファミレスの注文受付のデータベースを作成しております。
注文を受けて新しくレコードを追加する時に 入力日フィールドに自動的に
その時の日にちと時刻

たとえば今入力したとすると
2006年8月28日 22時18分
と入力させたいのですがどうすればいいのでしょうか?(日付と時刻の間は半角スペースを挟む)

規定値のところに
Date()+Time() と入れたりしてみましたが
当然のことながら 2006/08/28 22:18 と入ってしまいます。
これを /や:を使わずに 漢字表示にしようと思い書式のところを日付としてしまうと
時刻が抜けてしまいます。解決策をお願いしますm(_ _)m
515名無しさん@そうだ選挙にいこう:2007/08/28(火) 22:47:22
>>514
書式を
yyyy\年m\月d"日 "h\時n\分
516514:2007/08/28(火) 23:02:26
>>515
助かりました。ありがとうございました!!
517名無しさん@そうだ選挙にいこう:2007/08/30(木) 11:03:57
WindowsXP に OfficeXPをインストールしたのですが、

Access2002を起動させるたびに、

WindowsXPでOfficeProfessionalの設定をしています。

必要な情報を収集しています・・・

のメッセージがでます。これを出さなくすることはできるのでしょうか?
518名無しさん@そうだ選挙にいこう:2007/08/30(木) 12:34:47
access2007にバージョンアップする。
519名無しさん@そうだ選挙にいこう:2007/08/30(木) 21:46:37
age
520名無しさん@そうだ選挙にいこう:2007/08/31(金) 00:51:33
そろそろみんな2007使い始めてる?

リボンの使い方はそのうち慣れるかもしれないけど、
フォームのデザインとかコントロール配置の微調整がすごくやりにくいような
気がするんだが・・・
521名無しさん@そうだ選挙にいこう:2007/08/31(金) 00:52:32
2007は捨てますた
522名無しさん@そうだ選挙にいこう:2007/08/31(金) 03:41:50
使う気まったく茄子
523名無しさん@そうだ選挙にいこう:2007/09/01(土) 19:50:29
Accessの市販のソフトでダイアログが何度もでてウザいのがあります。
マクロかVBAで自動的にOKボタンを押すように出来ますか?
autohotkeyとかは使わないでやりたいのですが、どうすればいいのでしょうか?
524名無しさん@そうだ選挙にいこう:2007/09/01(土) 20:15:54
sendkeysでenter送れば。それもヤだとか言われそうだけど、
何をもって拒否っているのか意味不明。キー操作マクロを
拒絶したら、後はダイアログのサブクラス化しか残らんよ。
525名無しさん@そうだ選挙にいこう:2007/09/01(土) 21:14:01
>>523
質問に質問で返すのもなんですが・・・・・・・・・・

市販のソフトってことはソースを公開してないんですよね?
ソース公開してないのにマクロやVBAが操作できるのですか?
そういう方法があるのなら教えて欲しいです。
もし公開しているのなら、なんでそのソースに手を入れてダイアログを出ないようにしないのか不思議。
526名無しさん@そうだ選挙にいこう:2007/09/01(土) 21:38:08
ヒント
ダイアログの内容 : 【これはシェアウエアです。継続的に、ご使用の場合は・・・】
527名無しさん@そうだ選挙にいこう:2007/09/02(日) 03:21:04
>526 の洞察力にオレが嫉妬した
528名無しさん@そうだ選挙にいこう:2007/09/02(日) 11:25:27
>>526
sendkeyでENTERを送っているのに、メッセージボックスが無反応なのです。どうしてなのでしょうか?
>>527
ソース公開しています。一つのfunctionに20以上のfunctionがぶら下がっているような状態なので、いじるのが怖いというのが本音です。
functionをそっくりコピペしてそこでメッセージボックスがでないようにすればいいのでしょう。でも、できればメッセージボックスにENTERを送る
ような単純な形ですませたいなと思いまして。
>>527
毎年10万円以上をちゃんと払っていますよ。業務用ソフトなので高いのです。カスタマイズはサポートセンターが相手にしてくれないのでこちらで質問しました。
一番の肝はなんでメッセージボックスにsendkeyでENTERが送れないかですよね。待機時間の設定でしょうか?
529523=528:2007/09/02(日) 12:08:17
>>523
autohotkeyはキーボードマクロを組むソフトです。
そういうのを使わないでAccessだけどやりたいなと思いまして。
530名無しさん@そうだ選挙にいこう:2007/09/02(日) 12:17:34
誰がどう考えてもソース書き換えが一番安全確実簡単明快。
531523:2007/09/02(日) 12:24:33
>>530
ありがとうございます。コピペして名前を少し変えてメッセージボックス関連のif構文をコメントにしちゃいますね。
ところで、sendkeysでメッセージボックスに文字を(yやenter)を送れないのは仕様なのですか?
できるような記載があったのに私のところではいつも失敗するのですが。。。
532名無しさん@そうだ選挙にいこう:2007/09/02(日) 12:36:41
>>531
送れる。目的のメッセージボックスがアクティブだったら。
でも、オレも
>>530 と同意見。
『コピペして名前を少し変えて』というのが何をターゲットにしてるのか
わからないけど、システムそっくりバックアップとって、functionの中を
変更してしまえばいいだけ。出したくないメッセージは、メッセージの
文章から検索できるだろうし。
if構文全てをコメントにすべきかどうかは判断できん。
・・・通常のエラーやインフォメーションまで出なくなったりして。
533名無しさん@そうだ選挙にいこう:2007/09/02(日) 12:46:10
>>532
そうですか?なんで私のところのメッセージボックスは無反応なんだろう?ちなみにマクロのキー送信ですけど、これでいいのでしょうか?
メッセージボックスがアクティブじゃないのでしょうかね?

変更と書いたのは、メッセージがでて欲しい場合もあると言うことで。。。わかりにくくて済みません。
プロシジャをマウスで呼び出すときにはメッセージがでるのですが、キーボードで手早く作業するときはメッセージがでて欲しくないという事情でして。
534名無しさん@そうだ選挙にいこう:2007/09/02(日) 14:47:29
VBAかマクロかは知らないがACCESSのプログラムが内部で完全に同期処理してる最中に
全然別の場所のマクロにキー送信なんか定義してもメッセージボックスが開く前、あるいは
完全に閉じた後にしかキー送信されないだろ。

メッセージボックスがアクティブかどうか以前の問題だよ。
535名無しさん@そうだ選挙にいこう:2007/09/02(日) 14:59:57
ソースコードがいじれるという前提なら、メッセージボックス行の
直前にsendkeys入れるだけだよ。
たぶんメッセージボックス行の後に入れてるか、でなきゃ処理
ブロックの丸ごと前に入れてフライングしてるか。

もっとも、何度も書かれているようにソースコードが見えるなら
カスタマイズした方が早い。
で、ソースコードの意味も分からなくてカスタマイズが怖いという
状態なら、そもそもカスタマイズすべきではない。
おとなしくそのまま使うか、開発元なり出入りの業者なりに
きちんと金払って依頼すべき。
536名無しさん@そうだ選挙にいこう:2007/09/02(日) 15:07:02
>>534
ありがとうございます。正直なところ、内容が高度でよくわかりません。勉強しますからまた教えてください。
ボタンを押すとメッセージボックスを開くマクロとautokeysで{ENTER}をキー送信するマクロの二つを作って実験していますが、
やはりメッセージボックスがenterを受け取ってくれません。もちろんキーボードからの入力は受け取るのでアクティブです。
皆様の環境では作動するのでしょうか?本題から離れますが、素朴な疑問なのでご教授をお願いします。
537名無しさん@そうだ選挙にいこう:2007/09/02(日) 15:10:59
>>535
おそるおそるコードの書き換えをしていますが、自分でやるのはユーザーインターフェースの部分だけにしようと思っています。
業務用のソフトって反復手作業が多くてうんざりしているので。
538526:2007/09/02(日) 15:12:00
ダイアログ ボックスが表示されるとマクロが一時中断されるので、
ダイアログ ボックスを開くアクションの前に "SendKeys/キー送信" アクションを記述し、
"Wait/待機" 引数に [No/いいえ] を指定してください (>_<)
539名無しさん@そうだ選挙にいこう:2007/09/02(日) 15:31:07
>>538
ありがとうございます!!
出来ました!
これで、「ダブルクリック→enter→クリック→enter」でしていた作業がボタン一発になりました!
作業時間の大幅な短縮が出来そうです。本当にありがとうございました。
540名無しさん@そうだ選挙にいこう:2007/09/02(日) 20:49:33
↑すっと読んできたけど、日本語が変で意味が通じないこと多数。
541名無しさん@そうだ選挙にいこう:2007/09/02(日) 20:59:14
まあまあ。
>538 に乾杯& >530 に合掌。(-人-)
542523:2007/09/02(日) 21:05:26
>>540
スマン

>>530さんがおっしゃるとおりに出来るように精進します。
今は仕事がサクサクすすんで幸せです。
>>538さん、ありがとうございました。
543526:2007/09/02(日) 22:04:01
>>541,542
そのようにしろって、ビルも言ってた

以下の記載をさのままコピペしただけ
http://office.microsoft.com/ja-jp/access/HA012262891041.aspx
544名無しさん@そうだ選挙にいこう:2007/09/03(月) 17:31:13
なんだー
MSのヘルプに書いてあるじゃん ワロタ
545523:2007/09/03(月) 18:30:52
>>544
おいらも今、気がついた。テラハズカシ。
と思ったら、mdbファイルをノートPCに移したら、同じマクロを実行しているのに、ダイアログボックスが表示されてしまいました。
デスクトップはwin2000sp4、ノートはWinXPsp2。何で、おなじmdbファイルなのに、動作が違うのだろう。もちろんAccessのバージョンは両者同じです。
546名無しさん@そうだ選挙にいこう:2007/09/03(月) 23:11:06
だからキー送信の処理がメッセージボックスなりダイアログボックスなりの入力待ち受けに
ドンピシャで送られるかどうかなんて完全にマシンの処理速度依存なんだって。

Sendkeysの内容はキー入力バッファには送られるかもしれないけど
それを受け取ってなんか処理しちゃう画面がバックに表示されてるだけで
そいつがバッファを横取りして、結果お目当てのダイアログには何も送信されなくなる。

その人のPCでしか動かない環境依存コードの増殖は周りからすれば本当に大迷惑なんで
それで痛い目見続けてきた人間はSendkeysとか本能的に避けるようになるみたいねw
547523:2007/09/03(月) 23:29:32
>>546
なるほど。
そういえば、キーボードマクロソフトなんかもキー送信はPC毎に待機時間の設定を変えないと動きませんね。それと同じことですね。
私はAccessの内部だけの処理ならAccessが自動的に調節してくれるのかな、と期待していました。それで、マクロソフトを使わないようにしようとしていました。
>>546さんのお話を伺うと、どっちも同じことなんですね。複数の環境で使用するなら、コードを書き換える方が正解ということですね。
それにしても、このあたりの事情ってネットで全然見つからないんですが、皆さんは現場で覚えているのですか?プロの方々なんですか?それとも常識?
548名無しさん@そうだ選挙にいこう:2007/09/04(火) 08:25:44
別にプロじゃなく只の知ったか
549名無しさん@そうだ選挙にいこう:2007/09/12(水) 09:21:06
質問があります。

AccessMDBに保存されている画像をjpegファイル化したいのだが、なにかいい方法はないでしょうか?
550名無しさん@そうだ選挙にいこう:2007/09/12(水) 11:20:05
>>549
元画像がjpegならそのままバイナリをファイルに書き出せばいいし、
それ以外ならいったんファイルに保存するなりして、
jpeg変換かけたら良いんじゃね?
551名無しさん@そうだ選挙にいこう:2007/09/12(水) 12:26:36
>>549
2003以前だろ、OLEのビットマップで保存されてるから、jpegに再変換しても汚くなるぞ
552名無しさん@そうだ選挙にいこう:2007/09/12(水) 13:00:13
2007の添付ファイル型にbmpで保存されてる可能性もあるぞ
553名無しさん@そうだ選挙にいこう:2007/09/12(水) 18:23:10
>>550

>元画像がjpegならそのままバイナリをファイルに書き出せばいい

もう少し詳しく知りたい。Verは2000です。

554名無しさん@そうだ選挙にいこう:2007/09/12(水) 19:43:03
バイナリで書き出すってVBAではむりでしょ。Cを使うの?
555名無しさん@そうだ選挙にいこう:2007/09/12(水) 19:58:38
550は適当にいい加減なこと言ってるだけだよ
556名無しさん@そうだ選挙にいこう:2007/09/13(木) 06:30:41
VBAでバイナリ操作ができないと思ってる奴は間抜けwww
557名無しさん@そうだ選挙にいこう:2007/09/13(木) 06:34:36
VBAの記述例キボンヌ。
558名無しさん@そうだ選挙にいこう:2007/09/13(木) 08:01:47
ググレカス
559名無しさん@そうだ選挙にいこう:2007/09/13(木) 21:19:37
ACCESSの掲示板で出すのは申し訳ありませんが、
ORACLE上のデータをODBC接続しACCESSで帳票を出すようなものを作った場合、
データ取得(サイズも含め)に制限はありますか?
実データはORACLE上にあるので、サイズというより、
ACCESSの取得可能件数かもしれませんが。
560名無しさん@そうだ選挙にいこう:2007/09/13(木) 21:43:06
ありえないですね
ソフトのばぐですね
失礼しました
561名無しさん@そうだ選挙にいこう:2007/09/14(金) 00:10:25
>>549
「OLEtoDisk」でググレ力久
562名無しさん@そうだ選挙にいこう:2007/09/14(金) 00:37:47
563名無しさん@そうだ選挙にいこう:2007/09/15(土) 01:19:08
        ,.-─ ─-、─-、
      , イ)ィ -─ ──- 、ミヽ
      ノ /,.-‐'"´ `ヾj ii /  Λ
    ,イ// ^ヽj(二フ'"´ ̄`ヾ、ノイ{
   ノ/,/ミ三ニヲ´        ゙、ノi!
  {V /ミ三二,イ , -─        Yソ
  レ'/三二彡イ  .:ィこラ   ;:こラ  j{
  V;;;::. ;ヲヾ!V    ー '′ i ー ' ソ
   Vニミ( 入 、      r  j  ,′
   ヾミ、`ゝ  ` ー--‐'ゞニ<‐-イ
     ヽ ヽ     -''ニニ‐  /
        |  `、     ⌒  ,/
       |    > ---- r‐'´
      ヽ_         |
         ヽ _ _ 」

     ググレカス [ gugurecus ]
   (西暦一世紀前半〜没年不明)

http://ja.wikipedia.org/wiki/%E3%82%B0%E3%82%B0%E3%83%AC%E3%82%AB%E3%82%B9
564名無しさん@そうだ選挙にいこう:2007/09/17(月) 02:22:15
すみません、VBAとかプログラミングの知識が皆無な者ですが
質問させてください。

同一テーブルから作成されたフォームのレコードを同期させたいのですが
方法がわかりません。

片方のフォームが入力用のもので、もう片方が印刷用。
入力用フォームからボタンで印刷用フォームにリンクさせようと
しているのですが、印刷用フォームが開いた時
先頭のレコードが表示されてしまうのです。

どうかお願いします。
565名無しさん@そうだ選挙にいこう:2007/09/17(月) 05:03:40
>>564

OpenArgsで主キー渡して印刷用フォームで処理するか、
WhereConditionで制御してやれば。
566名無しさん@そうだ選挙にいこう:2007/09/17(月) 22:07:50
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/vbaxl11/html/xlobjFormatConditions1.asp
これによると一つのテキストボックスには最大3種類の条件付き書式しか設定できないんだね。VBAを使っても変わらないんだね。
1月から12月までを12色で色分けしたい場合は無理ということですか?
567名無しさん@そうだ選挙にいこう:2007/09/17(月) 22:21:04
EXCELVBAなら

Range.Interior.ColorIndex

を使えば、なんとでもなるんじゃないのか?
568名無しさん@そうだ選挙にいこう:2007/09/17(月) 22:41:38
>>567
えっ?ACCESSのテキストボックスの書式をEXCELでコントロールできるの?
569566:2007/09/17(月) 22:43:03
と思ったら、俺が貼ったのはEXCELの説明だったね。ゴメン。
570名無しさん@そうだ選挙にいこう:2007/09/22(土) 16:19:09
Accessのクエリで、こういう処理簡単にできますか?

(テーブルA)
氏名   入金日  入金額  使用額
Aさん   9/1    \1,000   \0
Bさん   9/1     \600   \0
Cさん   9/5    \1,000   \0
Aさん   9/4     \800   \0
Bさん   9/1     \500   \0

(テーブルB)
氏名   使用額
Aさん   \1,300
Bさん    \800
Cさん    \800

小遣いの管理みたいな感じなんですが、テーブルAに、小遣いを貰った日毎に入金額をつけていて、
毎月、当月に使用した額をつけている、テーブルBと比較、テーブルAの使用額に消し込みを
行います。

消し込みの処理は、古い日付のものから消します。例えば、上の例で言うと、Aさんは今月\1,300
使っていますので、9/1の使用額に\1,000、9/4の使用額に\300を入れるといった具合です。

今、Excelで目検でちまちまやってるのですが、なんとかなりませんか…。

よろしくお願いします。
571名無しさん@そうだ選挙にいこう:2007/09/22(土) 16:23:17
テーブルAの使用額欄に直接書き込みたいの?
572名無しさん@そうだ選挙にいこう:2007/09/22(土) 16:47:52
累積額で比較すればいいんじゃね?
573名無しさん@そうだ選挙にいこう:2007/09/22(土) 17:36:09
>>570
そういうのは、桐にしとけ
574名無しさん@そうだ選挙にいこう:2007/09/23(日) 13:52:36
全角スペースはchr()に何を入力すれば出力されますか?
575名無しさん@そうだ選挙にいこう:2007/09/23(日) 17:33:22
>>574
ASC(" ")してみれば?
面倒ならchr(ASC(" "))
576名無しさん@そうだ選挙にいこう:2007/09/23(日) 20:05:43
S-JISだったら2020だったと思うが。
まぁ、575でヒントが出ているから調べればいいだろう。
577名無しさん@そうだ選挙にいこう:2007/09/24(月) 15:59:49
質問です、updateで更新を行なおうとしているのですが条件を入れてクエリを書くのですがうまくいきません。詳しく書くと

テーブルA
   コード   |   冊数     
   110000  |     1
   120000  |     1
   130000  |     1
   140000  |     1

テーブルB
   コード   |   冊数     
   110000  |     3
   120000  |     3
   140000  |     4

というテーブルがあります。テーブルAには全てのコードがあり冊数は1となります。
テーブルBは全てのコードはありませんが、冊数は1冊以上必ずあります。
テーブルAのコードとテーブルBのコードを見て同じコードがあればテーブルBの冊数を
テーブルAの冊数に上書きするようなクエリを作りたいのです。結果としては下のように
したいのです。

テーブルA
   コード   |   冊数     
   110000  |     3
   120000  |     3
   130000  |     1
   140000  |     4

色々試したのですが、うまくいかないのでよろしくお願い致します。
578名無しさん@そうだ選挙にいこう:2007/09/24(月) 17:23:36
>>577
桐だと併合処理で一発だよ
579名無しさん@そうだ選挙にいこう:2007/09/24(月) 18:50:37
質問です。
OS:vista  アクセス2007 を使用しています。
よくわかるaccess2007(FOM出版)応用編を購入しました。
そこでリレーションシップに関してのページの中の手動結合による設定で質問です


リレーションシップ

テーブルの表示

テーブルを選択

テーブル@のある項目を、テーブルAへドラッグすると、テーブル@の項目がテーブルAへコピー
されているのですが、どうやってもコピーされません。
どのようにしたら、出来るんでしょうか?
580名無しさん@そうだ選挙にいこう:2007/09/24(月) 18:56:00
桐馬鹿がいない、普通に質問に答えてくれるAccessのスレって存在していますか?
581名無しさん@そうだ選挙にいこう:2007/09/24(月) 19:00:40
貧乏人はAccessで頑張ってください(>_<)

エクゼクティブは、桐使って1/5の時間で関発終えて、
余った時間は、ホテルのプールでリフレッシュ
582名無しさん@そうだ選挙にいこう:2007/09/24(月) 19:29:51
>>577
UPDATE テーブルA
INNER JOIN テーブルB
ON テーブルA.コード=テーブルB.コード
SET テーブルA.冊数 = テーブルB.冊数;

>>579
2007持ってない上にリレーションシップ自体使わないから
知らないけど、リレーションシップって、フィールドがコピー
されるものだっけ?
結合線が引かれるだけじゃないのかなぁ…。
それとも2007から、無いフィールドがコピーされるような仕様に
変わったのか?
583579:2007/09/24(月) 20:25:10
>>582
う〜ん・・・どうなんでしょうね。なんせ参考書通りにしか出来ないですし、
アクセス初心者なので。。。

無いフィールドはコピーではなく、自分で作成するしかないのですかね?


584582:2007/09/24(月) 20:42:14
> 無いフィールドはコピーではなく、自分で作成するしかないのですかね?

結合先テーブルに、結合したいフィールドがまだ無いという状態ですよね。
Access2003までは、フィールドを先に作成しておく必要があるはずです。
2007から変わったとしたら、自分には分からないですが…。
585579:2007/09/24(月) 21:33:43
>>584
>>結合先テーブルに、結合したいフィールドがまだ無いという状態ですよね。
そうです。それを言いたかったのです。


>>Access2003までは、フィールドを先に作成しておく必要があるはずです。
参考書には、そう言ったことは書いてなかったのですが、先に作成しておく必要があるのでしょうね。
とりあえずやってみます。

ありがとうございました。
586名無しさん@そうだ選挙にいこう:2007/09/24(月) 22:20:34
jetcomp4.0を使わざるを得ない状況なのだが、
usernameとかpasswordを訊いてきて、先へ進めない状態です。
いったい何のパスワードがほしいのか、さっぱりわかりません。
Win2000のログインパスワードも駄目だし、mdbファイルにパスワードなんて設定したことないのに。。。
誰か、教えてください。
587名無しさん@そうだ選挙にいこう:2007/09/24(月) 22:22:48
初期パスワードは、1919pyuppyu になってる筈
588名無しさん@そうだ選挙にいこう:2007/09/25(火) 00:12:35
>>586
そのファイルを作った奴に訊け。
589名無しさん@そうだ選挙にいこう:2007/09/26(水) 22:18:57
>>587
ほんとだ、お陰さまで解決しました。
どうも有難う。
590名無しさん@そうだ選挙にいこう:2007/09/27(木) 10:15:33
で、username は何にしたの?
591名無しさん@そうだ選挙にいこう:2007/09/27(木) 10:43:20
adm
592名無しさん@そうだ選挙にいこう:2007/09/27(木) 15:17:06
レポートの表題にマイナス記号「-」を使うとおかしくなりませんか?
印刷した文章の名前がおかしくなります。
A-Bという標題にすると印刷した文章名が-Bになるのですが、俺だけかな?
Win2kSp4にaccess2002ですけど。
593名無しさん@そうだ選挙にいこう:2007/09/27(木) 21:23:01
表題とか標題とか文章名とかじゃ具体的に何を指してるのかわからんよ。

ラベルのキャプションとかテキストボックスのコントロールソースとか
全員に通じる正確な単語でもういっぺん書き直せ
594名無しさん@そうだ選挙にいこう:2007/09/27(木) 22:42:39
>>593
すまん。
Docuworksにバーチャル印刷しています。accessでレポートの標題に「A」をいれると、Docuworksの文章名は「A」になります。
しかし、レポートの標題に「-」を入れるとおかしなことが起きます。
以下の感じです。
標題 → 印刷時のファイル名
A → A
A- → P070927_223509 (プリント日時ですね)
A-B →B

つまり、-記号の後ろしか認識しないんですね。(>>592で書いたのは間違えていましたね。すみません)
でも、Docuworksの問題のような気がしてきました。そっちのスレで訊いてきますね。
すみませんでした。
595名無しさん@そうだ選挙にいこう:2007/09/28(金) 00:18:06
>>585
2003でも同じです。
何か解釈違いをしていると思う。
596名無しさん@そうだ選挙にいこう:2007/09/28(金) 01:28:19
デザインビューでテーブルに線引くたびに勝手にフィールド追加なんかされる仕様だったら
俺ならブチ切れる
597名無しさん@そうだ選挙にいこう:2007/09/29(土) 16:37:55
access2002を使っています。
F6でフォームのヘッダーから詳細へ移動出来るのですが、どんなリファレンスを探してもフォームでのF6ショートカットの記載が無いのですがどうしてでしょうか?
598名無しさん@そうだ選挙にいこう:2007/09/30(日) 03:55:06
アンドキュメントな機能なんて腐るほど氾濫していますがなぜでしょうか?
599名無しさん@そうだ選挙にいこう:2007/09/30(日) 10:26:35
>>597
F6 の作業ウィンドウ切り替えは、MSoffice共通のショートカットです。
600名無しさん@そうだ選挙にいこう:2007/09/30(日) 12:25:55
>>599
フォームからサブフォームへの移動にも使えるということですね。
でも、そんな記述はないんですよね。
ところで、F6キー押下と同じことをVBAで記述したいのですが、どんなメソッドを使うのでしょうか?
601名無しさん@そうだ選挙にいこう:2007/09/30(日) 12:40:44
F6
プログラム ウィンドウ内の他のウィンドウから作業ウィンドウに移動する (F6 キーを複数回押す必要がある場合があります)。
メモ F6 キーを押しても目的の作業ウィンドウが表示されない場合は、Alt キーを押してメニュー バーにフォーカスを移動し、Ctrl キーと Tab キーを同時に押して目的の作業ウィンドウに移動します。
602名無しさん@そうだ選挙にいこう:2007/09/30(日) 23:31:29
>>600
SendKeys "{F6}", True
とか
603名無しさん@そうだ選挙にいこう:2007/10/01(月) 00:35:22
>>602
アクセスキーをトリガーにすると、どういう訳かsendkeysが機能しないので、こまっているんです。
要するにたとえばAlt+Aをアクセスキーに設定したボタンがあるとして、そのクリック時のイベントプロシジャー内のSendKeys "{F6}"が機能しないんですよね。
マウスでボタンを押すとF6が送られるんですけど、アクセスキーを押下したばあいはsendkeysが抜けるんですよね。
604名無しさん@そうだ選挙にいこう:2007/10/01(月) 09:21:14
なんという後出し・・・
605名無しさん@そうだ選挙にいこう:2007/10/01(月) 09:28:18
>>604
すみません。反省しています。。。
606名無しさん@そうだ選挙にいこう:2007/10/02(火) 08:41:43
>>603
SendKeysは極力使わない。SendKeysじゃないと実現できない処理(そう
いう場面があるなら)を除いて。
フォーカスがある場所、1つ前にフォーカスがあった場所、が取得でき
るんだから、そこから判断してSetFocusでカーソルを移してやればいい。
607名無しさん@そうだ選挙にいこう:2007/10/03(水) 13:17:13
>>600
Visual Basic コード
Public Sub ControlSetFocus(control As Control)
' Set focus to the control, if it can receive focus.
If control.CanFocus Then
control.Focus()
End If
End Sub

C# コード
public void ControlSetFocus(Control control)
{
// Set focus to the control, if it can receive focus.
if(control.CanFocus)
{
control.Focus();
}
}


608名無しさん@そうだ選挙にいこう:2007/10/03(水) 13:18:00
>>600
C++ コード
public:
void ControlSetFocus( Control^ control )
{

// Set focus to the control, if it can receive focus.
if ( control->CanFocus )
{
control->Focus();
}
}

J# コード
public void ControlSetFocus(Control control)
{
// Set focus to the control, if it can receive focus.
if (control.get_CanFocus()) {
control.Focus();
}
} //ControlSetFocus
609名無しさん@そうだ選挙にいこう:2007/10/03(水) 13:20:17
>>600
This is specific to .NET Framework 3.0
Other versions are also available for the following:
Microsoft Visual Studio 2005/.NET Framework 2.0
Microsoft Visual Studio Codename Orcas
610名無しさん@そうだ選挙にいこう:2007/10/11(木) 15:39:55
アクセス2000です。
フォームでボタンを押すと、テキストボックスがビジブルになって
別のボタンを押すと見えなくなるという仕組みをつくりました。
ところでそのテキストボックスに入るデータを別のテーブルの
ものにしてリレーションシップで結んだのですが表示されずに
#Name
とでます。

テキストボックスのプロパティで既定値に 式ビルダで
=[フォルダ名]![フィールド2]としたのですがだめです。
どうすればいいのでしょうか

テーブル1 キー1 データキー2 データ3 データ4
テーブル2 キー5 キー6 データ7

としてデータ4 (テキスト型) と キー5(テキスト型)を結んで
リレーションシップでつなぎました。
でテーブル1のフォームでテーブル2のデータ7を表示させたいのです。
無理なのでしょうか?
611名無しさん@そうだ選挙にいこう:2007/10/11(木) 15:40:57
あげるのを忘れていました。すいません。よろしくお願いします。
612名無しさん@そうだ選挙にいこう:2007/10/11(木) 19:51:22
フォームのソースに必要なフィールドを全部含めたクエリを指定しろ
613名無しさん@そうだ選挙にいこう:2007/10/11(木) 22:20:08
私には難しい言葉です。
とりあえず試行錯誤でサブフォームというのでリレーション先が別画面で
表示されました。しかし、サブフォームは二つ目になると最初のようには
設定できないようです。ウーン、アクセスへの取り組みは長い道になり
そうです。ありがとうございます。勉強します。
具体的に何をどうしろといわれないと取り組めないのです。
614名無しさん@そうだ選挙にいこう:2007/10/11(木) 22:26:40
そうですか。
余生も頑張って下さい。


↓次の質問ドゾー
615名無しさん@そうだ選挙にいこう:2007/10/12(金) 03:23:02
クエリの画面でリレーションシップの構造が表示されるのはわかりましたが、
それを指定するというのがわかりません。
当方はエクセルとワードはヘルプの総てを読んで使いこなしてますが、
アクセスは初めて。クエリというのはエクセルのフィルタに似ているとの話で
すが、それ以上がわかりません。グーグるためのキーワードでよいですから
教えてください。610,613です。
616名無しさん@そうだ選挙にいこう:2007/10/12(金) 04:21:58
エクセルやワードは俺って使いこなしてる〜的な勘違いもできるけど
データベースだとさすがにそうはいかんよなw
617名無しさん@そうだ選挙にいこう:2007/10/12(金) 09:05:11
つ「クエリとは」
618名無しさん@そうだ選挙にいこう:2007/10/12(金) 22:51:24
わかりました!! 感動です
619名無しさん@そうだ選挙にいこう:2007/10/13(土) 17:50:07
Running Access 2007 in Runtime Mode
Published 26 March 07 10:48 AM
Even though we haven't gotten the runtime re-distributable shipped yet, you can run apps in Access 2007 in runtime mode.
This will let you test solutions while waiting for the re-dist. In addition, it is a simple way to keep users from changing your applications
even when they have the full app.
You can use a long-standing command-line switch (documented here: http://support.microsoft.com/kb/105128) to launch apps in runtime mode.
Access 2007 makes this much easier, though. All you have to do is rename your app from *.accdb to *.accdr (e.g. MyApp.accdr).
Then, when the app is opened, it automatically switched Access into runtime mode and you're off and running.
We're working hard on getting the runtime shipped, but hopefully that will help in the meantime. Thanks, Erik.
620名無しさん@そうだ選挙にいこう:2007/10/13(土) 18:18:28
PDF & XPS Now supported in Access Runtime!
Published 23 August 07 11:15 PM
Great news, you can now redistribute and use the PDF and XPS addin with your Runtime solution.
Our download page has been updated to reflect this fact. Best of all, you don't need a new copy of the runtime to take advantage of this.
The Runtime's code has not been changed.
Your existing runtime solutions can now officially be distributed with the PDF and XPS addin by chaining the .msi for PDF and XPS into your install process for your app (after the Runtime).
621名無しさん@そうだ選挙にいこう:2007/10/13(土) 22:20:29
アクセスを初めて利用するのですが
2000、2003、2007を考えています。

職場はオフィスXPです。
自宅で作成。職場利用というスタイルが主になると思います。
よろしくお願いいたします。
622名無しさん@そうだ選挙にいこう:2007/10/13(土) 22:37:35
アクセス2007だとフォームでのテキストボックスの表示がリッチテキストになって
カラーで文字の大きさも変えられるようになるようです。
2000ではそうはいきません。でも2002や2003がどうなのかはわかりません。
それとアップグレードをかっても2007の場合は古いバージョンだとアップできないらしい
です。詳しくはわかりません。私は2007が欲しいですが、そのほかどこがよいのだか
はわかりません(>_<)
623名無しさん@そうだ選挙にいこう:2007/10/14(日) 02:17:40
Access2.0 が最強にお勧め!!

名無しの2ちゃんねらの俺様が言うんだから間違いないよ!買え買え!!
624名無しさん@そうだ選挙にいこう:2007/10/14(日) 09:13:55
>>621
職場がOfficeXPなら選択肢はACCESS2003しかないだろう。
625名無しさん@そうだ選挙にいこう:2007/10/14(日) 15:01:46
>>621
素直に2007にすれば良いだろ
何考えてんのよ w
626名無しさん@そうだ選挙にいこう:2007/10/14(日) 23:06:18
>>621
マジレスするが、2007だけはやめとけ。
2007でつくったものは2002や2003ではまともに動かんぞ。
627名無しさん@そうだ選挙にいこう:2007/10/15(月) 08:17:08
あたりまえだろ
628621:2007/10/15(月) 12:57:46
2007買っちゃった°・(ノД`)・°・

仕方ないから2003も買うー°・(ノД`)・°・
629名無しさん@そうだ選挙にいこう:2007/10/15(月) 12:59:55
>>628
2007を職場と自宅にインストールしろ
ライセンス上OKだ
630624:2007/10/15(月) 18:41:24
>>629
そういう問題じゃないだろ・・・
職場でって言ってるってことは、職場の他の人間も(他のマシンで)使うってことだろ?
全員に2007入れさせるわけにはいかんだろ。
だから職場が2003なら2003にしろって言ったんだよ。
631名無しさん@そうだ選挙にいこう:2007/10/15(月) 22:21:03
職場で自分のPCが2007でフォームやらレポートやらいろいろ作りこみしてるけど
それを配る先が2000だったり2002だったり2003だったりで結構大変な目に会ってます。

でもそれが仕事だから頑張らなきゃ・・・
632名無しさん@そうだ選挙にいこう:2007/10/15(月) 23:18:09
【 システム環境  . 】 WindowsXP, Access2000
【 VBAが使えるか .】 さわり程度なら
【 VBAでの回答  】 VBAは最終手段で
ググって1番質問が近かったサイト
http://oshiete1.goo.ne.jp/qa14769.html

Access2000の日付時刻型の計算で悩んでいます。
hh:nn:ssの書式を使って社員コード毎の1ヶ月の総労働時間の計算させたいのですが、
Acceessの日付時刻型だと時間が一周してしまって合算ができません。
上記サイトの1:00:00で割るという方法で10進では表示できましたが
相手方の強い要望でどうしてもhh:nn:ssがいいとのことです。
(理由は10進表記だと脳内で時計を再構築して時間を置き換えないとダメだからダルいとのこと)

分かる方いればアドバイスお願いします。
633名無しさん@そうだ選挙にいこう:2007/10/16(火) 02:34:39
hh:nn:ss って hh:mm:ssじゃないのか?

ssまで必要なのか?
634名無しさん@そうだ選挙にいこう:2007/10/16(火) 02:37:26
使っているのはアクセス2000です。
フォームをつかって文献などを参照整理しているのですが、フィールドの中の
文章をメモにコピーペーストしていたところ、いろいろいじっているうちにペースト
ができなくなってしまいました。ツールのオプションやセキュリティのところを
さわっていたのですが、前のように貼り付けられるようにするのにはどうすれば
よいのでしょうか。コピーしたフィールドにも貼れなくなり校正もできないので
困っています。よろしくお願いします。データフォームでもいじれなくなって
いるのでまいってます。
635名無しさん@そうだ選挙にいこう:2007/10/16(火) 02:40:05
続きです。ほかのデータベースでは大丈夫なので、あるデータベースだけ
ペーストできない状態です。エクセルですとセルのロックというような機能も
あるのですが、フィールドはリレーションシップで他のテーブルともつながって
います。なにかヒントでも教えてくださいませんでしょうか。
636名無しさん@そうだ選挙にいこう:2007/10/16(火) 13:04:47
>>632

十進に変換まで出来ているのなら、
60進に戻せばいいだけなのでは?
参照先の例では時で割っているのだから、
小数点以下に60を掛ければ分になるんじゃないの。

>>633

Accessでは月(m)と混同しないため分はnで表現する
637621:2007/10/16(火) 20:49:05
本日無事2003に交換してきました。
ご相談に乗っていただいた皆様には大変感謝します。
どうもありがとうございました。( ´∀`)
638名無しさん@そうだ選挙にいこう:2007/10/16(火) 21:04:32
>>633
hh:mm:ss
hh:nn:ss

どちらも正解
639名無しさん@そうだ選挙にいこう:2007/10/17(水) 09:33:23
>>632
俺なら秒単位で積算してから、
時分秒に変換するがな。

最終的にhh:nn:ssスタイルの
文字列になってれば良いだけだろ?
640名無しさん@そうだ選挙にいこう:2007/10/18(木) 11:14:18
mdbファイルに外部ソフトから発行されたSQLをキャプチャする方法。
誰か知りませんか?
641名無しさん@そうだ選挙にいこう:2007/10/18(木) 11:17:40
>>640
あっちのスレで聞いてみてよ

【I love Access】やっぱりアクセスが良い
http://pc11.2ch.net/test/read.cgi/db/1182004821/
642名無しさん@そうだ選挙にいこう:2007/10/18(木) 13:56:11
すみません、データベース板にもカキコしたのですがレスなく
こちらに流れてきました。

ターミナルサービスでAccess2002を使用していますが、
空のmdbを開いただけでMSACCESS.EXEのプロセスが
CPUを60〜100%まで占有するという現象とその対策を
ご存知の方いませんでしょうか?

実際に他のプロセスのパフォーマンスが極度に低下する
ので、タスクマネージャからのガセ情報ではなさそうです...

なお、インストール時のターミナルサービス用最適化で
インストーラが自動的に除外するオプションの強制追加は
行っていません。

【 システム環境】
Windows Server 2003 R2 Standard SP2
Office XP Professional Editon SP3
OS、Officeいずれも最新パッチをすべて適用済

よろしくお願いいたします。
643名無しさん@そうだ選挙にいこう:2007/10/18(木) 21:37:31
>>642

ずばりの回答は出来んが、2002はターミナルサービスと相性が悪いみたい。
別件の問題では、「2002に解決方法はありません」とMSはいいきっているから
その問題も同じ口なんじゃね(2003では修正されているかも)
644642:2007/10/19(金) 08:23:43
>>643

レスありがとうございます。

> 2002はターミナルサービスと相性が悪いみたい

薄々、そんな気はしてました...

ランタイム版では全く発生しないので、Officeツールの
モジュールあたりかなと推測していますが...
645名無しさん@そうだ選挙にいこう:2007/10/19(金) 22:09:21
【 システム環境  . 】 WindowsXP Access2007
【 VBAが使えるか .】 いいえ
【 VBAでの回答  】 日本語でお願いします。
【 検索キーワード 】 アクセス・初心者・使い方

仕事でエクセルを使っています。
ΣとIFとVLOOKUPとSUBTOTALと電卓で乗り切ってきましたが、
余りにも項目が多くて最近PCがフリーズ・・・。

このままでは手書き帳簿に戻りそうなので、
Accseeを勉強してみようと思ったのですが
前バージョンの解説サイトばっかり出てきて、だめですorz

('A`)2007はインターフェイスが変わってって、サイト見てもわからんです。
2007対応の解説サイトきぼんぬ。
646名無しさん@そうだ選挙にいこう:2007/10/20(土) 10:13:40
>>645
本買え。
647名無しさん@そうだ選挙にいこう:2007/10/20(土) 13:55:06
>>645
accessクラブとか魔法使い工房はいいよ。
でも、金使って本を買わないと難しいと思う。
役に立つ知識はタダでは手に入りにくい。tipsは結構タダで手に入るんだけどね。
648名無しさん@そうだ選挙にいこう:2007/10/20(土) 16:19:38
>>646>>647
粗茶ですが(´・ω・)っ旦~旦~

背伸びして07買ったのが裏目に出ましたorz
アクセス書籍の購入を検討してみます。ddくす!
649名無しさん@そうだ選挙にいこう:2007/10/20(土) 23:29:11
魔法使いの工房でも扱ってるのは2002までだな。

2007独自機能の添付ファイル型とか複数値型とか使い方探しても
なかなか見つからない・・・
650名無しさん@そうだ選挙にいこう:2007/10/20(土) 23:47:16
>>649
ここで探してごらん、サンプルとかもあるから
http://blogs.msdn.com/access/

解らなければ桐にしとけ
651名無しさん@そうだ選挙にいこう:2007/10/20(土) 23:49:13
> 桐にしとけ

キタ━━━━━━(゚∀゚)━━━━━━ !!!!!
652名無しさん@そうだ選挙にいこう:2007/10/21(日) 18:03:26
>>645
Excel使い向きの本だと↓がおすすめだけど
これも2007より前にしか対応していない

「ExcelユーザーのためのAccess再入門」著:瀬戸遥
ttp://www.amazon.co.jp/dp/4798102873

ただ本質的な部分は2007でも変わっていないので
「ユーザインタフェースの違い」が問題なら
2007とそれ以前のバージョンの比較サイトでも検索すれば?
653名無しさん@そうだ選挙にいこう:2007/10/21(日) 18:35:18
>>652
dくす!表紙がカワユスww
比較サイトなんてあるんだ!? 探してみよっと。

にしても、officeの解説本出杉でビックリした。
本が無かったら使い方わからんぞ、ゲイツたん。
654名無しさん@そうだ選挙にいこう:2007/10/22(月) 16:49:47
超初心者です。すみません。
ACCESS2003は、東京だと現在どこで購入出来ますか?
宜しくお願いします。
655名無しさん@そうだ選挙にいこう:2007/10/22(月) 17:09:32
世界中だけど、Winny
656名無しさん@そうだ選挙にいこう:2007/10/22(月) 20:11:23
ヨドバシカメラとかサクラヤとか?
もう売ってないの?
657名無しさん@そうだ選挙にいこう:2007/10/22(月) 21:40:01
>654
amazonとかでかったら?
658名無しさん@そうだ選挙にいこう:2007/10/22(月) 21:44:51
>>652の本良さそうだね
エクセル使って場当たり的にマクロ使ったりする程度だったけどアクセス勉強しようと思ってます
アクセスは敷居が高いんですが、皆さんどうやって乗り換えたんでしょう?
659名無しさん@そうだ選挙にいこう:2007/10/22(月) 22:19:58
【 システム環境  . 】 Windows vista , Access2007
【 VBAが使えるか .】 いいえ
【 VBAでの回答  】 否
【 検索キーワード 】 リレーションシップ


ID   コード1   コード2   都道府県
1   100      45215T   東京都
2   200      89687G   京都府
3   300      89754K   福岡
・・・


のようなデータがあります。
このデータを、コード1にある数字を入力すると、コード2、都道府県が自動的に入力できるように
したいのですが、どのようにすればよいでしょうか?
660名無しさん@そうだ選挙にいこう:2007/10/22(月) 22:23:15
>>658

そんな考えでいると、すぐにつまずくと思うよ。
「いままでWord使っていたんだけど、Excelに乗り換えようかと思います」
ってぐらい変。
別のソフトと言う認識を持たなくちゃ。
661名無しさん@そうだ選挙にいこう:2007/10/22(月) 22:42:07
Σ(´Д`; )まじかお。 マックとmacくらい違うじゃないか。
662名無しさん@そうだ選挙にいこう:2007/10/22(月) 23:42:12
>>659
インタフェースをフォームにしてテキストボックス[コード2]の規定値を以下にする。

=DlookUp("[県名フィールド]","[県名マスタ]","[県名コード]='" & Me![コード1] &"'")
663名無しさん@そうだ選挙にいこう:2007/10/23(火) 01:29:19
名簿01    名簿02   名簿03     名簿04       名簿05
0001     鈴木たけし すずきたけし  東京都墨田区   24歳
0002     佐藤ひろし さとうひろし   神奈川県川崎市 26歳
0003     田中こうじ  たなかこうじ  大阪府北区     38歳

というデータがあって
フォームのテキストボックスに さとうひろし と入れて
ボタンワンクリックで名簿03からリンクしたデータが用意してある各種のテキストボックスに
表示されるようにするにはどうすればいいのでしょうか?
ボタンのコードの書き込みに工夫をするような気はするのですが・・・
664名無しさん@そうだ選挙にいこう:2007/10/23(火) 20:10:29
>>663
622と似ているけど「コマンド1」のクリックイベントに以下の内容をコーディング。

Me![名簿01](テキストボックス)=DLookup("[名簿01]","名簿マスター(テーブル名)",[名簿03]='" & Me!名簿03(テキストボックス) & "'")
Me![名簿02](テキストボックス)=DLookup("[名簿01]","名簿マスター(テーブル名)",[名簿03]='" & Me!名簿03(テキストボックス) & "'")
Me![名簿04](テキストボックス)=DLookup("[名簿01]","名簿マスター(テーブル名)",[名簿03]='" & Me!名簿03(テキストボックス) & "'")
Me![名簿05](テキストボックス)=DLookup("[名簿01]","名簿マスター(テーブル名)",[名簿03]='" & Me!名簿03(テキストボックス) & "'")
665659:2007/10/23(火) 21:21:06
>>662
ありがとうございます。
しかし・・・初心者の俺には難しすぎる・・・


DlookUp関数というやつを使うんですね。
自分は設定とかで出来ると思ってました。ルックアップみたいに、ウィザードが出てくるとか・・・

がんばってみます
666名無しさん@そうだ選挙にいこう:2007/10/24(水) 00:23:32
>>665
もっと具体的なテーブル名、フィールド名を出してくれれば具体的に説明できると思う。がんがれ
667名無しさん@そうだ選挙にいこう:2007/10/24(水) 05:50:07
抽出条件で、14日後以前を指定したいのですが、どう書けばよいですかね?
今日が2007年10月1日としたら2007年10月15日以前の記録を抽出したいのですが。
初心者な質問でもうしわけないです。
よろしくお願いします。
668名無しさん@そうだ選挙にいこう:2007/10/24(水) 07:34:02
>>667
DateAdd使えるだろ。
669667:2007/10/24(水) 10:52:23
>>668
Between Date() And DateAdd("d",14,Date()) Or Between Date() And DateAdd("yyyy",-100,Date())

としました。全然わからない私なりにはがんばったほうだと思います。
ありがとうございました。
670名無しさん@そうだ選挙にいこう:2007/10/24(水) 13:05:19
>>669
100年前から14日後だったら
Between DateAdd("yyyy",-100,Date()) and DateAdd("d",14,Date())
って感じのほうがよくね?
671名無しさん@そうだ選挙にいこう:2007/10/24(水) 14:51:27
単に <= dateadd("d",14,date()) はダメなんだっけ?
672名無しさん@そうだ選挙にいこう:2007/10/24(水) 19:09:05
>>671
なんで100年前からなのか分からんので
そのまま条件残したんだけど、
その方がシンプルだよな。
673名無しさん@そうだ選挙にいこう:2007/10/27(土) 12:53:28
accessスーパーテクニックという本を買って勉強しています。
そこで、フォームにプロパティを追加するという項目があるんですけど、
フォームにプロパティーを追加すると、どんなメリットがあるのですか?
674名無しさん@そうだ選挙にいこう:2007/10/27(土) 12:56:16
追加しなくても最初からあるもので足りるよ
675名無しさん@そうだ選挙にいこう:2007/10/27(土) 13:26:31
>>674
なのに、追加する方法がかいてあるのですが、どのように使うのかがわからなくて。
だって、例ではHello World!を表示するだけだし。
676名無しさん@そうだ選挙にいこう:2007/10/27(土) 13:34:03
>>675
何か勘違いしてるぞ
677名無しさん@そうだ選挙にいこう:2007/10/27(土) 13:41:19
>>676
おおっ、そうなんですか?
お暇ならご教授を。。。
678名無しさん@そうだ選挙にいこう:2007/10/27(土) 13:54:39
Hello World!を表示できるってすごく便利だよね。
679名無しさん@そうだ選挙にいこう:2007/10/27(土) 17:25:29
便利だけど、ぶっちゃけその程度のことにプロパティ追加とかいらないよね。
680名無しさん@そうだ選挙にいこう:2007/10/27(土) 21:27:02
プロパティ追加ってどうやるの?
681名無しさん@そうだ選挙にいこう:2007/10/27(土) 22:53:49
>>675
俺は、進捗状況を表示するformを作って、そのform内の変数を
Form("Formname").xxxxx (xxxxx->Property)
で操作している。
682名無しさん@そうだ選挙にいこう:2007/10/28(日) 10:31:55
とりあえず勉強段階で、プロパティ追加は気にするな。
標準装備のプロパティを使いこなせるようになったらだな。
683名無しさん@そうだ選挙にいこう:2007/10/30(火) 15:39:09
プロパティ追加はAllow bypass key のみで良い
684名無しさん@そうだ選挙にいこう:2007/10/30(火) 23:33:49
【 システム環境  . 】 WindowsXP, Access2003
【 VBAが使えるか .】 いいえ
【 VBAでの回答  】 可
【 検索キーワード 】 excel インポート パス ファイル名

エクセルのデータを条件付きで抽出したいのですが、非常に困っています。
テーブルにインポートしてクエリを使って条件を出せば使えるのでしょうけど、
インポート元のファイル名が更新ごとに変わってしまいます・・・
例:**yymmdd.xls yymmdd**.xls yymmdd.xls です。
この条件で毎回最新のファイルを自動で条件付インポートしたいのですが、方法が判りません。

今日1日調べまくって、エクセルファイルのあるディレクトリの全てのファイル名を取得して、
クエリで並び替え&最後のみ表示で最新のファイル名を表示させることはできました。
しかし、この先に全く進めません・・・
利用した情報は
ttp://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1413141159
これをファイル名ディレクトリ名だけ変えてクエリを足しただけです。

調べているうちにもっとスマートに出来そうな感じはしましたが、結局わからず仕舞いでした。
方法を紹介しているサイトや、アドバイスを頂けないでしょうか?
よろしくお願いします。
685名無しさん@そうだ選挙にいこう:2007/10/30(火) 23:46:38
>>684
ファイル名の法則はyymmddなのかな?
だとしたらDir関数でループかけて一番値が大きい物を取得してインポートすればいいんじゃないかな?
686684:2007/10/31(水) 00:19:55
>>685
早速ありがとうございます!!
ご指摘の通り、ファイル名の法則は前後に全角文字が入ることもありますが、yymmddが必ず含まれます。
私が参考にした場所にも同じ回答がありますね。
しかし、VBAがまともに組めないのでサッパリ解らんのですorz
DIR関数で15分くらい調べてみたところ、
最大値のとり方や、具体的なインポート方法までは見つけられませんでした。
インポートに必要な関数や、エクセルの列指定などに必要なコマンド(?)があったら教えてください。
仕事中に調べてみたいと思います。。。
VBAの本買って勉強もしないとですねf^^;

重ね重ねよろしくお願いします。
687名無しさん@そうだ選挙にいこう:2007/10/31(水) 02:01:54
>>686
対象ファイルの前後に文字が入るとすると、バックアップ用のフォルダを分けた方がいいかもね。

'ターゲットフォルダ
Dim strTarget as String
'バックアップファイル名
Dim strBkFile as String

strTarget = (ファイル保存場所 例:C:\Target\*.xls) 
strBkFile = "C:\Target\bk\" & Format(Date(),"yymmdd") & Format(Time(),"hhnndd") & ".xls"

'.XLSファイルを抽出
Do While Dir(strTarget) <>""
strTarget = Dir(strTarget)
Loop

'XLSファイルを指定のテーブルにインポート
DoCmd.TransferSpreadsheet acImport,〜(詳しくはTransferSpreadsheetでググってみて[引数など別途変数必要])

'インポートしたXLSファイルをバックアップフォルダに移動

Name strTarget As



上のコーディングはあくまで流れと考えて、メソッド等分からなければググるかVBEに貼り付けて随時F1キーで確認することをお勧めする
688名無しさん@そうだ選挙にいこう:2007/10/31(水) 02:02:44
すまん。最後は

Name strTarget As strBkFile

です
689684:2007/10/31(水) 07:53:43
>>687
ありがとうございます〜
この流れで今日調べてみます!!
ある程度ヒントがあればググるのが楽になるので非常に助かります。

690名無しさん@そうだ選挙にいこう:2007/10/31(水) 09:18:59
>>689
最大値の取り方やインポートをDIR関数で15分くらい調べたって、それは調べ方が
悪いし発想がずれている。
最大値なんて、その日付が付いてるファイルでいえば並べ替えれば最初か最後に
なるんだから、関数で補いたいならソートって言葉で検索するとか。
インポートだって、VBAのヘルプでインポートで検索すれば関数は見つかるんだか
ら、その関数名やAND条件でExcelとかいろいろつけてググるとか・・・。
691名無しさん@そうだ選挙にいこう:2007/10/31(水) 20:59:06
最大値は月曜だけど土曜日曜のぶんをインポートし忘れたから
こっちを指定して取り込めるように・・・とか言い出したらおれ怒るよ。
692684:2007/10/31(水) 22:06:28
今日は別件のトラブルで作業する時間なかったorz

>>690
最大値でソートしても最大値の前に全角文字(不統一な名前)が入っているファイルがあるので、
ソートでは不可能かと思ってるんですが・・・
調べ方が悪いのは認めます。
コード見ても判らないから時間かかって仕方ないっす。

>>691
新規でやろうとしている事ですから流石にそれはありませんよ。

いずれにせよ色々突っ込んでもらえて助かりますです。。。
693名無しさん@そうだ選挙にいこう:2007/10/31(水) 22:54:46
うんこファイル名から目当てのyymmddを取得するロジックを考える必要があるね。
全角文字のみ取り除くとか6桁数字のみ抽出するとか方法はいろいろ考えられるけど
いずれにせよVBAは正規表現使えないからある程度ゴリゴリ書くことになるのかな・・・

FileDateTime()で取得できるファイルの更新日時を使っていいなら楽なんだけど
こういううんこ仕様なシステムは一番古いのが一番新しいとか平気でありそうだから
おそらくダメなんだろうね。
694684:2007/11/01(木) 00:22:41
ファイル名は自分もアフォ仕様だと思いますw
ルールを変更する権限が無いのであるものでやらなければならない状況でして…

FileDateTime()も一応試してみようと思っています。
勿論そのレベルに到達できればの話ですがorz
695名無しさん@そうだ選挙にいこう:2007/11/01(木) 00:28:06
アクセス2007で資料整理をフォームでしているのですが、あるテキストボックスの
文章の一部を別のテキストボックスにコピーペーストしたいのですが、リッチテキスト
に変えるとペーストできなくなるようです。ながめるだけでは役に立たないのでどうにか
したいなと思うのですが、どうすれば貼り付けられるようになるのでしょうか。
また一般にリッチテキストのまま書式を保って貼り付けられるようになるのでしょうか?
696名無しさん@そうだ選挙にいこう:2007/11/01(木) 16:59:07
【 システム環境  . 】 Windows XP SP2, Access2003
【 VBAが使えるか .】 はい
【 VBAでの回答  】 否

TableA.ColumnA <> TableA!ColumnB
という条件式において、TableA!ColumnBと言うのは何を意味しているのでしょうか?
table.columnは他のDBMSでも見ますが、table!columnという形式はAccessで初めてみました。。
697名無しさん@そうだ選挙にいこう:2007/11/02(金) 00:23:59
コレクションとプロパティの違い。
違わない。
698名無しさん@そうだ選挙にいこう:2007/11/02(金) 00:38:15
違うのか違わないのかはっきりしてください!(><;)
699名無しさん@そうだ選挙にいこう:2007/11/02(金) 03:07:19
アクセス2000から2007に乗り換えたのですが、VBAが使えないなど致命的に
使いかってが悪くなったように思えます。何かよくなった点があるのでしょうか?
700名無しさん@そうだ選挙にいこう:2007/11/02(金) 10:33:55
>>699
ゲイシが儲かる
701名無しさん@そうだ選挙にいこう:2007/11/03(土) 00:02:58
いくらなんでもVBA使えなくなったらもう誰も買わないし使わなくなるだろw

どんな2007なんだよwww
702名無しさん@そうだ選挙にいこう:2007/11/03(土) 00:04:34
>>699
ふ〜ん、俺の2007もVBA使えないのかなぁ?
703名無しさん@そうだ選挙にいこう:2007/11/03(土) 00:12:05
正確には2000で作ったコマンドなどのマクロを移入するとなぜか書き込めないし
いままで自動で書き込んでくれた機能がなくなったのでVBA使うにもとっかかりが
なくなってしまった。ワードでもマクロ使うときは2000で記録させてそれを利用して
いるのですが、一動作ごとすべて記録してくれた95の頃がナツカシス・・・
704名無しさん@そうだ選挙にいこう:2007/11/03(土) 00:15:08
日本語で頼む。
705名無しさん@そうだ選挙にいこう:2007/11/03(土) 02:13:13
【 システム環境  . 】 Windows2000&XP, Access2000
【 VBAが使えるか .】 はい
【 VBAでの回答  】 可
【 検索キーワード 】 ACCESS 固定長エクスポート

ACCESSにて固定長のデータをテキストファイルに出力していました。
今回DBのレイアウト変更を行い6桁→8桁に変更したところ
どうしても変更が出力に反映されません。
カンマ区切りならうまく出力できるのですが、固定長データだと
DBのレイアウト変更に対応できません。
どうも、DBのレイアウトを作る際に、エクスポート定義ファイルみたいなのを
作成し開始位置、幅等を作成するみたいなのですが、このエクスポート定義ファイル
を作成する方法をどなたか教えていただけないでしょうか?
706名無しさん@そうだ選挙にいこう:2007/11/03(土) 09:36:35
>>705
手動でエクスポートやってみ。定義、保存があるから。
707名無しさん@そうだ選挙にいこう:2007/11/03(土) 09:46:33
漠然とした質問ですが。
イベントプロパティーでたとえばダブルクリックでPublic Functionが呼び出せる場合に、
これをサブプロシジャーに書き換えて、キーダウンイベントでそのPublic FunctionをCallするように書き直すと
うまく機能しないことがあります。仕方が無いので、透明ボタンを作成して呼び出すようにしています。
どういう理由が考えられますか?当該コントロールにfocusがあるかどうかでしょうか?
708名無しさん@そうだ選挙にいこう:2007/11/03(土) 09:47:18
文字列をつくればいいだけなんだから、VBAで汁
709名無しさん@そうだ選挙にいこう:2007/11/03(土) 23:34:44
>>693
正規表現使えなくはないよね、VBScript.RegExpオブジェクト使えば。
710名無しさん@そうだ選挙にいこう:2007/11/05(月) 21:03:20
>706

thx!!

無事うまくいきました。
711名無しさん@そうだ選挙にいこう:2007/11/05(月) 23:54:18
>>706
そのやり方は、全オブジェクトのインポートをするたびに
設定もしなきゃならんから俺は使わん。
712名無しさん@そうだ選挙にいこう:2007/11/06(火) 01:09:43
>711

iniファイルを使うとか???
713名無しさん@そうだ選挙にいこう:2007/11/06(火) 02:15:35
下のようなテーブルがある場合に、山に行かなかった人を抽出するにはどういう風にするのでしょうか?
クエリでいろいろ頑張っていますが、出来ません。SQL文でもVBAでも結構ですので、ご教授をお願いします。

名前 行った場所
山田 海
山田 川
鈴木 山
鈴木 川
鈴木 海
714名無しさん@そうだ選挙にいこう:2007/11/06(火) 06:27:54
>>713
ワークテーブルで山に行った人を削除するのが
一番手っ取り早い気がする。
715名無しさん@そうだ選挙にいこう:2007/11/06(火) 08:02:59
<>"山"
716名無しさん@そうだ選挙にいこう:2007/11/06(火) 08:34:53
>>705

shema.iniを使うのがベスト。

http://support.microsoft.com/kb/155512/ja
717713:2007/11/06(火) 09:29:33
>>713 ありがとうございます。
山へ行った人を抽出して、全員のリストから削除して残ったのが山へ行かなかった人ということですね
例で言うと、山へ行った鈴木さんを全員のリストから削除して、残った山田さんが山へ行かなかった人になるということですね。
削除クエリを使うのでしょうか?
削除クエリは使ったことがないのですが頑張ってみます。ありがとうございました。


>>714
下記のように山を含まないレコードが抽出されるだけです。山へ行かなかった人を抽出したいのです。

山田 海
山田 川
鈴木 川
鈴木 海
718名無しさん@そうだ選挙にいこう:2007/11/06(火) 09:30:13
間違えました
>>714さん、ありがとうございました。
719名無しさん@そうだ選挙にいこう:2007/11/06(火) 10:21:28
>>717
サブクエリ使えよ。
select distinct 名前 from テーブル where 行った場所 = '山';
で山に入った人が抽出できるんだから、
select distinct 名前 from テーブル where 名前 not in (
select distinct 名前 from テーブル where 行った場所 = '山'
);
とかで抽出できるだろ。

720名無しさん@そうだ選挙にいこう:2007/11/06(火) 11:27:12
>>711
意味がわかんないんだけど。
固定長だからフィールドサイズが異なるものを扱う場合は、確かにその度に
設定をするけど、1度設定して保存してしまえば次からは定義名指定でOKで
すよね。
これを使わずに、固定長を簡単に扱うことができるんですか?
721名無しさん@そうだ選挙にいこう:2007/11/06(火) 11:34:00
>>711
インポートの時、オプションのインポート/エクスポートの定義をチェックでOK。
722名無しさん@そうだ選挙にいこう:2007/11/06(火) 14:36:08
>720
>>711のいっていることはオブジェクトのインポートのことであって、
テキストファイルのことではない。
723名無しさん@そうだ選挙にいこう:2007/11/06(火) 15:15:12
【 システム環境  . 】 WindowsXP, Access2002
【 VBAが使えるか .】 いいえ
【 VBAでの回答  】 可
【 検索キーワード 】 access 宛名 印刷 位置etc



ttp://support.microsoft.com/kb/879856/ja

上のページを参考にしてラベル用のレポートを作成したのですが、
印刷位置の確認欄が、レポート開いた時と印刷時の2回出てきます。
また確認欄でキャンセルした場合に実行時エラー13「型が一致しません」という表示されます。
キャンセル時にエラーが発生せず、印刷位置の確認を1度のみにするには、
どこを直せばいいのでしょうか。
ご回答お願いします。
724721:2007/11/06(火) 18:58:30
>>721
紛らわしかった。テーブルオブジェクトをインポートする時のことデス。
725名無しさん@そうだ選挙にいこう:2007/11/07(水) 01:04:51
Str関数ってどういった時に使うんですか?
726名無しさん@そうだ選挙にいこう:2007/11/07(水) 01:08:50
使いたくなった時
727名無しさん@そうだ選挙にいこう:2007/11/07(水) 01:36:48
>>719
ありがとう。勉強してみるよ。谷尻本のSQLを読み返してみるよ。
助かったよ。
728名無しさん@そうだ選挙にいこう:2007/11/07(水) 10:15:03
質問です。

Access2000形式で作成したmdbファイルを
Access2000で起動し最適化を行いながら運用していた場合は、
20MB前後のファイルサイズなのですが、
Access2003で起動し最適化を行いながら運用した場合、
ファイルサイズが50MB前後になってしまいます。(徐々に大きくなっていきます。)
このまま運用して大丈夫でしょうか?

ご存知の方ご教授お願いします。
729名無しさん@そうだ選挙にいこう:2007/11/07(水) 12:53:38
>>728
大丈夫かどうか判断するのはお前。
730名無しさん@そうだ選挙にいこう:2007/11/07(水) 12:56:51
>>728
レコードレベルのロックにしてると肥大化するらしい。
731名無しさん@そうだ選挙にいこう:2007/11/07(水) 19:21:29
すみませんがおしえてください。
アクセス2003からエクセル2003へvbaでデータ
をセルに渡しています。
データまでをきちんといっているのですが
最後の別名保存と印刷がうまくいきません。
aaaa.workbooks.saveas("d:\yy\jjj.xls")
でいいかと思ったのですが、元のファイルに上書きダイアログが出ます。
またエクセルでマクロ記録させたのを直し貼り付けても同じでした。
印刷も同じでした。以前アクセスエクセル2000を使っていて
問題なく動いた同じコードを書いたのです。
エクセルのマクロ記録のものをなおしても駄目だったのでこちらでお聞きしました
732名無しさん@そうだ選挙にいこう:2007/11/07(水) 20:16:57
>>731
バージョン上がる毎にメソッドの仕様変更が行われるのに"なに言ってんの?この人"と思った
俺は2002までしか持っていないんで嘘教えるわけにもいかんから、マニュアルで
WorkbookオブジェクトのSaveAsメソッドの項目引いてみな?
733名無しさん@そうだ選挙にいこう:2007/11/08(木) 07:52:00
>>724
それでも意味がわからない。
インポート/エクスポートの定義も作ってしまえば、それを別MDBに
インポートできるし。
734名無しさん@そうだ選挙にいこう:2007/11/08(木) 21:59:40
確かAccess95時代に一生懸命作ったインポート定義がAccess97にバージョンアップした時に使えなくなって
仕方なく全部作り直ししたインポート定義がAccess2000にバージョンアップした時にまた全部使えなくなって
そこでもうブチ切れでした。

それ以来外部データの取り込みとかは必ずインポート定義以外の方法でやるようにしてるんだけど、最近はどうなのかね。
2003で作ったのを2007にバージョンアップしてもちゃんと動くのかな・・・?
735名無しさん@そうだ選挙にいこう:2007/11/09(金) 07:36:10
>>734
オレは使えた。
736名無しさん@そうだ選挙にいこう:2007/11/09(金) 20:25:51
>>734
2000→2003は使えた
737名無しさん@そうだ選挙にいこう:2007/11/10(土) 20:21:57
おしえてください。
今フォームでの検索画面を作成しています。
出来ればテキストボックスは1つで、文字型か数値型で検索する
フィールドを選択することが出来ますか?
どこかでそんなやり方があったのを見た気がするのですが
調べてもわかりませんでした。お願いします。
738名無しさん@そうだ選挙にいこう:2007/11/10(土) 20:42:50
>>737

val関数で普通に値を返してきたら数値。
エラーだったら文字列。
普通の四則演算でも出来るような気がする。
例えば、

Me!テキスト0 + 0

とか。
739名無しさん@そうだ選挙にいこう:2007/11/10(土) 22:49:07
エラーになるのをOn Errorで引っ掛けるのもなんだか
ここはIsNumeric()使いなよ・・・
740737:2007/11/11(日) 22:31:36
>739さん
If IsNumeric([テキスト350]) Then
で出来ました。苦労してのが、
一気に解決。
ありがとうございます。
>738さんもありがとうございます。
いろいろな考えがあるのですね。
741名無しさん@そうだ選挙にいこう:2007/11/12(月) 19:23:02
val関数では数値か文字の判定は完全にできない。
日付のつもりで 「11/12」と入れると数値が返ってくる。
742名無しさん@そうだ選挙にいこう:2007/11/12(月) 19:24:42
d"11/12" とか書けよ
743名無しさん@そうだ選挙にいこう:2007/11/12(月) 19:52:35
【システム環境.】 WindowsXP, Access2000
【VBAが使えるか】 はい
【VBAでの回答 】 ぜひ
【検索キーワード】 「access vVBA copyobject」「access VBA Transfer -Excel -テーブル」など

しょぼ質問だす、すまそ。
VBAで自分のMDBに他のMDBのフォームをインポートしたいんだが可能?
DoCmd.CopyObjectは完全に逆向きだし、
DoCmd.Transfer…はテーブルとかエクセルとかだしで「あれ?」って感じ中。

ようはメニューの「ファイル」→「外部データの取り込み」→「インポート」で
フォームやモジュールを選んでインポートする処理を自動化したいんだけど、できないものでしょか。
ぐぐってはみたんだけどどーもヒットしなくて。。
ぐぐり方が悪いんだろけど知ってたらよろしくです。
744名無しさん@そうだ選挙にいこう:2007/11/12(月) 20:51:34
オブジェクトのインポートは無理だと思うが、
参照設定によって別のmdbのフォームやモジュールを実行することはできると思う。

http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/vbaac10/html/acconSetReferenceToDatabase.asp
745名無しさん@そうだ選挙にいこう:2007/11/12(月) 21:15:24
>>743
HELPでTransferDatabase メソッドは調べてみた?
746743:2007/11/13(火) 01:00:53
>>745
TransferDatabaseっすね、ちと調べてみまっす。ありがd!

>>744
できれば自MDBのフォームやモジュールとして取り込みたいので
TransferDatabaseで実現できなかったときにやってみます〜、ありがd!
747名無しさん@そうだ選挙にいこう:2007/11/13(火) 13:16:41
質問です。
帳簿形式のフォームのテキストボックスには、
255文字しか書き込めない理由を教えて下さい。
748名無しさん@そうだ選挙にいこう:2007/11/13(火) 13:20:12
帳簿形式だから
749名無しさん@そうだ選挙にいこう:2007/11/13(火) 16:55:40
帳簿形式ってな〜に?
HELP で検索してもありません。
750名無しさん@そうだ選挙にいこう:2007/11/13(火) 16:58:31
帳簿形式だから
751名無しさん@そうだ選挙にいこう:2007/11/13(火) 17:41:20
帳票形式でした。すみません。教えて下さい。
752名無しさん@そうだ選挙にいこう:2007/11/13(火) 17:58:16
>>751の使っているフォームが連結フォーム
●連結されている列の型がテキスト型
だからだと思われ

あとはHELPでフィールドの型と特徴を自分で調べれ

753751:2007/11/13(火) 18:24:27
>>752
そのことはついさっき自己解決しました。ありがとうございます。

実は一昨日、上司の指導でがプロジェクトにしてSQLにつなぐことで何千文字かが入るようになるようにする、
ということになりました。僕は初心者なのでよく分からないのですが、
言われるがままにキーボードを叩いて、そういう風にしてみたところ、
単票では入るのですが、帳票形式では255しか、表示されなくなりました。
今からaccdbに戻すというのもしんどいので、
解決法分かる方、宜しかったらご指導願えませんでしょうか。
長文申し訳ありません。
754名無しさん@そうだ選挙にいこう:2007/11/13(火) 23:13:48
ちょっと混乱してしまったので質問します。
ADO方式でsqlで発行したのですが、どうもうまくいかないようです。
今までもやってたのに何か間違えてる?
もうループ状態です。
Dim cnn As New ADODB.Connection
Set cnn = Application.CurrentProject.Connection
Set rst = New ADODB.Recordset
Dim SQL As String
SQL = "SELECT 職番.番号, FROM 職番;"
rst.Open SQL, cnn, adOpenKeyset, adLockOptimistic
rst.MoveFirst
Do Until rst.EOF
MsgBox rst!番号
rst.MoveNext
Loop
End Sub
sql文はクエリ作成からのコピーであとで
いろいろ変化させるつもりなのですが、
まず開いていないようなのです。
単純な間違えなのか、他に設定があったのかわからなくなりました。
お願いします。
755名無しさん@そうだ選挙にいこう:2007/11/13(火) 23:29:18
>>754

rst型宣言してみては。
756名無しさん@そうだ選挙にいこう:2007/11/13(火) 23:31:24
>>754

あと、FROMの前のカンマ消せ。
757名無しさん@そうだ選挙にいこう:2007/11/14(水) 00:21:45
質問です。
帳票フォームの値の取得の仕方が分かりません。
758名無しさん@そうだ選挙にいこう:2007/11/14(水) 02:15:22
??帳票フォームのあるコントロールを見たいということかな?
それともあるレコード??前者の場合Forms!frm_○○○!コントロール名だし、後者はDlookupで拾ってこないと無理だね
759名無しさん@そうだ選挙にいこう:2007/11/14(水) 19:42:52
質問ですが、AccessのレポートをWordにそのまま出力する方法はありますか?
ツール→Office Link→Wordに出力
とやると、フォームから入力したデータだけが出力されてしまいます。
ファイル→エクスポートでも同じです。

ファイル→エクスポートでスナップショットで保存するとうまくいくのですが、
今度は編集できないのでWordがいいです。
760名無しさん@そうだ選挙にいこう:2007/11/14(水) 20:56:43
Wordはいまだにリッチテキストの枠から抜け出していないから
Accessのレポートのような自由配置の文章は基本的に表現できない。
761名無しさん@そうだ選挙にいこう:2007/11/14(水) 21:31:37
Publisher 使ってください
Word はワープロです
762名無しさん@そうだ選挙にいこう:2007/11/14(水) 21:32:35
>>754

志村、全角スペース!
763名無しさん@そうだ選挙にいこう:2007/11/14(水) 23:15:23
【 システム環境  . 】 Windows XP
【 VBAが使えるか .】 はい
【 VBAでの回答  】 否

初心者厨です。

Access 2003をインストールし、
Access97にて作成したmdbを開こうとしたら「[データベースを変換/開く] ダイアログ ボックス」が表示されました。
変換を選択したところ、問題なく変換されたようなのですが、
mdbファイルを開くたびに、DBのパスワード入力を求められるようになりました。

なんで97の動作と変わってしまうんだろう…そこまでは自動では移行できないから
自分でなんとかしろよ、ということなんでしょうか…。

パスワード入力を毎回するのは面倒なので、
自動化したいのですが…一般的にはどのようにするのでしょうか。

(当方が作成したmdbファイルではないので、
 97時代のファイルはあるものの、
 97のときはどうやって実現していたのかはわからないです)。
764名無しさん@そうだ選挙にいこう:2007/11/14(水) 23:18:09
>>760
ありがd
765名無しさん@そうだ選挙にいこう:2007/11/15(木) 00:11:09
>>758
ありがとうございます。

Dlookupのほうです。
ムズそうです...
766名無しさん@そうだ選挙にいこう:2007/11/15(木) 01:42:28
>>763
97時代のmdbをどこかにうpしてくれれば教えてあげる
767名無しさん@そうだ選挙にいこう:2007/11/15(木) 11:38:09
初心者です。教えて下さい。OSはウィンドウズXPでアクセスは2003です。
一対多の関係の2つテーブルでクエリを作成すると一側の主キー順に並ぶ
のですが。
一対多、一対多の3つのテーブルでクエリを作成するとそうなりません。
ある程度主キー順に並ぶかと思ったのですが。
どういう基準で並び順がきまるのが理解できません。


768名無しさん@そうだ選挙にいこう:2007/11/15(木) 12:15:41
Accessでは、主キー順にデータが保存されているわけではなく、データが「集まってる」だけなので、並べ替え指定しなければどう並んでもおかしくないらしい。
769名無しさん@そうだ選挙にいこう:2007/11/15(木) 12:18:45
当り前だ
Accessでは、って何だよ
770名無しさん@そうだ選挙にいこう:2007/11/15(木) 13:19:21
>>768どうもありがとう。
ただまだちょっと納得ができない所が・・・
テーブル1個、又は2個からクエリを作成すると主キー順に並ぶんですが。
テーブルが多いと並びはアクセスまかせで並ぶと考えればいいのでしょうか。
771名無しさん@そうだ選挙にいこう:2007/11/15(木) 17:05:18
結合の仕方をうまくやれば、テーブルの数に関係なく、
あるテーブルの主キーの並びにすることは可能である。
772名無しさん@そうだ選挙にいこう:2007/11/15(木) 17:08:42
そんなの保証されない
773名無しさん@そうだ選挙にいこう:2007/11/15(木) 17:19:19
>>770
並びがおかしいクエリのSQL文を載せてくれないか。
改善策を指摘できるかもしれない。
774名無しさん@そうだ選挙にいこう:2007/11/15(木) 17:22:00
並び順を指定しないのに勝手に並べってのは、犬でも無理
775名無しさん@そうだ選挙にいこう:2007/11/15(木) 18:02:33
すべてじゃないが、できる場合もあるってこと。
776名無しさん@そうだ選挙にいこう:2007/11/15(木) 18:09:53
何を言ってるかと思えば、画面に表示される順番のことか。
そんなん、指示しなければ Accessの勝手だよ。
777名無しさん@そうだ選挙にいこう:2007/11/15(木) 18:47:03
>テーブル1個、又は2個からクエリを作成すると主キー順に並ぶんですが。

それは「たまたま」だと認識するべき
778名無しさん@そうだ選挙にいこう:2007/11/15(木) 18:51:13
うん、テーブル結合処理終わった時の状態で表示してるだけ。
779名無しさん@そうだ選挙にいこう:2007/11/15(木) 18:56:19
>>773 お恥ずかしいです。実は超図解アクセス2003総合編で見積書作成クエリ1
からフォームを作成している時、何で脈略の無い並びで表示されているのか
疑問に思ったもので・・・。
SQLはこれでいいのでしょうか?
SELECT DISTINCTROW 見積データ.見積ID, 見積データ.見積内容,
 見積データ.納入場所, 見積データ.顧客ID, 顧客マスター.会社名,
顧客マスター.担当社員ID, 社員マスター.氏名, 見積データ.見積日,
 見積データ.見積有効期限
FROM 社員マスター INNER JOIN (顧客マスター INNER JOIN 見積データ ON 顧客マスター.顧客ID=見積データ.顧客ID) ON 社員マスター.社員ID=顧客マスター.担当社員ID;
780名無しさん@そうだ選挙にいこう:2007/11/15(木) 18:58:51
order by 入れろよ。
781名無しさん@そうだ選挙にいこう:2007/11/15(木) 19:38:00
見やすくするため、フィールドは整理したが、
このSQL文では見積データの主キー順に並ぶため、ORDER BY の時間が必要ない。

SELECT 見積データ.*,顧客マスター.会社名,社員マスター.氏名
FROM (見積データ
INNER JOIN 顧客マスター ON 顧客マスター.顧客ID=見積データ.顧客ID)
INNER JOIN 社員マスター ON 社員マスター.社員ID = 顧客マスター.担当社員ID;
782名無しさん@そうだ選挙にいこう:2007/11/15(木) 19:53:28
>>781
なんか危なそうな思考だな
その前に、他の操作でテーブル弄ってても、オケなのか?
783名無しさん@そうだ選挙にいこう:2007/11/15(木) 21:11:04
[補足]
長年の経験によると以下のような法則があることに気付いた。

クエリの構造が以下の場合

見積(a) 多対1 顧客(b)
顧客(b) 多対1 社員(c)

(a)の主キーで並び替える

SELECT *
FROM (a INNER JOIN b) INNER JOIN c

※INNER JOIN は LEFT JOIN でも可(RIGHT JOIN は不可)
784名無しさん@そうだ選挙にいこう:2007/11/15(木) 21:16:35
追記  必ず a →  b →  c の順に並べることがポイント
785名無しさん@そうだ選挙にいこう:2007/11/15(木) 21:18:03
所詮、計算機だから、そりゃルールはあるだろう。

そのルールは予告なく変更される可能性もあるけど。
786名無しさん@そうだ選挙にいこう:2007/11/15(木) 21:54:08
787名無しさん@そうだ選挙にいこう:2007/11/15(木) 21:56:27
ミスってた。

>>781の場合は  社員マスタは LEFT JOIN でないとうまくいかない。
788名無しさん@そうだ選挙にいこう:2007/11/15(木) 22:01:22
INNER JOIN ではなく LEFT JOIN だけなら 確実にできるようだ。 
789名無しさん@そうだ選挙にいこう:2007/11/15(木) 22:16:15
[正解]

SELECT 見積データ.*,顧客マスター.会社名,社員マスター.氏名
FROM (見積データ
LEFT JOIN 顧客マスター ON 顧客マスター.顧客ID=見積データ.顧客ID)
LEFT JOIN 社員マスター ON 社員マスター.社員ID = 顧客マスター.担当社員ID;
790名無しさん@そうだ選挙にいこう:2007/11/15(木) 22:23:12
よくわからないが>>783がその長い期間になにも学習してないことはわかった。
791名無しさん@そうだ選挙にいこう:2007/11/15(木) 22:24:13
もう突っ込まれてるけど、order byつければ済む話。

仮に「○○のようだ」という説の確実性が99.9%by当事者主張だったとしても、
そんな仕様外の挙動に依存してまで正規SQL句のorder byを使いたくないって、
いったいどういう神経
792名無しさん@そうだ選挙にいこう:2007/11/15(木) 22:32:43
すみません
Access のオートナンバーなのに番号順じゃなくて
変な番号になってしまったレコードが1個出来てしまいました

例:
1
2
3
13421398475923459823
5
6
7

みたいな風になってしまっています
他の場所のデータは壊れていないみたいなので
番号だけ直したいのですが直そうとすると
オートナンバーなので警告が出てしまって直せません

どうすれば直せますか?
793名無しさん@そうだ選挙にいこう:2007/11/15(木) 22:39:55
更新クエリで
794名無しさん@そうだ選挙にいこう:2007/11/15(木) 22:53:32
>>791
チューニングを極限まで極めようとすると、
SQL文の構造の検討は重要だよ。
795名無しさん@そうだ選挙にいこう:2007/11/15(木) 23:05:09
796名無しさん@そうだ選挙にいこう:2007/11/15(木) 23:12:55
チューニングw

極限www



Order Byつけ忘れてるやつがwwwww
797名無しさん@そうだ選挙にいこう:2007/11/15(木) 23:18:28
更新クエリでテーブルより該当データの数をカウントしたいのですが、
0件の場合、まったく反応してくれません。
0件をカウントすることはできないのでしょうか。
798名無しさん@そうだ選挙にいこう:2007/11/15(木) 23:26:42
指定しないで画面の並び順に拘る奴は、桐にしとけ
桐なら論理行番号あるど
799名無しさん@そうだ選挙にいこう:2007/11/15(木) 23:27:25
>>796
order by なんてユーザに見せる最後の段階でつければよいものであって、
それ以前に膨大な数のSQL文を処理せにゃならん場合があるだろが・・・
800名無しさん@そうだ選挙にいこう:2007/11/15(木) 23:33:03
>>781はまさにその「ユーザに見せる最後の段階」ってやつなのに
order byなしで並び順が保証されるとか思ってるやつw
801名無しさん@そうだ選挙にいこう:2007/11/15(木) 23:39:03
>>799
元々、最終的に画面で見る並び順を問題にしてるんだろ
802名無しさん@そうだ選挙にいこう:2007/11/15(木) 23:49:57
俺はテーブルを開く時と同様にクエリでも主キー順に開けるようにする手法を提示しただけだ。
803名無しさん@そうだ選挙にいこう:2007/11/15(木) 23:52:10
テーブルを開く時は主キー順に画面表示される、っと
804名無しさん@そうだ選挙にいこう:2007/11/16(金) 00:15:18
うちのアクセスはテーブル開くと
最近更新した行が最後に来てるけど
805名無しさん@そうだ選挙にいこう:2007/11/16(金) 00:17:37
普通主キー順だけど黄身卵堵殺は違うの?
806名無しさん@そうだ選挙にいこう:2007/11/16(金) 00:28:00
id(主キー)が飛んでいるデータの番号を詰めて振りなおすのをSQLでやるときは

update hoge set id = max(id) + 1 order by id

とかで大丈夫ですか?
807名無しさん@そうだ選挙にいこう:2007/11/16(金) 00:36:36
なんでやってから聞かないんだ
808名無しさん@そうだ選挙にいこう:2007/11/16(金) 00:37:30
見るからに大丈夫そうじゃないが、やれば分かるんじゃね。
809名無しさん@そうだ選挙にいこう:2007/11/16(金) 00:50:54
updateにorder byは2000までは使えたけど2002で使えなくなった記憶が・・・
810791:2007/11/16(金) 02:38:59
>>794
すまん、ぶっきらぼう杉田。
ネタとしては面白いのでI love Accessあたりで投下すればそれなりかもと思うが
>767 は初心者と自己申告しているので、相談所でそれを投げるのはどうかと思ったのよ。

まあマターリいこうや。
811名無しさん@そうだ選挙にいこう:2007/11/16(金) 09:45:45
767です。自分はSQLとかはあまり理解できてないのでだんだん難しくなってきました。
これからがんばって勉強します。
基本的にはレコードの並びはアクセスまかせということは理解できました。
ニキータさんのサイトでエクセルとアクセスは別物だという知識は得た積もり
でしたが、身に付いていなかったです。
どこかエクセル的にみていたようです。今回の事で完全に身につきました。
お騒がせしました。
812名無しさん@そうだ選挙にいこう:2007/11/16(金) 20:24:42
おーい、テーブルの並び順は確かに普通は主キー順だけどさ、
これは主キーがインデックスの先頭に指定されるからで、
別のフィールドを優先して並べ替えるようにも指定できるだろ?

(テーブルのデザインビューで、表示→インデックス)


で、これをいじっても>>781は成り立つの?
813名無しさん@そうだ選挙にいこう:2007/11/17(土) 00:19:18
確かにキーの入れ替えをするとうまくいかなくなるな。
この法則は無意味だ。忘れてくれ。
814名無しさん@そうだ選挙にいこう:2007/11/17(土) 08:31:47
第一法則
このSQL文では見積データの主キー順に並ぶため、ORDER BY の時間が必要ない。

SELECT 見積データ.*,顧客マスター.会社名,社員マスター.氏名
FROM (見積データ
INNER JOIN 顧客マスター ON 顧客マスター.顧客ID=見積データ.顧客ID)
INNER JOIN 社員マスター ON 社員マスター.社員ID = 顧客マスター.担当社員ID;

第二法則
キーを入れ替えた場合、そのキーの順序で並ぶ
815名無しさん@そうだ選挙にいこう:2007/11/17(土) 11:48:31
ダメだこいつ・・・ 早くなんとかしないと・・・
816名無しさん@そうだ選挙にいこう:2007/11/17(土) 11:57:34
>>814
ねぇ、他の操作でテーブル弄った後でもオケなの?
直前に、フィルタ掛けたり、並べ替えしてたり

そんなのが普通だと思うんだけど、、、
817名無しさん@そうだ選挙にいこう:2007/11/17(土) 12:06:58
もう、かまうな。
818名無しさん@そうだ選挙にいこう:2007/11/17(土) 23:02:32
>>816
こいつも言ってる事おかしいと思うけどまあいいや
819名無しさん@そうだ選挙にいこう:2007/11/18(日) 01:44:29
たしかに、ウィザードでつくったクエリは、みにくいというか、センスがない。
手書きのほうが、簡潔で、効率よい感じはする。
820名無しさん@そうだ選挙にいこう:2007/11/18(日) 10:44:27
ファイルメーカー、“幕の内弁当”データベース「Bento」公開
821名無しさん@そうだ選挙にいこう:2007/11/18(日) 20:46:52
こんばんわ
アクセスさわったことない全くの初心者なんですが質問させてください

エクセル、ワード文書、フォトショで作ったイラスト、デジカメで撮った写真
などを大量にフォルダで共有しているのですが、これを一元管理するソフト
としてアクセスは使えますでしょうか?

時系列や名前順などいろいろ並べ替えて、表画面から元データを一発で呼び出せれ
ばアクセスで一元管理したいと思っているんですが‥。

822名無しさん@そうだ選挙にいこう:2007/11/18(日) 20:54:49
実ファイルとDB情報の同期がめんどい
823名無しさん@そうだ選挙にいこう:2007/11/18(日) 21:01:49
フォルダー内にある全ファイル名を自動取得し、
データベースに取り込む機能を作ればよい。
VBAの知識があればだが・・・
824名無しさん@そうだ選挙にいこう:2007/11/18(日) 21:11:03
>>821
Access2007 なら、そういうの便利にできるよ
画像データをネイティブに保存できるから
かなりファイルサイズがデカクなるけど
825名無しさん@そうだ選挙にいこう:2007/11/18(日) 21:26:33
>>822〜824
ありがとうございます。
Accessのビデオ教習見て、これでやってみたいと思いました。
光が見えてきたのでAccessで突き進んでみようと思います。
826名無しさん@そうだ選挙にいこう:2007/11/19(月) 10:08:28
>>819
その通りだが、GUIのOS・アプリに対してフィード名もカタカタ・・・は、なぁ。
あのSQLビューでの機能はせめて検索・置き換えぐらいしてくれよと言いたくなる。
827名無しさん@そうだ選挙にいこう:2007/11/19(月) 10:29:40
他のエディタにコピペして検索、置換すればいいだけ。
828名無しさん@そうだ選挙にいこう:2007/11/19(月) 15:44:30
質問です。
フォームで名前のフリガナの所に、かなの直接入力できないように、
VBAでエラーが出るようにしたいんですけど、それってどうやればいいんでしょうか。
良かったら教えて下さい。
829名無しさん@そうだ選挙にいこう:2007/11/19(月) 16:30:31
>>828
そのテキストボックスに文字入力制限みたいなプロパティあるからそれ設定する。
それだけじゃコピペされたりしたらはいっちゃうこともあるから、
あとは、VBAでかけば?
キーコードひろってきて、かな以外をはじくようにするとか
830名無しさん@そうだ選挙にいこう:2007/11/19(月) 16:53:19
>829さん、ありがとうございます。
831名無しさん@そうだ選挙にいこう:2007/11/19(月) 17:13:28
>フォームで名前のフリガナの所に、かなの直接入力できないように

意味がわからんが、フリガナにいれるのは「かな」だろ?
「かな」をいれないようにするっていうことは完全に何も入力できないようにするってこと?
それだったら、編集ロックを「はい」にすればいい
832名無しさん@そうだ選挙にいこう:2007/11/20(火) 09:59:28
>>828
「フリガナ」だったらカタカナ、「ふりがな」たったらひらがなだろ、普通。
833名無しさん@そうだ選挙にいこう:2007/11/20(火) 12:56:15
俺は

StrConv(ひらがな, vbKatakana)

を使って、ひらがなを強制的にカナカナに換えてる。
834名無しさん@そうだ選挙にいこう:2007/11/20(火) 21:40:05
すみませんが教えてください
請求書を作ってます。
金額を桁ごとに分けてレポートの桁ごとの四角の中に入れたいのです。
桁は請求金額がいろいろです。
ちょっと考えたのが
=Right(Int([金額]/100),1)で桁ごと割ればいいのかと思いましたが
もっとスムーズな方法があるような気がして質問しました。
またレポート上で=Rightヲ使うとエラーが出ます。
原因がわかりません。
それとテーブルで書式設定した−入りの郵便番号(244−00011など)
がレポート上に反映しませんがそういうものなのでしょうか。レポートでテキストの書式設定で
000−00000と入力しても駄目なのです。方法が違うのでしょうか。
質問ばかりですみませんがお願いいたします。
835名無しさん@そうだ選挙にいこう:2007/11/21(水) 00:07:39
>>834

郵便番号の書式は「@@@-@@@@」(テキストの場合)。
金額を入れる四角が均等ならば、均等割付。
そうじゃない場合は

=Mid(Format(Cstr([金額]),"@@@@@@@"),1,1)

とかにすればいいんじゃないか(@の数は最大桁数と同じにする)。
836名無しさん@そうだ選挙にいこう:2007/11/21(水) 00:10:33
枠が均等の場合は

=Format(Cstr([金額]),"@@@@@@@"))

のうえ均等割付な。
837名無しさん@そうだ選挙にいこう:2007/11/21(水) 04:55:56
いや
>金額を桁ごとに分けてレポートの桁ごとの四角の中に入れたいのです。
って言ってるんだから

23513857
とかいう数字を
「2」「3」「5」「1」「3」「8」「5」「7」
という枠に入れるという意味かと思ったが・・・
100で割ってRight(1)してるのが謎だが・・・

10で割って余りを右の枠から埋めていくのが常套手段かな
838834:2007/11/21(水) 07:06:25
したいことは837さんのとおりです。
でも835さんや836さんのように
一度定形文字数にして左から数を切り出していけば大丈夫でした。
ありがとうございました
839名無しさん@そうだ選挙にいこう:2007/11/21(水) 10:47:19
質問です。

フォームのテキストボックスのメールアドレス入力チェックを正規表現で作りたいのですが、
親切な人、アドバイス下さい。
840839:2007/11/21(水) 11:28:28
自己解決しました。
841名無しさん@そうだ選挙にいこう:2007/11/21(水) 12:18:16
>>840
どーやったの?
842839:2007/11/21(水) 12:41:43
843834:2007/11/21(水) 20:20:53
おかげさまで2点
わかりました。
ありがとうございました。ただもう一つの
レポート上で=Rightを使うと
エラーと表示が出るのがわかりません。
他の関数でも駄目でした。仕方ないのでクエリ上で処理して
表示しましたが何故ででしょうか?

844名無しさん@そうだ選挙にいこう:2007/11/21(水) 20:29:15
>>834

実はコントロール名とレコードソースのフィールド名が同一って言う
オチじゃないよな?
845名無しさん@そうだ選挙にいこう:2007/11/21(水) 20:29:41
>>842のリンク先の正規表現だと、厳密なチェックにはならないね。
「@@@.@」とかも通っちゃう。

厳密にやるなら
ttp://blog.livedoor.jp/dankogai/archives/50954045.html
ttp://www.din.or.jp/~ohzaki/perl.htm
とかを参考にした方がよいと思う。
846名無しさん@そうだ選挙にいこう:2007/11/21(水) 20:39:33
そのチェックだと「foo@[email protected]」でもおk?
847名無しさん@そうだ選挙にいこう:2007/11/21(水) 20:47:14
すまん、カブった。
848名無しさん@そうだ選挙にいこう:2007/11/23(金) 00:09:07
ADOでテーブルにフィルターかけて、SQLで別のテーブルに結果を書き出すのってできますか?
849名無しさん@そうだ選挙にいこう:2007/11/23(金) 00:18:59
できなかったらリレーショナルデータベースとして使い物にならないと思うけど
850名無しさん@そうだ選挙にいこう:2007/11/23(金) 06:29:09
insert into hoge () values ()
の代わりに
insert into hoge () select fuga from hage
851名無しさん@そうだ選挙にいこう:2007/11/23(金) 21:54:21
釧路高専 スカトロ の検索結果 約 161 件中 1 - 10 件目 (0.12 秒)
http://www.google.co.jp/search?q=%E9%87%A7%E8%B7%AF%E9%AB%98%E5%B0%82+%E3%82%B9%E3%82%AB%E3%83%88%E3%83%AD&hl=ja&lr=&filter=0
852名無しさん@そうだ選挙にいこう:2007/11/23(金) 21:58:09
これはアメリカのゲームです。1度やってみてください。
これは、たった3分でできるゲームです。試してみてください。 驚く結果をご覧いただけます。
このゲームを考えた本人は、メールを読んでからたった10分で願い事が
かなったそうです。このゲームは、おもしろく、かつ、あっと驚く結果を 貴方にもたらすでしょう。
約束してください。絶対に先を読まず、1行ずつ進む事。 たった3分ですから、ためす価値ありです。
まず、ペンと、紙をご用意下さい。 先を読むと、願い事が叶わなくなります。
@まず、1番から、11番まで、縦に数字を書いてください。
A1番と2番の横に好きな3〜7の数字をそれぞれお書き下さい。
B3番と7番の横に知っている人の名前をお書き下さい。(必ず、興味の
ある性別名前を書く事。男なら女の人、女なら男の人、ゲイなら同姓の名
前をかく)
必ず、1行ずつ進んでください。先を読むと、なにもかもなくなります。
C4,5,6番の横それぞれに、自分の知っている人の名前をお書き下さ
い。これは、家族の人でも知り合いや、友人、誰でも結構です。
まだ、先を見てはいけませんよ!!
D8、9、10、11番の横に、歌のタイトルをお書き下さい。
E最後にお願い事をして下さい。さて、ゲームの解説です。
1)このゲームの事を、2番に書いた数字の人に伝えて下さい。
2)3番に書いた人は貴方の愛する人です。
3)7番に書いた人は、好きだけれど叶わぬ恋の相手です。
4)4番に書いた人は、貴方がとても大切に思う人です。
5)5番に書いた人は、貴方の事をとても良く理解してくれる相手です。
6)6番に書いた人は、貴方に幸運をもたらしてくれる人です。
7)8番に書いた歌は、3番に書いた人を表す歌。
8)9番に書いた歌は、7番に書いた人を表す歌。
9)10番に書いた歌は、貴方の心の中を表す歌。
10)そして、11番に書いた歌は、貴方の人生を表す歌です。
この書き込みを読んでから、1時間以内に10個の掲示板にこの書き込みをコピーして貼って下さい。
そうすれば、あなたの願い事は叶うでしょう。もし、貼らなければ、願い事を逆のことが起こるでしょう。とても奇妙ですが当たってませんか?
853名無しさん@そうだ選挙にいこう:2007/11/25(日) 23:56:25
Accessオペレータに転職したいサーバ監視員ですが、
仕事では2002、2003,2007どれが使われてるのですか?
何を購入したらいいか迷ってます。
とりあえず、スペシャリストレベルのスキルは取りたいと
思ってます。
854名無しさん@そうだ選挙にいこう:2007/11/26(月) 00:34:28
いまうちの周りで一番多いのは2003
2000〜2002もまだ残ってる
2007はほとんどないけど
これから増えるだろうから無視は出来ないね
あと OpenOffice.org Base も見といたほうがいいよ
855853:2007/11/26(月) 01:51:52
>>854どうも。
856名無しさん@そうだ選挙にいこう:2007/11/27(火) 00:59:02
【 システム環境  . 】 サーバ側:Windows2003R2,クライアントXPProSP2 Access2003
【 VBAが使えるか .】 教科書程度はなんとか・・・
【 VBAでの回答  】 どちらでも大丈夫です。
【 検索キーワード 】 access+メールアドレス管理

データ部分をファイルサーバで共有しているmdb(2003)での話なのですが、
1.社員コード、社員名、メールアドレスを一覧表示する。
2.なんらかの方法で社員を取捨選択させる。
3.送信ボタンを押したら選択された社員すべてにメールを送る。
という処理を考えた時に、1.2のフォームをどの様に作れば良いか悩んでいます。

今はあらかじめローカルのフォームやVBAが入っているmdbへ
テーブル名:T_メールテンポラリ
フィールド:社員コード、社員名、メールアドレス、送信先(yes/no型)
というテーブルを作っておき、form_loadイベントで、共有しているmdbファイルの
社員テーブルをT_メールテンポラリへ追加クエリでコピーし、帳票形式で
表示していますが、やはりフォームが表示されるまで物凄い時間が
かかってしまいます。

抽象的な質問になってしまい恐縮ですが、
この様な処理で、ローカルへのコピー無しで実現する様なやり方がもしあれば、
教えて頂けないでしょうか?
857名無しさん@そうだ選挙にいこう:2007/11/27(火) 01:53:35
ネットワーク越しだからあるていど時間がかかるのは
仕方がないと思うけど、「物凄い時間が」と書いている
ところを見るとそういうレベルの話ではないのだろうね。

関係ないかもしれないけど。
http://support.microsoft.com/kb/275085/ja

あと名前の自動修正オプションはもちろんオフでね。

他にもアドバイスが出てくると思うので、いろいろ試して
みてください。
858名無しさん@そうだ選挙にいこう:2007/11/27(火) 02:06:51
クエリが先じゃないかな
859名無しさん@そうだ選挙にいこう:2007/11/27(火) 02:11:50
俺も同じようなことをしており考え方は間違いはないと思うが、
問題は表示に何故そんなに時間がかかるかということだろう。
社員数はどれくらいで、表示するまでに何秒かかるのか?
860名無しさん@そうだ選挙にいこう:2007/11/27(火) 03:04:28
テンポラリテーブルにコピーしてるってことは
ローカルに書き込んでるかSWAPしまくりかだろ
メモリ増やすだけで解決するかもしれんが
テンポラリに書き写すのはidだけにしておいて
その他はview作って表示時のみ参照すれば
861856:2007/11/27(火) 03:14:03
こんな時間に御回答いただき、有難うございます。

>>857
ぬおおお知りませんでした!!早速明日試してみます!!

>>858
質問しておいて本当に失礼極まりない話なのですが、現在
手元にクエリがありません・・・申し訳ないです。明日確認してみます!!

>>859
やっぱりこういうやり方が一般的なんですね・・・
今まで読んできた参考書ではあまり出てこなかった形の処理なので、
物凄い遠回りなやり方をしている様な気になり、質問させて頂きました。
考えてみると、どう足掻いても必要なレコードを全て引っ張ってくるという
処理は絶対必要で、どんな方法でもその時間は絶対に必要ですよね。
現在、元レコード約200件で、大体フォーム描画完了までに初回1分程度 
その後20秒程度です。「物凄い」は大袈裟でした・・・色々すみません。

結果出次第ご報告させて頂きます。有難うございました!!
862856:2007/11/27(火) 03:21:41
>>860
確かに!!気がつきませんでした!!
目からうろこが落ちた気分です。
会社のPCしょぼいんで全然違うと思います。
明日試してみます!
863名無しさん@そうだ選挙にいこう:2007/11/27(火) 19:10:58
毎回全データをダウンロードしてたのか・・・

そりゃ遅いわ。
864名無しさん@そうだ選挙にいこう:2007/11/27(火) 19:25:56
200件程度で20秒はいくらなんでも遅すぎる。
通常なら1秒以内のはずだが・・・
データ読込み以前のデータベースへの接続で時間がかかっているような気がする。
コマンドも細かく分けて時間を計測すれば、どの段階がネックになっているかがわかるはず。

865名無しさん@そうだ選挙にいこう:2007/11/27(火) 19:48:34
全データ一気に取り込みじゃなくて
1行づつやってると遅くなりそうだね
866名無しさん@そうだ選挙にいこう:2007/11/27(火) 20:47:05
レコード200件に20秒ってのもかなりアレな設計だけど
フォームの表示で1分てのはもうどんなことをしてるのか想像さえつかない・・・
867名無しさん@そうだ選挙にいこう:2007/11/27(火) 21:02:37
まあHalf-Life2やりながらだけどな。
868名無しさん@そうだ選挙にいこう:2007/11/27(火) 23:17:02
教えてください

特定のテーブルを、フォームで入力できるようにしたのですが、
入力中に入力内容を間違えた場合、エクセルのクリアコンテンツのマクロのように
ワンクリックで入力内容を消すボタンを作りたいのですが、なかなか上手くいきません
869名無しさん@そうだ選挙にいこう:2007/11/27(火) 23:53:58
Escキーじゃいかんのか?
870名無しさん@そうだ選挙にいこう:2007/11/28(水) 00:53:45
Sub button_Clicked()
Cancel = True
Undo
End Sub
871名無しさん@そうだ選挙にいこう:2007/11/28(水) 01:25:53
Cancel = True は必要ないだろ?
872名無しさん@そうだ選挙にいこう:2007/11/30(金) 14:37:41
今まで XP+Access2002 の環境で共有ファイル(NASではない)で複数パソコンから同時に開けていたのに、
誰かが開いている状態で、後からAccess2007(XP+Access2007でもVISTA+Access2007でも同様)で開こうとしても
開けない(エラーやbusyメッセージが出るワケでもなく何も起きない)という状態が起きています。
先行して開くほうが排他モードで開いているワケでもなく、Access2002が後から開く場合には無問題です。
また、いくつかのmdbファイルで試したところ同様でしたので特定のmdbファイルだけの現象でもないようです。

何かAccess2007側で必要な設定があるのでしょうか?
あるいは先行して開く側で必要な設定があるのでしょうか?

ご存知の方いらっしゃいましたらご教授よろしくお願い致します。

「Access2007」「排他」で検索したところ同様の現象と思われる記事を一件だけ見つけましたが
その記事では「NASに置けば起きない」ことを確認したのみで根本的な対処はされていないようでした。
873名無しさん@そうだ選挙にいこう:2007/12/05(水) 06:28:57
すみませんが教えてください。
フォームに入力した値がテーブルに反映するには、
閉じるか次のレコードに移動する必要があると思いますが、
フォームに入力した表示状態で印字命令をかけたい
場合などはVBAで次のレコードに移ってまた戻るか、閉じてまた戻る
などにすればよろしいのでしょうか?
874名無しさん@そうだ選挙にいこう:2007/12/05(水) 08:32:53
>>873
保存する命令をVBAでやればいいだけ。ヘルプで探してみ。
単純なのは、SendKeysで保存のショートカットキーを送ればいいけど。
875名無しさん@そうだ選挙にいこう:2007/12/05(水) 08:40:18
うん
あと、shift + enter とか
876名無しさん@そうだ選挙にいこう:2007/12/05(水) 10:14:41
>>873
Helpで探すのも面倒だろ。これを印刷前に実行すればよろし。

DoCmd.RunCommand acCmdSaveRecord
877名無しさん@そうだ選挙にいこう:2007/12/05(水) 23:30:41
>>873
フォームの左上に鉛筆のアイコンが出てるからそれをクリック
878名無しさん@そうだ選挙にいこう:2007/12/05(水) 23:38:23
x-media倒産してたんですか!?

どなたか超図解シリーズの
『ACCESSマクロアクションハンドブック(2000/2002/2003対応)』
のサンプルファイルをお持ちではないですか?

現在HPにアクセスできないため、サイトからDLできません。
HPに倒産のせいでしょうか。
879名無しさん@そうだ選挙にいこう:2007/12/05(水) 23:39:21
最後が変な文になってる…
倒産のせいでHP閉鎖したのでしょうか
880名無しさん@そうだ選挙にいこう:2007/12/06(木) 17:23:49
【 システム環境  . 】 WindowsXP, Access2003
【 VBAが使えるか .】 いいえ
【 VBAでの回答  】 なるべく否
名前・第一希望・第二希望をフィールドに持つ
このようなテーブルがあり、

名前|第一希望|第二希望
鈴木|モモ  |リンゴ
佐藤|ブドウ |リンゴ
福田|リンゴ |ブドウ
守屋|モモ  |イチゴ
阿部|ブドウ |イチゴ

以下のようなレポートを作成するにはどうしたらいいでしょうか。
クラス分けで考えましたが、第一希望と第二希望で
2箇所でグループを作りたいのですが、
いい方法はありますか?

-モモ希望
鈴木|モモ  |リンゴ
守屋|モモ  |イチゴ
-リンゴ希望
鈴木|モモ  |リンゴ
佐藤|バナナ |リンゴ
福田|リンゴ |ブドウ
-ブドウ希望
佐藤|ブドウ |リンゴ
福田|リンゴ |ブドウ
阿部|ブドウ |イチゴ
-イチゴ希望
守屋|モモ  |イチゴ
阿部|ブドウ |イチゴ
881873:2007/12/06(木) 21:45:56
874,875、877さんありがとうございます。
876さんはコードには教えていただきたすかりました。
882名無しさん@そうだ選挙にいこう:2007/12/06(木) 22:08:43
>>880
Unionクエリで擬似的に希望マスタ作れば。

select 第一希望 as 希望 from T
union
select 第二希望 as 希望 from T

そしたら、こんな風なクエリを作れるべ。

select Q.希望, T.*
from Q, T
where (Q.希望=T.第一希望) or (Q.希望=T.第二希望)

希望でグループ化したレポートにしてもいいし。

もしくは最初のUnionクエリをそのままレポートにして、
サブレポートにテーブルを指定してもいいし。

他にも組み方はあるから、どうにでもなる。
ちゅうか、好きなようにすればいいべ。
883名無しさん@そうだ選挙にいこう:2007/12/06(木) 22:45:04
ふざけないでください
884名無しさん@そうだ選挙にいこう:2007/12/06(木) 23:14:05
>882
Union
ちょっとググッてきます。
アクセス初めてなんで、ものすごく勉強中です。
885884:2007/12/07(金) 23:56:13
>882
基本中の基本的なunionすら知らなかった自分が恥ずかしいっす。
882のやり方は、完璧に自分の欲しい結果になりました!
ありがとうございます。
886873:2007/12/09(日) 05:37:15
テーブルをフォームボタンからクリックで
開き並べ替えたいのですが
Me.OrderBy = "得意先コード DESC"

Tables!住所テーブル.OrderBy = "得意先コード DESC"
では駄目でした。
そもそもクエリやSQLやADOなしには出来ませんか?
887名無しさん@そうだ選挙にいこう:2007/12/09(日) 11:53:15
マクロでできるよ!
888名無しさん@そうだ選挙にいこう:2007/12/09(日) 12:45:06
>>886
もしかしてテーブルを直接開いてる?
889名無しさん@そうだ選挙にいこう:2007/12/09(日) 23:41:56
>888
そうです。
docmd.opentable
で開いて並べ替たいのです。
クエリを何個も作るのもと思いました。
出来るようなことが載っていたのですが、勘違いでしょうか?
>>887
どのような記述でしょうか。すみませんが教えていただけますか?
890名無しさん@そうだ選挙にいこう:2007/12/10(月) 15:15:03
>882のやり方でこのようなクリエができ、
グループ化してレポートを作りました。

希望 |名前|第一希望|第二希望
モモ |鈴木|モモ  |リンゴ
モモ |守屋|モモ  |イチゴ
リンゴ|鈴木|モモ  |リンゴ
リンゴ|佐藤|ブドウ |リンゴ
リンゴ|福田|リンゴ |ブドウ
ブドウ|佐藤|ブドウ |リンゴ
ブドウ|福田|リンゴ |ブドウ
ブドウ|阿部|ブドウ |イチゴ
イチゴ|守屋|モモ  |イチゴ
イチゴ|阿部|ブドウ |イチゴ

今ここで、それぞれのグループごとに第一希望と第二希望の人数をカウントしたいのですが
どのようにしたらよいでしょうか?

例えば、レポートのリンゴグループに、第一希望1人、第二希望2人
といった感じです。
count関数を使ってみたのですが、グループ全体の人数になってしまい、
第一希望第二希望のそれぞれの数え方ができませんでした。
891名無しさん@そうだ選挙にいこう:2007/12/10(月) 17:46:16
>>890
上の流れは見ていないが、
第一希望だけを集計するクエリと第二希望だけを集計するクエリを別々に作って
その二つを呼び出すクエリ作るだけじゃないの?
892名無しさん@そうだ選挙にいこう:2007/12/10(月) 20:13:25
>>889
何に載ってたのか知らないけど、
それテーブルじゃなくてフォーム使ってなかった?
フォーム作ってOrderByでやった方がいいと思うけど、
テーブルでやるなら↓で一応できると思う。

DoCmd.OpenTable "住所テーブル", acNormal, acEdit
DoCmd.GoToControl "得意先コード"
DoCmd.RunCommand acCmdSortDescending
893名無しさん@そうだ選挙にいこう:2007/12/10(月) 22:05:59
>>892さんありがとうございます。

ACCSESS vba講座の並べ替えのところで
フォーム、クエリ、レポート、テーブルでのレコードの並べ替え方法を示します。
とあったので・・・。読み違えでしょうか。
教えていただいた方法で出来ましたので、ありがとうございます。
894名無しさん@そうだ選挙にいこう:2007/12/11(火) 20:39:06
「組」「氏名」「身長」「体重」
のフィールドのテーブルからレポートを作り、
「組」でクラス分けしてレポートを作っていますが、

1組は身長順にソート
2組は体重順にソート

のように組ごとにソート順を設定することはできますか?
もしくは、身長順にソートと体重順にソートの2つクエリを作って
1つのレポートにすることはできますか?
895名無しさん@そうだ選挙にいこう:2007/12/11(火) 23:08:49
レポートの並べ替えって、式を設定できたんじゃなかったっけ?
試してないけど、組フィールドが数値なら

Choose([組], [身長], [体重], ...)

とか、組フィールドが文字列なら

Switch([組]="1組", [身長], [組]="2組", [体重], ...)

みたいな式を設定してみたら?
記憶違いだったら悪りぃ。
896名無しさん@そうだ選挙にいこう:2007/12/12(水) 19:52:15
>>893
フォームならMeとかFormsとかで簡単にできるんだけど、
テーブルでOrderByを使うのはちょっと面倒なんだ。
それに限らず色々できたりするんでフォーム使うのが王道かな。
897名無しさん@そうだ選挙にいこう:2007/12/13(木) 00:55:11
>895
探して試してみます。ありがとうございます。
898名無しさん@そうだ選挙にいこう:2007/12/13(木) 12:00:21
アドバイスお願いします。

2つの製品があってそれぞれ下記の部材でできている。

製品Aの使用部材
部材A 1個
部材B 3個

製品Bの使用部材
部材A 1個
部材C 4個

下記の受注がある。

製品A 10個
製品B 20個

必要な部材の所要数を一行のSQL文で書ける方法はないでしょうか?
899名無しさん@そうだ選挙にいこう:2007/12/13(木) 12:46:46
追記
テーブル構成

<部材TB>
製品名 部材名 数量
A,A,1
A,B,3
B,A,1
B,B,4

<受注TB>
製品名 受注数
A,10
B,20
900名無しさん@そうだ選挙にいこう:2007/12/13(木) 17:47:54
SQL1行はわからんなぁ
クエリ2個ならできるけど。
901名無しさん@そうだ選挙にいこう:2007/12/13(木) 19:21:33
こんなんでいいんじゃない?

SELECT 部材TB.部材名, Sum(受注TB.受注数 * 部材TB.数量)
FROM 受注TB, 部材TB INNER JOIN 受注TB.製品名 = 部材TB.製品名
GROUP BY 部材TB.部材名
902名無しさん@そうだ選挙にいこう:2007/12/13(木) 20:50:26
SQLどんだけ長くなっても改行入れなければ1行ってことでいいのか
903名無しさん@そうだ選挙にいこう:2007/12/14(金) 00:14:05
外部のデータを検索することは出来ますか?
ネットで普通にやっても駄目っぽかったので・・
今、Jリーグや天皇杯などの細部のデータを集めています。
もっぱら、Excel(2003)しか使ってません
904名無しさん@そうだ選挙にいこう:2007/12/14(金) 02:47:47
そら「外部」が何なのかによるやろ。
905名無しさん@そうだ選挙にいこう:2007/12/14(金) 08:02:25
>>901
お見事。
やっぱりこのスレには名人がいるね。
ただ、そのままではエラーになるので、若干訂正した。

SELECT 部材TB.部材名, Sum(受注TB.受注数 * 部材TB.数量) AS 所要数
FROM 受注TB INNER JOIN 部材TB ON 受注TB.製品名 = 部材TB.製品名
GROUP BY 部材TB.部材名;

Very Thanx

906名無しさん@そうだ選挙にいこう:2007/12/14(金) 10:36:46
>>905
それだと結果あわなくね?
907名無しさん@そうだ選挙にいこう:2007/12/14(金) 11:47:44
テストの結果は以下の通りあっている。狂う可能性があるってこと?

<部材TB>
製品名 部材名 数量
A A 1
A B 3
B A 1
B C 4

<受注TB>
製品名 受注数
A 10
B 20

<結果>
部材名 所要数
A 30
B 30
C 80



908名無しさん@そうだ選挙にいこう:2007/12/14(金) 18:09:50
>>907
失礼した。
905のSQLコピペしたつもりが、保存したら 「ON 受注TB.製品名 = 部材TB.製品名」句が
消えていた。(クエリで言うとリレーションの線が消えていた)
909名無しさん@そうだ選挙にいこう:2007/12/15(土) 09:09:05
質問。
アクセス2000のリストボックスは、マウスホイールでスクロールできませんが、可能にする方法はありますか?
910名無しさん@そうだ選挙にいこう:2007/12/15(土) 15:53:20
っWheel Redirecor
911名無しさん@そうだ選挙にいこう:2007/12/16(日) 00:40:53
Access2007のVBAエディタはWheel Redirecor要らずなんだけど
昔からの流れで結局常駐させてるんだよなw
912名無しさん@そうだ選挙にいこう:2007/12/16(日) 01:08:03
クエリで、
Null値が入ったフィールドと、数値の入ったフィールドを
足した数値を出したいのですが、

そのまま+で足すと、Nullのあるレコードが足されない

NzでNullを0にしたら、
5+0(Null) → 50
0+2(Null) → 02
0+0(Null) → 00
のようになってしまいました。

どのようにしたらいいのでしょうか?
913912:2007/12/16(日) 01:12:41
自己すみません
Nz関数を使うと"0"という文字列になってしまうからいけないのはわかります。

Nullを0の数値として足すにはどうしたらいいのでしょうか?
914890:2007/12/16(日) 03:23:05
>891
ありがとうございます!
それでやってみたらできました。

再び質問ですが、
915名無しさん@そうだ選挙にいこう:2007/12/16(日) 14:17:39
肝心の質問は一体どこへ
916名無しさん@そうだ選挙にいこう:2007/12/16(日) 18:01:24
>>913
Nz(Null)が"0"(文字列)になるなんてあり得ないよ
Nz("0")とかNz(Null,"0")とかなら"0"になるけど
917914:2007/12/16(日) 20:17:53
ああ…寝ぼけてる…

アクセスで作ったデータベースの説明の作り方の様式のようなものはあるのですか?
説明というか、仕様書というか、
こんなテーブルがあって、ここのデータでクエリを作って、このクエリからレポートを作って、
ということを、他の人に伝えるためのものです。

クエリが10こくらいあって、何がなんだかよくわからない状態になってます。
918名無しさん@そうだ選挙にいこう:2007/12/16(日) 20:21:18
10個程度で・・・
919名無しさん@そうだ選挙にいこう:2007/12/16(日) 20:53:17
>>917
フォームでメニュー作ってボタン押したら
イベントプロシージャかマクロ走るようにするとか
920名無しさん@そうだ選挙にいこう:2007/12/16(日) 21:45:47
>>917

すべてVBAでやる。
そして、ソースを印刷したものを渡し一言、
「はい、仕様書」
という時代があった。言語は違うが。
921名無しさん@そうだ選挙にいこう:2007/12/16(日) 22:02:58
日本語ランタイム出たのか
いつの間にかヘルプファイルにPackage Solution ウィザードが追加されている件
922名無しさん@そうだ選挙にいこう:2007/12/16(日) 22:04:23
質問です。

勉強するなら2007と2003どちらがいいのでしょうか?
2007.かなりわかりやすくなってるそうですが・・・
923名無しさん@そうだ選挙にいこう:2007/12/16(日) 22:08:24
>>917
始めからアクセスのメニューコマンドに、そういうの作成する機能だるだろ
2007 だと、データベースツール→データベース構造の解析、印刷とかPDFにするとかして渡せば良い
924名無しさん@そうだ選挙にいこう:2007/12/16(日) 22:09:28
>>922
2007
925922:2007/12/16(日) 22:14:36
>>924

やっぱりそうですか・・・
926名無しさん@そうだ選挙にいこう:2007/12/16(日) 22:19:14
>>917

簡単に言えば、依存関係だろ?
「ツール」の「解析」から簡単にレポートに出せる。
が、それを解読するには自分で作れるぐらいのスキルは必要。
結局紙が無駄になるだけだからデザインで構造見たほうが速い。
これがオペの人に伝えるだけなら、図をふんだんに使った取説が
評判いい。


>>922

初めてOffice製品を触るなら2007。
ただし、会社で使用しているところはいまのところ少数派。
927名無しさん@そうだ選挙にいこう:2007/12/16(日) 23:03:47
>>913
Null値が入ったフィールド、数値の入ったフィールド
どちらか片方、あるいは両方が数値型じゃなくて文字型だったってオチはないよな?
928917:2007/12/17(月) 00:45:53
>919
そうなっています。
でも、他のアクセス使いが自分で手を加えたいから、
中身(テーブルやクエリの関係)がどうなってるか教えてくれといわれたのです。
>920
それで、SOL文章をすべて見せたのですが、
リレーションシップのテーブルやクエリが線で繋がれた図のようなイメージで
教えてくれと言われました。

>923
>926
そんな機能があったなんて知りませんでした。
でも、やってみたんですが、200ページ!?
結局よくわからない資料が出てきました。


自分もシロウト、相手もシロウトなんで、どーしようもないです…
でも、また1つ勉強になりました!
929名無しさん@そうだ選挙にいこう:2007/12/17(月) 07:39:58
>>910
>>911
IgMaouseの方が便利でないかい?
930名無しさん@そうだ選挙にいこう:2007/12/17(月) 13:16:53
>>921
だれか試してレポート汁
931名無しさん@そうだ選挙にいこう:2007/12/17(月) 21:19:39
Nz関数は第2引数を省略した場合、Null値を受け取ったら・・・

 ・クエリ内で使用した場合は必ず""(長さ0の文字列)を返す。
 ・クエリ以外で使用した場合は第1引数が数値型なら0を、文字型なら""(長さ0の文字列)を返す。



改めてHELP読み返してみたんだが、なんぞこれ・・・
932911:2007/12/17(月) 21:25:18
>>929
IgMouseは最初に試したんだけどテキストボックスとかのプロパティ画面を
うまく縦スクロールさせられなかったんで・・・
933929:2007/12/18(火) 08:04:56
>>932
あ〜それはあるね。一回、スクロールバーを触ってからじゃないと
だめっぽい。あまり気にしたこと無かったけど、Wheel Redirecorは
そんなことしなくても縦スクロールOKなんですか?
934910:2007/12/18(火) 16:49:27
Wheel Redirectorは、マウス直下のウィンドウを(アクティブじゃなくても)
スクロールしてくれるので、重宝してます。

モジュールがたくさんあるプロジェクトを編集していて、コードウィンドウが
アクティブになっていると、いったんプロジェクトエクスプローラをクリック
してそっちをアクティブにしてからでないとモジュールツリーをスクロール
できなかったりするけど、Wheel Redirectorを常駐させているとコード
ウィンドウがアクティブなままでもマウスさえ上に持っていけばスクロール
が利くので、操作の流れがスムーズ。

これは2ペインのWindowsエクスプローラでも一緒。
フォルダツリーをスクロールさせようと思ったらアクティブなアイテムビューの
方がスクロールしだして(゚Д゚)ゴルァ!と思ったことのある人にはオヌヌメ。
935名無しさん@そうだ選挙にいこう:2007/12/19(水) 00:51:01
すいません、アクセスでID(縦列)が例えば30まであり、
これの15から30までのレコードを削除しました。
その後新しくレコードを追加していこうと思ったんですが、
IDが15からではなく31から始まってしまいました。
自動でIDが決まるようで手動で書き換えができませんでした。
IDを15からまた続けられるようにするにはどうしたら良いんでしょうか?
936名無しさん@そうだ選挙にいこう:2007/12/19(水) 01:08:42
>>935
オートナンバーを使うのやめれ
連番がほしかったら自前で作成しる
937名無しさん@そうだ選挙にいこう:2007/12/19(水) 12:00:51
>>935
MDBの最適化汁
938名無しさん@そうだ選挙にいこう:2007/12/19(水) 19:33:13
オートナンバーってテーブルが大きくなると極端に遅くならねえか?
939名無しさん@そうだ選挙にいこう:2007/12/19(水) 19:41:59
>>938
具体的にはどのぐらいから??

最大値は別に記憶してるからそんなに変わらないと思うけど・・・
940名無しさん@そうだ選挙にいこう:2007/12/19(水) 22:16:57
600万件のデータ(株価の日足)をオートナンバーのあるテーブルにインポートしようとしたんだが、

件数が増えるにつれだんだん遅くなって、最後はフリーズしたような状態になった。

それ以来、オートナンバーは使わないことにした。
941935:2007/12/20(木) 00:29:30
>>937
レスありがとうございます。
色々調べてみると、レコードが無い場合は最適化するとよいとありましたが、
レコードがある場合は最適化するとデータが消えるなど不都合があるんでしょうか?
また、この最適化とはテーブル単位ではなくてデータベース単位で最適化されるようですが、
ひとつのデータベースに複数のテーブルがある場合、そのすべてが最適化されそのその中でレコードが存在する
テーブルに不具合がでたらと思うと怖いんですが、このあたりなどうなんでしょうか?
やはり、レコードが存在する場合は最適化すると駄目なんでしょうか?
レコードがある場合は最適化しない方が良いみたいな表現が気になりましたが、
どういう結果になるのかわからず、対処しかねています。
942名無しさん@そうだ選挙にいこう:2007/12/20(木) 00:29:36
超図解ACCESS2003総合編のサンプルデータ誰か持ってないですか・・・
出版社倒産して手に入らないorz
http://www.x-media.co.jp/xbook/computer/AX23sTY/sample.shtml
持ってたらうpしてくれ。
あるないでは格段に理解度が違うわ・・・。
943名無しさん@そうだ選挙にいこう:2007/12/20(木) 09:44:16
>>941
コピーしてやってみりゃ解るだろ、ボケ!
944名無しさん@そうだ選挙にいこう:2007/12/20(木) 09:57:24
【 システム環境  . 】 WindowsXP SP2, Access2003 SP3
【 検索キーワード 】 Access 2003 MDB 壊れる 不具合 破損

ACCESS2003で新規MDBを作成し、
ツールボックスを挿入しようとするとACCESSが落ちるのですが
こういった経験された方いらっしゃいますか?

ちなみにウイルスセキュリティZEROをいれてから現象が起こるように
なった気もするけど、関係ないですよね

新規MDBの場合だけですし・・
945名無しさん@そうだ選挙にいこう:2007/12/20(木) 21:14:24
アクセス2003を使ってます。
ネットワーク上でファイルを共有したいのですが、
開くと鍵がかかったmdbが表示され共有使用が出来ません。
共有モードにはなっています。
以前の職場なら可能だったのですが・・・。
なにか他に設定が必要でしょうか?
946名無しさん@そうだ選挙にいこう:2007/12/21(金) 00:11:57
>>943
とカスが言っております。
947名無しさん@そうだ選挙にいこう:2007/12/21(金) 13:56:28
エクセルでデータ入力してるファイルがあるとする
それをアクセスに取り込んでいろいろ設定して1週間かかるとする
その間エクセル側にどんどん新しいデータなりマスターになるような新項目も増えたりする

さて、完成したアクセスに対して1週間分のデータやマスターをどうやって取り込む?
もちろん各テーブルのフォーマットは違う
インポートして同じようにリレーション作ってからそれぞれユニオン?
マスター・テーブル間の整合性崩れてわけわかめ

どうやってますか?
948名無しさん@そうだ選挙にいこう:2007/12/21(金) 14:20:05
>>947
最初に取り込んだデータはあくまで開発用とすればいいだろ。
切り替え時に「既存XLSデータの取り込み」〜「初期設定」を行うようにする。


> その間エクセル側にどんどん新しいデータなりマスターになるような新項目も増えたりする

その期間、追加作業を凍結させればいいだろ。
1週間でどれだけのデータになるか分からんが、
新システムに移行してからデータ入力させてもいいんじゃないか?

そもそもマスタとなるような項目が
1週間やそこらで追加されるデータなんて俺には想像つかんよ。
思いつき&場当たりで運用してるとしか思えん。
949名無しさん@そうだ選挙にいこう:2007/12/21(金) 19:31:06
>>948
商品名マスターが
1 いちご
2 りんご
3 バナナ
  ・・・なのが
1週間後
キウイ
みかんが追加されても不思議ではあるまい?
追加分だけインポートして商品マスター2を作ったら
1 キウイ
2 みかん  が出来る

これを統合して
1 いちご
2 りんご
3 バナナ
4 キウイ
5 みかん にしたとしても 取り残された追加分TBの参照先が浮いてしまう
追加作業凍結しか方法はないのかい?
950名無しさん@そうだ選挙にいこう:2007/12/21(金) 20:00:38
それ項目増えてない
951名無しさん@そうだ選挙にいこう:2007/12/21(金) 23:46:39
わざわざ新規テーブル(商品マスター2)にインポートせずに
作ったテーブル(商品マスター)にインポートすりゃいいだろ

って話ではない?
952名無しさん@そうだ選挙にいこう:2007/12/22(土) 11:25:29
>>951
元のエクセルのフォーマットはマスターもクソもない1枚の表なんですけど・・・
アクセス化した場合にそうなるであろうマスターテーブルやデータテーブルの更新をどうやるか?ということです
それともIDを勝手に認識して最適にインポート出来るのですか?

1 いちご                1 いちご
2 りんご           →    2 りんご  
3 バナナ                3 バナナ
                      4 キウイ

いちご  ¥500 3個        1  ¥500 3個
りんご  ¥300 2個        2  ¥300 2個
バナナ  ¥200 5個   →   3  ¥200 5個 
いちご  ¥800 6個        1  ¥800 6個
キウイ  ¥400 2個        4  ¥400 2個
953名無しさん@そうだ選挙にいこう:2007/12/22(土) 11:42:30
2列以降だけインポートしても追加分のIDが未入力になって浮いてしまう
1  ¥500 3個
2  ¥300 2個
3  ¥200 5個 
   ¥800 6個
   ¥400 2個

完成したアクセスの商品マスターからIDを検索してエクセルを置換してからインポートしかないのか
その表にリンクしてるだけのマスターならそれでいいがその先まで追跡は難しい
954名無しさん@そうだ選挙にいこう:2007/12/22(土) 14:59:29
>>952
は?マスターがない?
>>949は別人か?
955名無しさん@そうだ選挙にいこう:2007/12/22(土) 16:50:11
>>947
俺だったら一括でコンバートできるモジュールを作成しておき、切替時に実行するけどな
そのやり方が想像も出来ないのだったら、その案件は他の人に任すか、外注に出したほうが幸せになれるだろう
956名無しさん@そうだ選挙にいこう:2007/12/22(土) 17:46:51
だよなあ
なんで追加分だけインポートなんだよっていう
957名無しさん@そうだ選挙にいこう:2007/12/22(土) 20:37:22
>>955-956
激しく同意。
958名無しさん@そうだ選挙にいこう:2007/12/24(月) 05:35:48
Class 2ch
 Property Let Url(adr)
  my_url = adr
 end Property
 Public sub Method()
  ...
 end sub
end Class


クラスについて調べたのですが、どこも書いていませんでした。
教えてくれませんか。
上記のようなクラスを作成することは、できるのでしょうか?
959名無しさん@そうだ選挙にいこう:2007/12/24(月) 14:22:24
VBAでクラス作るなんて無駄。
960名無しさん@そうだ選挙にいこう:2007/12/24(月) 15:45:08
>>958
できるよ。バリバリ使ってる。
標準モジュールじゃなくクラスモジュールを使います。
詳しくはヘルプか↓を読んでみて。
ttp://msdn.microsoft.com/library/ja/odeopg/html/deovrcustomclassesobjects.asp
961名無しさん@そうだ選挙にいこう:2007/12/24(月) 16:26:01
クラスも使えん奴は上級者ではない。
962名無しさん@そうだ選挙にいこう:2007/12/25(火) 18:29:37
>>960 正直、無理なんだろうと思ってました。
でも、できました。ありがとうございます。
そのリンク先、非常に助かりました。
963名無しさん@そうだ選挙にいこう:2007/12/27(木) 11:13:42
アドバイスをお願いします。

以下の形式のタブ区切りのテキストデータがあります。

フィールドA[タブ]1[改行]
フィールドB[タブ]いいいい[改行]
フィールドC[タブ]999[改行]
フィールドE[タブ]100[改行]
フィールドA[タブ]2[改行]
フィールドB[タブ]わわわわ[改行]
フィールドD[タブ]ああああ[改行]
フィールドE[タブ]555[改行]
  (以下略)

フィールド名とそのデータの区切りはタブ、フィールドの区切りとレコードの区
切りは改行です。
「フィールドA」には必ずユニークなレコードNoが振られています(必須フィール
ド)ので、「フィールドA」がレコードの区切りも兼ねています。
ただし、上の例のように、「フィールドA」以外のフィールドはレコードによって
存在する場合と存在しない場合があります。
フィールドの数は実際には50個程度、レコード数は10万件程度で、上記テキ
ストファイルは100万行程度あります....1レコードあたりのフィールド数は多い
ものもあれば少ないものもあって、平均10個程度ということです。

これをAccessに取り込んで、50個のフィールドからなるテーブル1つを作成し
たいのですが、どうやってやるのが効率的かアドバイスをお願いします。

ちなみに、このテキストデータは元々、何らかのデータベースソフトから出力
したものだと思いますが、作成元に別形式での出力を依頼することはでき
ないため、何とか上記形式のデータをそのまま利用したいという趣旨です。
964名無しさん@そうだ選挙にいこう:2007/12/27(木) 11:46:38
名簿屋の個人情報データだったりして。
965名無しさん@そうだ選挙にいこう:2007/12/27(木) 11:56:44
>>963
そういうのは桐でやったら?
試用版もあるしさぁ
966963:2007/12/27(木) 12:41:49
964さん、965さん コメントありがとうございます。

確かに桐なら、そういった取り込みも割と簡単にできるのはわか
っていますが(最初からそう書いておけばよかったですが、スレ
違いのため、省きました)、データの中にヨーロッパ諸語の文字
が少なからず含まれている関係からUnicodeテキストになってい
るため、今回は桐が使えません。

967名無しさん@そうだ選挙にいこう:2007/12/27(木) 12:42:25
>>963
VBAで処理。
968名無しさん@そうだ選挙にいこう:2007/12/27(木) 15:18:49
>>966=963
エディタで


"[改行]" を ",[改行]" に置換

"[改行]フィールドA" を "[改行][改行]フィールドA" に置換

",[改行]" を "," に置換

"フィールド*[タブ]" を "" に置換


何か漏れがありそうだけど、旨く出来てるかなぁ?
969名無しさん@そうだ選挙にいこう:2007/12/27(木) 19:29:35
>>968
フィールドが存在しないレコードに対応できない
970963 966:2007/12/27(木) 22:16:03
>>968  >>969

969さんご指摘の通り、元々のテキストデータにすべてのフィールドが
入っていれば、簡単なんですが、一部のフィールドしか入っていないの
で、968さんのやり方では対処できないんです。

971名無しさん@そうだ選挙にいこう:2007/12/27(木) 23:15:11
>>963

もしかして森羅万象テーブルの話か。
972名無しさん@そうだ選挙にいこう:2007/12/28(金) 01:54:45
Access2007の新機能、複数値型フィールドって
こういうDQN仕様に対応するためのものなのかもしんない
973名無しさん@そうだ選挙にいこう:2007/12/28(金) 06:13:13
いや、全然違うだろ
974名無しさん@そうだ選挙にいこう:2007/12/28(金) 09:29:47
>>963の説明がハッキリしないが、フィールド名はデータとして落ちてんじゃねーの?
975963:2007/12/28(金) 09:53:44
>>974

> フィールド名はデータとして落ちてんじゃねーの?

はい、その通りです。
963で以下のように書いた通り、フィールド名自体もデータとして書き出されて
いて、その後に(タブをはさんで)そのフィールドのデータが書き出された形式
のテキストファイルです。

> フィールド名とそのデータの区切りはタブ、フィールドの区切りとレコードの区 
> 切りは改行です。 

ですので、そのフィールド名を読んでそれに続くデータをテーブルの各フィール
ドに書き込んでやる作業を繰り返せばよいのですが、Accessでこれを効率よ
くやる方法がないかというのが質問です。

965さんからアドバイスがあった通り、桐ならこれをコマンド一発でできるので
すが、Accessには同様のコマンドはないようです(たぶん)。
 ※桐でできない理由は966で説明済み。

なので、一発は無理にしても、数ステップでできれば....と希望しています。

976名無しさん@そうだ選挙にいこう:2007/12/28(金) 10:48:17
やっぱVBA組むのが一番簡単だと思うけど・・
977名無しさん@そうだ選挙にいこう:2007/12/28(金) 11:07:13
お話の間に失礼します。
今会社なのですが、社長のPCを新しくVISTAを購入したのですが、
ACCESS97がインストールできません。
私はあまりPCに詳しくないのですが、やり方がおかしいのか、それとも
ACCESS97はVISTAに対応していないのか。。

分る方がいらっしゃいましたら、教えていただきたいです。
お願いします。
978名無しさん@そうだ選挙にいこう:2007/12/28(金) 11:50:54
979名無しさん@そうだ選挙にいこう:2007/12/28(金) 12:10:16
>>978
ありがとうございます。
色々検索はしてみたのですが、
UPしてくれた画面までたどりつけませんでした。。

おかげさまで助かりました^^
980名無しさん@そうだ選挙にいこう:2007/12/28(金) 12:31:06
>>978
この表によると Office 2000はVistaに対応していないということになるのか?
981名無しさん@そうだ選挙にいこう:2007/12/28(金) 12:35:10
>>980
表見てわからなけりゃMSKKに電話して訊け。
982名無しさん@そうだ選挙にいこう:2007/12/28(金) 12:35:46
当然です。OfficeXP(2002)すら未サポートです。
983名無しさん@そうだ選挙にいこう:2007/12/28(金) 13:08:53
電話して聞いてみたところ、
VISTAが対応しているのは2007と、93(聞き間違えかも・・)と言われました。
984名無しさん@そうだ選挙にいこう:2007/12/28(金) 13:13:55
Office2000は一応動作するように見えるが、もっと使い込まないとわからんか・・・
985名無しさん@そうだ選挙にいこう:2007/12/28(金) 13:28:54
Office XP以前はサポートが終了しているので、当然、Vistaへの対応もない

http://www.microsoft.com/japan/office/previous/2003/business/lifecycle.mspx#E6
986名無しさん@そうだ選挙にいこう:2007/12/28(金) 20:51:05
>>975
桐は知らんのでもちろん試しもせずに言うんだけど、

そのテキストをUTF-7に変換
桐でasciiテキストとして(シフトJISとかでもいい)読み込む
桐で普通のCSVとして出力する
AccessでUTF-7としてインポート

とかやればでできそうな気がするんだけど、どうかな?
987名無しさん@そうだ選挙にいこう:2007/12/28(金) 21:00:25
988975:2007/12/28(金) 23:52:20
>>986

アドバイスありがとう

だた、桐はまったくUnicodeに対応していないので、
そのやり方では文字化けしてしまって使い物にならない
989名無しさん@そうだ選挙にいこう
もうVBA覚えなきゃにっちもさっちも逝かないところまで来てるのに
絶対に意地でも覚えようとしないやついるよねw