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

このエントリーをはてなブックマークに追加
1名無しさん@そうだ選挙にいこう

ACCESSに関する質問はこちらへ!


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

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

前スレ
ACCESS総合相談所 その15
http://pc8.2ch.net/test/read.cgi/bsoft/1142586697/

過去スレッド/関連リンクは>>2以降
2名無しさん@そうだ選挙にいこう:2006/09/02(土) 20:09:08
・歴代スレッド
- 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総合相談所 その15
http://pc8.2ch.net/test/read.cgi/bsoft/1142586697/
3名無しさん@そうだ選挙にいこう:2006/09/02(土) 20:09:38
・関連スレ
【まだまだ】Microsoft Access クエリ3【使える】
http://pc8.2ch.net/test/read.cgi/db/1120779000/
VBプログラマ質問スレ(6.0以前) Part47
http://pc8.2ch.net/test/read.cgi/tech/1141320612/
4Access2007の新機能:2006/09/02(土) 22:27:39
管理情報を使用する
-------------------------------------------------------------------------------
改善された新しいユーザー インターフェイス、便利なテンプレート
さらに強化された並べ替え機能とフィルタ処理機能、レイアウト ビュー、集合形式レイアウトと表形式レイアウト
自動日付選択カレンダー、メモ型フィールドでのリッチ テキスト形式
[挿入] タブによって強化された簡易作成機能
改善されたデータシート ビューを使用してテーブルをすばやく作成する
データシートの [集計] 行、新しいフィールドの追加のためのフィールド テンプレート
[フィールド リスト] 作業ウィンドウ、分割フォーム、複数値フィールド
画像、グラフィック、Office ファイル、その他の種類のファイルを保存するための添付ファイル データ型
代替の背景色を使用する、ナビゲーション ウィンドウ、埋め込みマクロ、改善されたヘルプ ビューア

管理された情報を他のユーザーと効果的に共有する
--------------------------------------------------------------------------------
Microsoft Office Outlook 2007 を使用してデータを収集および更新する
SharePoint サイトにデータベースを移動する、SharePoint ワークフローとの統合
SharePoint リストにリンクされたテーブルのパフォーマンスの向上
Windows SharePoint Services データ型との一対一マッピング、SharePoint リストを Access でオフラインで使用する
インポートおよびエクスポートの操作性の向上

レポートを作成してビジネス ニーズに適合させる
--------------------------------------------------------------------------------
レポート ビューとレイアウト ビュー
グループ化、並べ替え、および集計機能
自動的に作成されたレポートの改善された外観

情報を管理および監査する
--------------------------------------------------------------------------------
強化されたセキュリティ
Windows SharePoint Services による改訂の管理、権限の設定、ごみ箱から復元する
Windows SharePoint Services から Access フォームおよびレポートを開く
メモ型フィールドによる履歴管理
5名無しさん@そうだ選挙にいこう:2006/09/03(日) 01:37:57
リンク追加

ACCESS総合相談所 その14 【桐にしとけ】
http://pc8.2ch.net/test/read.cgi/bsoft/1128486351/

VBA総合質問スレッド
http://pc8.2ch.net/test/read.cgi/tech/1151412015/
6名無しさん@そうだ選挙にいこう:2006/09/03(日) 02:55:20
おつんつん
7名無しさん@そうだ選挙にいこう:2006/09/03(日) 07:55:29
>>1
乙カレー
8名無しさん@そうだ選挙にいこう:2006/09/03(日) 12:30:53
>>1
2007上げ
9名無しさん@そうだ選挙にいこう:2006/09/05(火) 23:26:29
Access 2007 からは ADP が作成できなくなって、
そのかわりにリンクテーブルが強化されるみたいだけど、どう思う?
10名無しさん@そうだ選挙にいこう:2006/09/05(火) 23:33:51
リンクテーブル強化って何よ?
そんなの気付かなかったぞ
119:2006/09/06(水) 02:40:52
http://blogs.msdn.com/access/ によると、

Access project files, also called ADPs or .adp files,
provide an alternative to using the Access database
engine by allowing an Access application to connect
directly to the tables in a SQL Server database. ADPs
will continue to be supported in Office Access 2007. To
take maximum advantage of the new features in Office
Access 2007, Microsoft recommends the use of linked
tables to connect to SQL Server data.

129:2006/09/06(水) 02:42:27
さらに「2007 Office リソースキット Beta 2計画とアーキテクチャ」
http://www.microsoft.com/japan/technet/prodtechnol/office/beta.mspx
によると、

Office Access 2007 では、SQL Server データへの接続に関し
て 2つの方法が採用されています。それは、SQL Server へリン
クする方法と Access Data Project (ADP) へリンクする方法で
す。
SQL Server への接続に適した手段として、MDB または ACCDB
ファイル内で SQL Server へリンクする方法があります。この方
法を使用すると、ローカル テーブルやローカル クエリについて高
い柔軟性が発揮され、SQL Server のすべての機能を活用できま
す。さらに、MDB ファイルおよび ACCDB ファイルは、複数の
SQL Server や他のさまざまなデータ ソースへリンクすることが
できます。Office Access 2007 には、MDB ファイルと ACCDB
 ファイルの両方で使用できる多くの新機能が含まれていますが、
ADP で使用できるのは、これらの機能のサブセットのみです。

Office Access 2007 では、MDB ファイルや ACCDB ファイル
を基にして、SQL Server のテーブルやビューに対する読み取り/
書き込み用のリンク テーブルを作成できます。Jet は、SQL パス
スルー クエリと呼ばれる特別なクエリもサポートします。このク
エリでは、すべての SQL コマンドを SQL Server に直接送信でき
ます。
13名無しさん@そうだ選挙にいこう:2006/09/06(水) 13:26:12
ODBCとは違うの?
14名無しさん@そうだ選挙にいこう:2006/09/06(水) 20:09:19
>11の引用文を見る限り、「ADP が作成できなくなっ」たという記述は
どこにも見当たらない。むしろ、2007 でも引き続きサポートされる、
という、逆にも読める記述ならあるが。

ADP ではなく DAP が無くなったという話なら、聞いた。
15名無しさん@そうだ選挙にいこう:2006/09/06(水) 21:58:04
既存のADPが動くのと、新規ADPが作成できない、のとは両立するんだが
169:2006/09/06(水) 22:20:13
ADP が作成できなくなったとは書いていないけど、
β版では作成できなかった。

それとも見落としてるだけで作成できるのかな…
17名無しさん@そうだ選挙にいこう:2006/09/06(水) 22:39:05
例えば、
既存のMDWはサポートされるが、新規作成できないぞ
1814:2006/09/06(水) 23:46:42
>>15
同意。
だから、逆「にも」読めると書いた。
>11の引用文では、どっちにも読めるので、結局
ADP が作成できない典拠にも、引き続き作成できる
典拠にも、どっちにもなってない。
にもかかわらず>9の発言との関連で引用されていたので、
いったいどうつながるのか分からなくて、疑問提起した。

自分自身はβ版も使っていないので、情報提供自体は
ありがたいと思って読んでいる。不思議に思ったらツッコム
かもしれんが、その辺は興味あればこそと理解してくれ。
19名無しさん@そうだ選挙にいこう:2006/09/07(木) 22:31:44
【 システム環境  . 】 WindowsXP SP2, AccessXP(2002)
【 VBAが使えるか .】 はい
【 VBAでの回答  】 可
ACCESSのVBAアプリケーションをエクスプローラから開くと、内部で使用しているフォームの
Form_Error イベントが発生するのですが、他のEXCELなどから開くと Form_Error イベントが
発生しない現象で困っています。
Form_Error イベントが発生しない場合の起動方法は以下のような感じです。

   'Accessオブジェクトの取得
   Set objAccess = GetObject(strFilePath)

   'Accessウインドウの最大化(ACCESS内の最大化が効かないため)
   objAccess.DoCmd.RunCommand acCmdAppMaximize

Form_Error イベント内で入力規則違反があった場合などのエラーメッセージを表示しているのですが
Form_Error イベントが発生しない場合はメッセージなどは表示されず、フォーカスがレコード内から
移動しない状態になってしまいます。
20名無しさん@そうだ選挙にいこう:2006/09/08(金) 08:45:13
Form_Errorって、そのFormで何らかのアクションをした場合だろ。
開くタイミング・方法しか書いてないから、何が言いたいのか・や
りたいのか、良くわからん。
21名無しさん@そうだ選挙にいこう:2006/09/08(金) 08:47:53
ついで、入力規則違反だって必ずForm_Errorイベントが
発生する訳じゃない。各コントロールの更新前・後や、
Formの更新までVBAでチェックしたり等となるだろ。
2219:2006/09/08(金) 08:57:18
>>20,21
回答ありがとうございます。
問題のポイントはエクスプローラで開くと Form_Error イベントが発生するのに
例示した開き方では発生しない、というところです。
なぜ動きが違うのかご存知の方がいらっしゃいましたら是非おしえてください。
23名無しさん@そうだ選挙にいこう:2006/09/08(金) 13:35:05
OLEだから。
2419:2006/09/08(金) 21:10:09
>>23
回答ありがとうございます。
ShellExecute で起動することにしました。
25名無しさん@そうだ選挙にいこう:2006/09/08(金) 22:10:50
> ACCESS総合相談所 その15
> http://pc8.2ch.net/test/read.cgi/bsoft/1142586697/995
>
> インポート時にAccess側で区切る、という設定は可能でしょうか?

インポートにそんな設定無いだろ
それも解らないなら、桐にしとけよ
26名無しさん@そうだ選挙にいこう:2006/09/08(金) 22:57:09
>>25
固定長csv?
Access2003でテストしたところ
ファイル→外部データの取り込み→インポートを開く
ファイルをインポートするダイアログでインポートを選ぶとウィザードが起動する

固定長にチェックが入っていることを「次へ」をクリック

区切りたい場所をクリックすれば区切り線が入る
ダブルクリックで区切り線が消えるので区切り線を指定

あとはわかるよな?
27名無しさん@そうだ選挙にいこう:2006/09/09(土) 18:53:13
【 システム環境  】 Windows2000, Access2002
【 VBAが使えるか 】 はい
【 VBAでの回答  】 可
【 検索キーワード 】ACCESS バーコード 印刷品質
過去ログなどを検索しても該当の不具合などが確認できなかったので、ご存知の方助けてください。

ActiveXコントロール(Microsoft BarCode Control 9.0)を配置したレポートを作成し、
プレビューにて、バーコードが正しいことを確認後、いざ印刷。するとバーコード自体が
印刷されない。このコントロールをExcelにコピー&ペーストしたものは、
意図通りに印刷される。

そこで、プリンタの印刷品質を「標準」から「きれい」にすると、Accessの
レポートでも印刷できた。

自分は印刷できたんだからそれでいいと思うのだが、上司が「ランニングコストが
あがるようなことは、許可しない」とのこと。

同じバーコードの印刷でも、AccessとExcelでは内部で何か違うのだろうか。
ちなみにプリンタは、ビジネスインクジェットプリンタで、
メーカーサポコンの回答は「APの問題です」とのこと。

ついでにバーコード以外のコントロールのコピー&ペーストは、AccessからExcelに
できないのでしょうか?
28名無しさん@そうだ選挙にいこう:2006/09/09(土) 20:06:36
OS:XP
ACCESS:2000
VBA:可能です。

顧客のヨミカタで
性と名を分けてテーブルは作成しています。
テーブルには顧客ヨミカタ性と顧客ヨミカタ名があります。

例えばフォームでヤマダタロウを検索する場合、
テキストボックス文字1には顧客ヨミカタ性 "ヤ"
テキストボックス文字2には顧客ヨミカタ名 "タ"

下記VBAで検索ボタン実行
DoCmd.ApplyFilter , "left(顧客ヨミカタ性,1) ='" & 文字1 & "'"
DoCmd.ApplyFilter , "left(顧客ヨミカタ名,1) ='" & 文字2 & "'"
するのですが、
性に"ヤ"がなくても、名に"タ"がつく顧客が検出されていまいます。
正確に"ヤ"と"タ"で抽出するにはいかがしたらよろしいでしょうか?
29名無しさん@そうだ選挙にいこう:2006/09/09(土) 20:08:06
>>27
自分はバーコード自体使わないから知らないけど、一応
Office XP SP-3 が当たってるかどうかは書いといた方がいいよ。
SP-2 から SP-3 のあいだで、別件だけどバーコードコントロールの
バグフィックスが入っているので。

> 自分は印刷できたんだからそれでいいと思うのだが、上司が「ランニングコストが
> あがるようなことは、許可しない」とのこと。

バーコードの印刷は、紙質やプリンタの印字品質等によって、リーダーでの
読み取り精度が大きく落ちるという話を聞いたことがあります(具体的に
どのていどか知りませんが)。
自分が上司なら、肝腎のバーコードが読み取りエラーで意味を成さない
リスクこそ最も許可できないはずなので、それくらいならむしろ最高品質で
印刷かけさせると思いますが…。

> 同じバーコードの印刷でも、AccessとExcelでは内部で何か違うのだろうか。

知らない。MS にきいて。

> ついでにバーコード以外のコントロールのコピー&ペーストは、AccessからExcelに
> できないのでしょうか?

バーコード以外の「何」をコピペしたいのかによるでしょう。
ま、やって出来ないんなら出来ないんだろうとは思いますが。
30名無しさん@そうだ選挙にいこう:2006/09/09(土) 20:21:35
>>27
バーコード小さ過ぎってことない?
31名無しさん@そうだ選挙にいこう:2006/09/09(土) 21:05:41
>>28
Like 演算子でいいじゃんとか、Filter プロパティの方が好きとか、
そういうベタな感想はさておき。
元コードを極力生かすなら、試してないけど、

DoCmd.ApplyFilter , "left(顧客ヨミカタ性,1) ='" & 文字1 & "' And " & _
          "left(顧客ヨミカタ名,1) ='" & 文字2 & "'"

とか。

ところで、「姓」じゃなくて「性」ですか…?
32名無しさん@そうだ選挙にいこう:2006/09/10(日) 02:26:51
初心者質問ですがよろしくお願いします。
会社で利用している顧客管理データを、近時の市町村合併にあわせて変更
してくれと頼まれたのですが、数万件あるデータを手作業で打ち直すのはぞっとします・・・

なにかいい方法はありますか?みなさんはどのように対応されてるんでしょうか?
ちなみにバージョンは未確認ですが2002だったと思います。(週明け確認します)

ググったら
ttp://www.geocities.jp/access119room/tips_f/sonota.htm#14
てのがあったんですがこの方法はすでに出来ているデータベースにも有用ですか?
この方法だと1万件程度の訂正でどの程度の時間がかかるものでしょうか?
この方法がベストと考えてよいのでしょうか?

自宅PCにアクセスが入っていない上、正直機能、操作とかよくわかってなくてすみません・・・。
33名無しさん@そうだ選挙にいこう:2006/09/10(日) 03:23:35
> ttp://www.geocities.jp/access119room/tips_f/sonota.htm#14
> てのがあったんですがこの方法はすでに出来ているデータベースにも有用ですか?
これから入力するデータに対しては有効ですが、入力済みデータが勝手に
最新になってくれたりはしないでしょう。辞書ですから、最新にしとくに越した
ことはありませんが。

…ふつうに一括置換すれば?
3428:2006/09/10(日) 16:30:05
>>31
ありがとうございます。
できました!
姓はガチで性と勘違いしてました。

検索の際に、文字1に"イ"文字2に"シ"と入力して、検索を行い抽出結果を"シ"でも"ジ"でも検索できるようにしたいのですが、
("シュンイチ"、でも"ジュンジ"でも抽出する意味です。)
姓に"イ"がなくても、名に"シ"and"ジ"がつく顧客が検出されていまいます。
正確に"イ"と"シ"and"ジ"で抽出するにはいかがしたらよろしいでし
あとガントチャートを勉強しているのですが、いいサイトがあったらお教え願えますでしょうか?DoCmd.ApplyFilter , "left(顧客ヨミカタ姓,1) ='" & 文字1 & "' and " & "left(顧客ヨミカタ名,1) ='" & 文字2 & "'"


If 文字1 = "シ" Then
DoCmd.ApplyFilter "", "[顧客ヨミカタ姓] Like ""[シ-ジ]*"""
End If

If 文字2 = "シ" Then
DoCmd.ApplyFilter "", "[顧客ヨミカタ名] Like ""[シ-ジ]*"""
End If
35名無しさん@そうだ選挙にいこう:2006/09/10(日) 18:30:49
>>34
あのさ、フォームにフィルタはひとつしか使えないんだよ。
2つ目を実行した時点で1つ目は無効になる。

それと、フィルタに指定する文字列は、SQLのSELECT文のWHERE句と同じものを指定する。
いったいどこ見てやってるのか知らないけど、ちゃんとヘルプみたほうが早いよ。
Access2000のSQLは正規表現なんて使えないから。
36名無しさん@そうだ選挙にいこう:2006/09/10(日) 18:36:39
んだ、フィルタを次々に重ねて行いたいなら、桐にしとけ
255レベルまで簡単にできるぞ
37名無しさん@そうだ選挙にいこう:2006/09/10(日) 19:30:28
>>35
最後の一行の意図がよく分からない…。
ツッコミの勢いあまって誤爆?
38名無しさん@そうだ選挙にいこう:2006/09/11(月) 15:42:05
いや、普通に [シ-ジ]* の部分に対するツッコミじゃないの?

明らかに正規表現で検索可能という前提で書かれてるとしか思えないし、
仮にできたとして [シ-ジ] で探すのはいくらなんでも無茶すぎるw
39名無しさん@そうだ選挙にいこう:2006/09/11(月) 21:10:23
>>29-30 アドバイスありがとうございます。(バーコードの件です)
思い切って、MSに問い合わせてみます。
結果は、後日ご報告いたします。
4037:2006/09/11(月) 21:11:34
>>38
どうもです。

> 明らかに正規表現で検索可能という前提で書かれてるとしか思えないし、

そこがちょっと引っ掛かってまして。
質問者はこれを「正規表現」とは別に言っていないので、
Like演算子によるパターンマッチングと捉えれば、特に
問題ないような気もします。Jet SQLのヘルプにもちゃんと
載ってますし。

もちろん手法として適切かどうかはまた別の話ですが、
そういう意味の指摘としても読みづらかったので、ちょっと
意図を図りかねてました。

それとも、何か私の方が勘違いしてるのかな??
41名無しさん@そうだ選挙にいこう:2006/09/13(水) 09:35:23
【 システム環境  . 】 WindowsXP XP2, Access2000
【 VBAが使えるか .】 はい
【 VBAでの回答  】 可
【 検索キーワード 】 ACCESS2000 起動しない セキュリティ警告

先日、HPの新規PCを導入して(XP SP2インストール済み)
当方で使っているACCESS2000のシステムを起動したのですが、
以下の現象が出てしまい困っています。
ちなみにこのシステム、LAN上のファイルサーバに入れて、5人ぐらいで共有して使っているシステムです。
解決策ご存知の方、よろしくお願い致します

1.単独(他の人が起動していない状態)で起動すると、
 「セキュリティ警告」なるウィンドウが出る。
 既存の端末(XPや2000)ではこのようなウィンドウは出なかった

2.複数人で共有使用している場合、
 システム(ACCESS2000で作られているもの)をダブルクリックしても、
 何も起きない(メッセージウィンドウも、警告も出ない)
 (以前は、競合があっても、「(コンピュータ名)が使用中です」みたいなメッセージが出たのですが。)

以上、よろしくお願いします。


※というか、ACCESSというより、XP SP2の問題のような気がしないでもないです・・・・
※レジストリは正直弄りたくありません。

42名無しさん@そうだ選挙にいこう:2006/09/13(水) 10:08:04
インターネットからダウンロードしたファイルを実行したときに表示されるセキュリティの警告画面と、警告の解除方法
http://support.microsoft.com/kb/884237/JA/

とか?
43名無しさん@そうだ選挙にいこう:2006/09/13(水) 10:56:28
>>40
正規表現とは言ってないけど、どうみても正規表現を使おうとしてるように見えるじゃん。
もしそのあたりを勘違いしてるならためになるアドバイスだと思うけど。
44名無しさん@そうだ選挙にいこう:2006/09/13(水) 11:01:19
テーブルでテキスト型のフィールドに「空文字列の許可」っていうのがあります。
これはデフォルトで「いいえ」になっているのですが、すべての項目の空文字列を許可すると
なにか不都合はあるんでしょうか?

nullだと比較するときに「a = null」という風に使えないので不便だと思うのですが、
デフォルトでわざわざ「いいえ」にしてるということは、「はい」にしてあると
なにか不都合なことがあるということかなと思いました。

nullと空文字列は厳密に言うと違うという理屈はわかるのですが、運用上それを区別して
利用することってあまりないような気がします。
45名無しさん@そうだ選挙にいこう:2006/09/13(水) 18:43:27
a is null or a = "" って書くのがいやだから
46名無しさん@そうだ選挙にいこう:2006/09/14(木) 10:22:17
>>44
主キーにできんだろ。
47名無しさん@そうだ選挙にいこう:2006/09/14(木) 17:59:07
【 システム環境  . 】 Windows98 ACCESS97
【 VBAが使えるか  .】 はい
【 VBAでの回答の可否】 可

【質問】
5つのテキストボックスの値を1つのテキストとして合体させ、間に半角の
空白を1つ入れたい。ただし、1、2、4番目のテキストボックスが空白の
場合があり、その時は前に詰める形で表示したい。

【現在の状態】テキストボックスZのコントロールソースに

[テキストボックスA] & " " & [B] & " " & [C] & " " & [D] & " " & [E]

わかる方がいらっしゃったらよろしくお願いします。
48名無しさん@そうだ選挙にいこう:2006/09/14(木) 19:16:28
結合演算子

結合演算子は、2 つのテキスト値を 1 つに結合するときに使用します。

演算子 使用例 説明
& 文字列 1 & 文字列 2 2 つの文字列を結合して 1 つの文字列にします。
+ 文字列 1 + 文字列 2 2 つの文字列を結合して 1 つの文字列にします (Null 値は伝播される)。
49名無しさん@そうだ選挙にいこう:2006/09/15(金) 09:36:27
【 システム環境  . 】 Windows??, Access2003
【 VBAが使えるか .】 はい
【 VBAでの回答  】 可
【 検索キーワード 】 access アクセス制限 ユーザ

ローカルネットワークを使用してアクセスファイルを多人数で使用したいのですが、
同時に入出力することは可能なのでしょうか?もし可能であれば複数のライセンスの
購入を検討したいです。
なお、入力に関してはフォーム・レポートは共有し、テーブルについては各ユーザごとに作成
するようにします。

また、立ち上げの際にユーザIDとパスワードを入力してもらいそれによってテーブルを
指定するようにします。

1ファイルでこれらのことが可能なのかご教授お願いいたします。
50名無しさん@そうだ選挙にいこう:2006/09/15(金) 15:05:27
mdbぶっ壊れてもいいならどうぞ
51名無しさん@そうだ選挙にいこう:2006/09/15(金) 15:31:58
>>50
つまりは出来ないっていうことなのでしょうか?
52名無しさん@そうだ選挙にいこう:2006/09/15(金) 15:46:45
若干理解力に欠けるようなので、以下の質問に置き換えて理解してください。

 Q. 信号が赤ですけど、渡ることは可能でしょうか。
 A. 渡れることもありますし、死ぬこともあります。
53名無しさん@そうだ選挙にいこう:2006/09/15(金) 19:41:34
【日本語β版】2007 Microsoft Office【無料配布】
http://pc8.2ch.net/test/read.cgi/bsoft/1148421824/840-846
54名無しさん@そうだ選挙にいこう:2006/09/19(火) 22:29:50
【 システム環境  . 】 XP Access2000
【 VBAが使えるか  .】 いいえ
【 VBAでの回答の可否】 いいえ

【質問】
フォームで本日日付を表示させるには「規定値」に Date()
と入力しますが、昨日を表示させる方法はあるのか教えてください
55名無しさん@そうだ選挙にいこう:2006/09/19(火) 22:41:08
あるよ。
56名無しさん@そうだ選挙にいこう:2006/09/19(火) 23:42:25
date()-1でダメなら俺はあの子をあきらめる
57名無しさん@そうだ選挙にいこう:2006/09/21(木) 02:47:17
【 システム環境  . 】 WindowsXP, Access2003
【 VBAが使えるか .】 はい
【 VBAでの回答  】 可
【 検索キーワード 】 Access フォーム作成 オブジェクト作成 new create
コードでフォーム上にオブジェクトを作成できませんか?
dim XXX as new textbox()
Controls.Add(XXX)
みたいにやりたいです。
58名無しさん@そうだ選挙にいこう:2006/09/21(木) 08:50:09
フォーム上にオブジェクトを新規で生成することがないからわからないけど、
もしある条件下でオブジェクトが必要ならVisibleプロパティで可視管理すれば
いいんじゃないかな?
59名無しさん@そうだ選挙にいこう:2006/09/21(木) 09:46:02
WinXP&Access2002です。
上司に「フォームに作ったVBA(コマンドボタンクリック時のアクション)を、
長くなったので標準モジュールに移しといて」と言われました。
いろいろ検索して立ち読みして、
そのままコピペでは動かないであろうことはわかったのですが、
具体的にどの辺に気を付ければ良いでしょうか?
上司が今週いっぱい出張なんですが、
時間が空いたので居ないうちに解決させたくて伺いました。
どなたか宜しくお願いします。
60名無しさん@そうだ選挙にいこう:2006/09/21(木) 09:47:52
Me!
61名無しさん@そうだ選挙にいこう:2006/09/21(木) 10:01:51
>>58
レスありがとうございます。
できることはできるんですね。
Visibleを真にしてもでなかったんですが、どこか間違ってたようです。
ソースを見直します。
オブジェクトを生成するのはAccessを使いこなせていないだけです・・・orz
6259:2006/09/21(木) 10:18:32
>>60
おそらく私宛だと思うのですが、Me!は使ってるのでそこをForms!〜に直して、
あとはコピペでおっけーということでしょうか?
それだけで良かったのか…書き方が違うのかと思ってました。
やってみます。ありがとうございました。
63名無しさん@そうだ選挙にいこう:2006/09/21(木) 10:41:20
>>57
例えばオプションボタンを押したときにテキストボックスを表示させる場合

Private Sub フレーム_Click()
  If オプション1 = True Then テキスト.Visible = True Else テキスト.Visible = False
End Sub

のようにすればよいと思います。



>>59
コマンドボタンには

Private Sub コマンド_Click()
  Molule1.Test
End Sub

の様に記述して、標準モジュールに

Sub Test ()
  Msgbox("テスト")
End Sub

にすれば良いかと。ただ、コマンドボタンを押す時にフォーム上のオブジェクト等を変更する場合は

Forms.フォーム名.オブジェクト名 の様に指定すればフォーム上のオブジェクト等を変更することが出来ます。
64名無しさん@そうだ選挙にいこう:2006/09/21(木) 10:48:22
>>63
フォーム上のテキストボックス(非連結)から値を持ってきたりしてるので、
そこをフォーム名まで指定してやれば、あとはコピペでいいんですね。
ありがとうございます!
65名無しさん@そうだ選挙にいこう:2006/09/21(木) 11:17:16
>>63
具体例ありがとうございます。
書き直してきます!
66名無しさん@そうだ選挙にいこう:2006/09/22(金) 12:08:21
【 システム環境 . 】 Windows2000, Access97
【 VBAが使えるか .】 はい
【 VBAでの回答  】 可

【質問】 表形式のフォーム画面で背景色を奇数行と偶数行を別の色にしたいのですが
わかる方がいらっしゃったらよろしくお願いします
67名無しさん@そうだ選挙にいこう:2006/09/22(金) 12:25:06
そんなくだらないことに時間を費やすのはお勧めできない。
68名無しさん@そうだ選挙にいこう:2006/09/22(金) 12:59:01
表形式のフォーム?それってサブフォームを使ってってことなのかな?
69名無しさん@そうだ選挙にいこう:2006/09/22(金) 13:03:01
>>66
Access2007は最初からそういう設定があるお!
MS サイトから郵送でベータ版入手できるお!

それまで待てなければ、桐にしとけ
簡単に出来るぞ
70名無しさん@そうだ選挙にいこう:2006/09/22(金) 17:20:36
条件書式って、AC2000からの追加機能だっけ?
7166:2006/09/22(金) 17:49:01
説明が足りませんでした。
>>68が言われたようにメイン/サブフォームで、メインのコンボボックスで選択された項目を
クエリーで選択した値をサブフォームに一覧として表示する形になります。
色の設定はRGB関数のBackcolorを使うということはわかったのですが、交互に色を設定する
するのがどのように記述したらいいのかわかりません。
また、1画面に8行までのレコードを表示し、それ以上は 「<<」「>>」みたいなボタンでページを
移動したいのですがこちらも上手くいかなく、、、

とりあえず帰りにでもACCESSの本を買って勉強しなおしてきます.
72名無しさん@そうだ選挙にいこう:2006/09/22(金) 18:32:53
>>66
方法はいくつかあります。
ギヒョウの850でも読んでみてください。
73名無しさん@そうだ選挙にいこう:2006/09/22(金) 19:48:06
>>71
Access97じゃ無理だってアドバイス受けてるだろ、バカ!
74名無しさん@そうだ選挙にいこう:2006/09/24(日) 07:32:15
結局Access97では無理だったような。。。
無理やりやれば擬似的にできるんだけど,そんなことまでして,交互に
色設定する必要性があるかを良く考えた方がいいくらい無理矢理な方法だしな。
75名無しさん@そうだ選挙にいこう:2006/09/28(木) 08:09:30
アクセスでクエリの練習問題をやっているのですが、どうも上手くいきません。
このサンプルファイル(ttp://deaikei.biz/up/up/2229.zip.html パス;1111)を元に

1)店(STORE)をアルファベット順に並び替え、
EMPLOYEE(従業員)の名字(EMP_LNAME)と名前(EMP_FNAME)も一緒に表示されるようにせよ。
※店名はA〜Zの順に並び替える事が出来たのですが、従業員が5名しか表示されません。
EMPLOYEEテーブルにあるSTORE_CODEを元に従業員21人全員をそれぞれ表示されるようにしたいです。

2)更に、年間売り上げ$1,000,000,00以上の店のみアルファベット順に表示されるようにし、
EMPLOYEE(従業員)の名字(EMP_LNAME)と名前(EMP_FNAME)も一緒に表示されるようにせよ。

3)東と西(REGIONテーブル)にあるそれぞれのお店の総合売り上げを表示せよ。
※REGION_CODEの1と2のお店の総合売り上げを足して出力するみたいなのですが、
どのようにすれば良いのでしょうか?
76名無しさん@そうだ選挙にいこう:2006/09/28(木) 09:14:50
>>75
いきなりファイルをうpしてどうやっやるの〜?じゃぁ、見てくれる人いないんじゃないか?
1はファイル(クエリ)見てないから不明だが、問3についてはREGION_CODEでグループ化して
売上高を合計にすればいいんじゃないのか?(集計)
77名無しさん@そうだ選挙にいこう:2006/09/28(木) 10:25:28
>>76
レスありがとうございます。
>いきなりファイルをうpしてどうやっやるの〜?じゃぁ、見てくれる人いないんじゃないか?

それもそうですね…。少し焦っていて、自分中心に考えていました。

現在の状態ですが、1はどうにか出来ました。
3は76さんの通りにやったら出来ました。
2で$1,000,000,00以下の売り上げのお店を表示させないようにする所で未だに苦戦中です。
7876:2006/09/28(木) 10:36:33
問2についてもクエリの抽出条件の欄に
>1000000000
って入力すれば$1,000,000,00以上の店のみ抽出
することが可能です。もしSQLで記述する場合は、
WHERE テーブル.売上高>100
を最後の行に記述すればおk
7976:2006/09/28(木) 10:37:56
訂正:WHERE テーブル.売上高>1000000000
ですね(^-^;)
80名無しさん@そうだ選挙にいこう:2006/09/28(木) 15:45:18
>>66
擬似的に行毎の背景色のコントロールは可能。
ただし、背景色そのものであるBackcolorはAccess97では行毎に切り替えるのは困難。

フォーム上にオブジェクトは重ねて配置できるので、最背面に色オブジェクトを配置すれば
背景色のように使用できる。
フォームのオブジェクトにはOLEオブジェクトが指定できるし、テーブル上のフィールドとしても
OLEオブジェクトは保存でき、フォーム上の連結オブジェクトフレームには、コントロールソースに
テーブルのレコードでも関数でも指定が出来る。

つまりはアタマを捻れば、フォーム上の明細行毎に背景色(もどき)を変化させるのは
どんなパターンでも説明可能な規則性があれば可能。

メンドクサイと思ったかな?

だとすればそれはおそらく、フォームの明細行毎に背景色を変える必然性は存在しなかったという事だ。
フォームの明細行色を変えたいというリクエストは割りと珍しくないが、その殆どは、
「色が変わると見栄えが良い 気・が・す・る 」といった程度のもので、一部特殊な用途を除けば
殆どの場合は作りこむ価値がない。

もう一度よく仕様を検討したほうが良いぞ!
81名無しさん@そうだ選挙にいこう:2006/09/28(木) 16:10:39
>>80
日本語で頼む、つーか、それ重くてスクロールできん、使えん、無意味
82名無しさん@そうだ選挙にいこう:2006/09/28(木) 19:26:07
Access2000で質問です。OSはXPです。

ボタン類やサブフォームが配置されたとあるフォームがあるのですが、
通常は問題なく動作しているのですが、サブフォームに貼り付けてあるクエリの
実行結果が「0件」になっている時だけ、そのサブフォームやラベル、周囲のボタン類が
全て見えなくなってしまいます。

また、フォームヘッダーやフッターはいつでもちゃんと表示されています・・・
「詳細」エリアだけが一切見えなくなってしまいます。何故でしょうか;;
83名無しさん@そうだ選挙にいこう:2006/09/29(金) 00:04:39
>>82

データがないからでしょ。
連結フォームだとそうなるね。
実行結果が0件だった場合の処理入れたら?
84名無しさん@そうだ選挙にいこう:2006/09/29(金) 01:26:31
>>83
そういうものなのですね・・・サブフォームと関係の無い外側のラベル類まで
一切消えてしまうので悩んでました。
クエリの実行結果が1件以上の場合のみサブフォームを表示させるようにすれば良いのかな・・・
ありがとうございました。
85名無しさん@そうだ選挙にいこう:2006/09/29(金) 07:27:37
>>84
変更・追加が可能なサブフォームにする。変更・追加されたくなかったら、
VBAで抑制。例えば、追加なら挿入前でCancel=Trueにするとか。
見た目はあまりよろしくないが、サブフォームが消えたり出てきたりより
はいいかも。まだ、他にも方法はあるぞ。
86名無しさん@そうだ選挙にいこう:2006/09/29(金) 11:47:39
>>81
連結オブジェクトフレームに貼り付ける画像は点を1ヶとかにして、OLEサイズプロパティを
「ストレッチ」にすれば、それ程重くはない。というか解釈しだいだと思うが、
1000レコード程度のしょぼいDBをMMXペンチのこれまたしょぼいノートで動かしているが
その範囲では全然問題ない。

背景は単色じゃなくて萌え画像で、とか言われたら使い物にならないだろうが…


何百万レコードで使うとか言われたらどうなるかしらないが、Accessでやるのは諦めてもらうとか
ものすごく高速なPCつかうとか。
8786:2006/09/29(金) 12:07:33
ためしに10万件のレコードを4色分けで試してみたら別に問題無いな。マシンはpen3 1Ghz

テーブルに保存した色オブジェクトをDlookupで指定した条件で読込んでみると、
フォーム上の処理は、画面上で表示されるレコードしか色オブジェクトを読込んでこないし
色読込よりデータ表示をフォームからのエントリーが優先される。

フォームに表示できる行数を増やすを程、色が変わるタイミングに遅れがくるが。
(ページをどんどんめくると、移動中には色が変わらず、ページめくりが終わった時点で止まった
レコードの分のみ、パラっと色が変わる感じ)
8881:2006/09/29(金) 20:09:53
昔、ノートPCでやった時には、
サブフォームじゃなく表形式フォームだけど、スクロール重くて使い物にならなかった
89名無しさん@そうだ選挙にいこう:2006/09/29(金) 23:45:18
Acc2000だけど面白そうなんでやってみた
特に重いってほどでもない
つか、俺自身、画像そのもので似たようなことをやった経験があるので大体想像はついてた

そもそも>>80は、このやり方でいけと言っているわけじゃないだろ
どうしてもAc97でやりたいなら、たとえば、って話をしてるだけだろ
そんなに喧嘩腰になるようなことじゃないと思う
90名無しさん@そうだ選挙にいこう:2006/09/30(土) 16:36:39
youth:少年犯罪[重要削除]
http://qb5.2ch.net/test/read.cgi/saku2ch/1145982539/172

172 名前:石川一郎[[email protected]] 投稿日:06/09/27 16:26 HOST:nttkyo188170.tkyo.nt.adsl.ppp.infoweb.ne.jp
対象区分:[個人・三種]優先削除あり
削除対象アドレス:
http://tmp6.2ch.net/test/read.cgi/youth/1157036753/360+363
http://tmp6.2ch.net/test/read.cgi/youth/1157128862/36+38
削除理由・詳細・その他:

今回弁護士法人ひびや綜合法律事務所の
石川一郎が 少年時に殺人事件を
起こしたとする書き込みがされていますが、
まったくの人違いです。
削除をしても、しつこく、同様の書き込みが
され、故意の業務妨害と判断せざるを得ませんので、
現在、警察に捜査を依頼すべく、準備中です。
弁護士法人ひびや綜合法律事務所
弁護士石川一郎
91名無しさん@そうだ選挙にいこう:2006/10/01(日) 13:16:21
メインフォームの中のサブフォームの「帳票フォーム」で作成しています。

このサブフォームで表示させるデータの列数が20列ほどあり、右にスクロール
すると当然左側の列が隠れてしまいます。

この左側の列(列1〜列3)を固定にして常に表示させたいのですが、
方法はありますでしょうか?
92名無しさん@そうだ選挙にいこう:2006/10/01(日) 14:33:08
サブフォーム2つにすりゃいいんじゃね?
93名無しさん@そうだ選挙にいこう:2006/10/01(日) 14:37:21
そうすっとスクロールの同期問題が出てこね?
すなおにデータシート形式にすりゃ列の固定で済むんだけど。
94名無しさん@そうだ選挙にいこう:2006/10/01(日) 16:46:37
>>91
そういうのは桐にしとくのが良いよ
95名無しさん@そうだ選挙にいこう:2006/10/01(日) 22:54:27
アクセス使えるようになりたいんだけど
本とか見ても商品管理とか住所録ばっかりで
自分の生活で使わなそうだし興味も沸かないので
勉強続けられる自信が無い。
本やCDの管理とかにも使えるかな。
他にいい使い道あったら教えてください。
96名無しさん@そうだ選挙にいこう:2006/10/01(日) 23:56:48
俺自身は純粋にDBとしての使い道に迫られておぼえたんだが
敢えて逆の道をすすめてみる
完全に逆の道を進めてみる

データベースなんてどうでもいい
クエリなんて使わなくていい
テーブルさえ使わなくていい
フォームとモジュールだけに目を向けろ
VBか、使い方によってはそれ以上のプログラミングができるぞ
まずは電卓あたりからつくってみろ
スロットマシン、ラーメンタイマーなんてのもいい
97名無しさん@そうだ選挙にいこう:2006/10/02(月) 00:29:56
>>95
本はごく一般的な題材だからうまく読み替えればいいと思いますけど?

私は自分の本の管理に使ってたりするよ。
CDの方が固有番号がはっきりしていて簡単かもね
I
98名無しさん@そうだ選挙にいこう:2006/10/02(月) 01:34:31
>>95
目指せアクセスでゲームクリエイター
http://www.happy2-island.com/paradise/
9995:2006/10/02(月) 02:37:35
>>96-98
ありがとうございます。
頭が固いせいか、本の内容を自分の使えそうなものに
置き換えて考えるのが難しかったんですが
とりあえずCDの管理表?を作って操作覚えてみます。
100名無しさん@そうだ選挙にいこう:2006/10/03(火) 17:50:39
【 システム環境  . 】 Win2003SV/Win2000Pro Access2003 Runtime
【 VBAが使えるか .】 はい
【 VBAでの回答  】 可
【 検索キーワード 】 Access 2003 Runtime SP2 MSP グループポリシー ソフトウェアインストール

 Access2003 Runtime (AC2003RT) とシステムを GPO でユーザに割り当てて
展開してインストールはできたのですが、SP2 なしではスペースが入力
できないなどひどいありさまなので SP2 を適用しようとしています。

 Administrator でログオンして SP2 のフルファイルを実行しましたが、
Adinistrator には AC2003RT が割り当てられていないためか適用に
失敗してしまいました。
 AC2003RT を割り当てられているユーザで SP2 を実行すると、当然ながら
管理者権限がないため実行が中断されてしまいます。
 管理者インストールポイントを作ってそれに MSP を適用しようとしましたが、
msiexec /a AccessRT.msi としても何事も無かったかのように終了してしまい
管理者インストールポイントを作成できませんでした。
 グループポリシーにアップグレード用のパッケージを作ろうとしましたが、
MSP ファイルではパッケージを作ることができず、既存のパッケージになんとか
追加しようとしましたが該当する項目は見つかりませんでした。

 GPO でインストール済みの AC2003RT に SP2 を適用するか、SP2 適用済みの
AC2003RT を配布できるようにしたいのですが、何かよい方法はありませんでしょうか。
101まり:2006/10/05(木) 21:03:53
【 システム環境  . 】 Windows XP, Access 2000
【 VBAが使えるか .】 微妙
【 VBAでの回答  】 可
【 検索キーワード 】 ACCESS グループ化 罫線
はじめまして。早速ですが質問させて頂きます。
得意先の索引(フリガナ)を50音順にした一覧レポートを作っています。
フリガナをグループ化してア行、カ行・・・といったように改ページして、1ページに3列にわけるようにしているのですが、空データの部分にも罫線を出したいと思っています。
サイトを参考にして作ったりしたのですがうまくいきません↓(複数列でなければ出来るのですが)
http://www.mahoutsukaino.com/ac/ac2002/vba/vba12/v12.htm
明日までが締切で焦っています。宜しくお願いします(=TェT=)

102名無しさん@そうだ選挙にいこう:2006/10/06(金) 02:16:49
>>101
プロパティ操作をしようとせず、ダミーで空データ分レコードを作る。
ってことなので、ダミーのテーブルが必要になるなぁ。
103名無しさん@そうだ選挙にいこう:2006/10/06(金) 09:07:16
>101
先に罫線のみ印刷済みの紙を用意しておいて、レポートは データのみ印刷 を使うとか。
104まり:2006/10/06(金) 09:24:41
レスありがとうございます!!
>102
追加クエリを使用するとゆうことでしょうか?
>103
それが一番効率いいですよね。頭の堅い上司なんでどうも・・・(;´Д`A
105103:2006/10/06(金) 12:45:35
>104
 今後の仕事の効率を考えると、上司の頭をやわらかくするか、別のところに
行きたくなる呪いをかけておくとより良くなるかも知れません。
 残念ながらそんな魔法をアドバイスするにはあと数年待たねばなりませんので、
代わりに >102 氏のアイディアをもう少し形にしたものを貼り付けていきますね。

1. レポートのレコードソースをテーブル作成クエリにして一時テーブルを作る。
2. 一時テーブルの Recordset を Keyset で開く。
3. Recordset の行数とレポートのページあたりの行数の MOD をとる。
4. 3. で得られた不足行数分、Recordset に空行を Addnew する。
5. レポートで一時テーブルを開いて印刷。
6. 一時テーブルを削除。
106名無しさん@そうだ選挙にいこう:2006/10/06(金) 17:29:56
【 システム環境  . 】 Windows2000, Access97,Excel97
【 VBAが使えるか .】 ExcelマクロはわかるけどAccessは勉強始めた初心者です
【 VBAでの回答  】 可
【 検索キーワード 】 excel97 access97 連携 検索 更新
これまで excel97 のマクロで処理していたデータが6万件を超えて
しまったので、
データだけ、access97 に30万件のデータテーブルを作り格納しま
した。
このデータを、 excel97 で使用していたマクロから検索・更新した
いのですが、どう設定すればできるのでしょうか。

書店の書籍をみるとADOが載っていましたが、
ADOという機能が導入されたのは access2000 からのようですし、
調べているのですがよくわかりません。

アドバイスいただけると幸いです。
よろしくお願いいたします。
10786:2006/10/06(金) 17:53:10
>>106
Access97を使っているなら、「ADO」ではなく「DAO」でググろう!
108106:2006/10/06(金) 19:24:43
>>107
ぐぐってみます。ありがとうございます。
109名無しさん@そうだ選挙にいこう:2006/10/07(土) 00:30:52
【 システム環境  . 】 Windows2000 , Excel97, Access97
【 VBAが使えるか .】 Excelはわかるけど Accessは初心者
【 VBAでの回答  】 可
【 検索キーワード 】 DOA excel97 access97 オブジェクトが必要です
今日初めて Access97 でテーブルを作成して、
エクセル97のマクロから下記のコードを実行したのですが、

'テーブルのオープン(レコードセットの作成)
⇒ Set daoRS = db.OpenRecordset("EURUSD_2004", dbOpenTable)
で、

実行時エラー 424
オブジェクトが必要です

とでてしまいます。

DBは、フィールドにオートナンバーと日付と時刻と気温というデータが
30万件あるテーブルがひとつあるだけのものです。
DOA 3.5 と、DOA 3.6 でも実行してみたのですが同じです。
どこがおかしいのかわからず悩んでいます。
なにかアドバイスいただけると幸いです。
よろしくお願いいたします。
110109:2006/10/07(土) 00:31:27
コード
-------
Sub prc97()

Dim daoDB As Database
Dim daoRS As Recordset

'データベースのオープン(データベースオブジェクトの作成)
Set daoDB = OpenDatabase("H:\AccessDB\T_KION_2004.mdb")
'テーブルのオープン(レコードセットの作成)
Set daoRS = db.OpenRecordset("KION_2004", dbOpenTable)

'最終レコードまで順読み込みを行う
Do Until daoRS.EOF = True

'レコードの順読み
daoRS.MoveNext
Loop

'テーブルのクローズ
daoRS.Close
'データベースのクローズ
daoDB.Close

End Sub
-------
111名無しさん@そうだ選挙にいこう:2006/10/07(土) 01:17:49
> Set daoRS = db.OpenRecordset("KION_2004", dbOpenTable)

関係ないかもしれないが、どこにも「db」なんてオブジェクト変数 宣言してないだろ。

Set daoRS = daoDB.OpenRecordset("KION_2004", dbOpenTable)

にすると、どうよ?
112102:2006/10/07(土) 02:07:05
>>105
代わりにありがとう!!
あとは、レポートでのグループ化・昇順・降順に注意しましょう。
ダミーで追加した空行が先頭に来ちゃったりしたら、かっちょ
悪いし。
113109:2006/10/07(土) 02:16:32
>>111
うまくいきました ありがとうございます
アクセスへのマクロの定義を、今日初めて記述したもので
よくわかっていませんでした(汗 ありがとう
114109:2006/10/08(日) 02:40:51
エクセル97のマクロからDOAを介して Access97 のテーブルを検索するロジック
についてなのですが、

例えば、

 1行目のレコードの会社名とマッチする社名を、同じテーブルの2行目以降から
検索して100行目でマッチした。
 次に、2行目のレコードの会社名とマッチする社名を3行目以降から検索する
ような処理を記述する場合、

エクセルの表であればそのままLOOPですが、アクセスの場合は
 For 文と MovePrevious の組合せで2行目に戻してから再検索させるのでしょ
うか?
初心者質問ですみません。よろしくお願いします。
115名無しさん@そうだ選挙にいこう:2006/10/08(日) 08:53:53
誰か突っ込んでやれよ。

DOAじゃね〜よ。って。
116名無しさん@そうだ選挙にいこう:2006/10/08(日) 08:58:39
>>114
2行目とか3行目とか言ってる意味が良くわからんが、
絞り込みならSQLのSELECT文つかえ。
Accessでいう「選択クエリ」だ。
117名無しさん@そうだ選挙にいこう:2006/10/08(日) 09:50:46
>>114
何行目って話が出るってことは、先頭からループ回して1つずつ
調べる気だな。SQL以外でやるんだったら、FindFirst, FindNext
を使え。
118109:2006/10/08(日) 11:48:54
>>117
その通りです。
エクセルのマクロから実行しなければならないので。
FindFirst, FindNextですね。調べてみます。ありがとうございます!
119名無しさん@そうだ選挙にいこう:2006/10/08(日) 12:22:43

エクセルだって参照設定すりゃDAO使えるだろが。。
120名無しさん@そうだ選挙にいこう:2006/10/08(日) 12:49:39
121109:2006/10/08(日) 14:41:59
【 システム環境  . 】 Windows2000 , Excel97, Access97, DAO3.5
【 VBAが使えるか .】 Excelはわかるけど Accessは初心者
【 VBAでの回答  】 可
【 検索キーワード 】 DAO excel access select

今までエクセル97の表計算で下記のように処理していたのを、
表のデータをアクセス97に移してDAO3.5で処理しようとしています。

エクセルでは下記↓のように記述していました。
122109:2006/10/08(日) 14:42:28

'順次検索更新処理
Do While gyo = gyoEnd '・・・@

If Cells(gyo, 1) = 1 Then
If Cells(gyo, 2) = (gyo, 3) Then
Cells(gyo, 3).Interior.ColorIndex = 6
Else
'gyo以降を順次検索更新
idx = gyo + 1
Do While idx = gyoEnd
If Cells(gyo, 2) = (idx, 3) Then
Cells(idx, 3).Interior.ColorIndex = 6 '・・・A
Exit Do
End If
idx = idx + 1
Loop
idx = 0
End If
End If

gyo = gyo + 1
Loop
123109:2006/10/08(日) 14:43:05

これをそのまま2つのLoop文の前にそれぞれ RS.MoveNext でレコー
ドの順次読み込みを行うと、
Aの  'gyo以降を順次検索更新 が終了した時点
でテーブルのカレントレコードの位置が、 gyo に idx を加算した行
にいる状態になります。

その場合、次のLoopで @( つまり gyo+1)から再検索するには
テーブルのカレントレコードの位置を gyo+1 に戻す必要があると思う
のですが、

私が思いつけるのは、For 文と MovePrevious の組合せなのですが、
(例えば、Aの後に、For 文と MovePrevious の組合せでカレント
レコードを gyo にまで戻す記述をする)

それは一般的なやり方なのでしょうか?
もっと効率的なやり方はあるのでしょうか。
よろしくお願いいたします。
124109:2006/10/08(日) 14:47:26
スレだと空白が消えてしまうので、_を入れたのもアップしておきます。

___'順次検索更新処理
___Do While gyo = gyoEnd ・・・@

_______If Cells(gyo, 1) = 1 Then
_____________If Cells(gyo, 2) = (gyo, 3) Then
__________________Cells(gyo, 3).Interior.ColorIndex = 6
_____________Else
__________________'gyo以降を順次検索更新
__________________idx = gyo + 1
__________________Do While idx = gyoEnd
_______________________If Cells(idx, 2) = (idx, 3) Then
____________________________Cells(idx, 3).Interior.ColorIndex = 6  ・・・A
____________________________Exit Do
_______________________End If
_______________________idx = idx + 1
__________________Loop
__________________idx = 0
_____________End If
______End If

______gyo = gyo + 1
___Loop
125名無しさん@そうだ選挙にいこう:2006/10/08(日) 15:01:40
Accessでは全レコードを順次検索更新処理ってゆーのがまずあり得ない。
つーか、最後の手段。
126名無しさん@そうだ選挙にいこう:2006/10/08(日) 18:11:23
Excelでのロジックを捨てる覚悟がいると思うけど。長い文章読みたくないから、
どのような処理をして結果何をしたいのかを考えれば、SQLで済んでしまうか
もしれない。検索していく過程で2番目に戻る・3番目に戻るってのがあるから、
MovePreviousを使うって考えてるなら、処理対象のテーブルをオープンしたら、
そのレコードセットのクローンを用意して、同じテーブルに対して2つのレコード
セットを用意すりゃいいじゃん。
127名無しさん@そうだ選挙にいこう:2006/10/08(日) 21:39:45
>>109
>>122 からエスパーすると
現状エクセルで2列目と3列目の値が同じ場合、3列目に色付けしているけど
テーブルから同条件でレコードを抽出してワークシートに取得したいってことか?
128名無しさん@そうだ選挙にいこう:2006/10/08(日) 22:18:53
【 システム環境  】 Windows2000, Access2003
【 VBAが使えるか 】 はい
【 VBAでの回答  】 可
【 検索キーワード 】種類が一致しません 実行時エラー (80020005)

【症状】 ADOを用いてExcel上のデータをAccessテーブル追加する際
Accessテーブルの数値型フィールドに空白を移行しようとすると、
「実行エラー-2147352571 種類が一致しません]となる。

{Excel:Book1:Sheet1}
ABCDEF
1生徒ID名前出欠国語数学英語
21阿部0704080
32伊藤0725083
43上野1
54遠藤0756082

{Excel:Book1:Sheet2}
ABC
1生徒ID名前点数
2=Sheet1!A2=Sheet1!B2=IF(Sheet1!C2=1,"",SUM(Sheet1!D2:F2))
32伊藤205
43上野
54遠藤217


[ACCESS:myDB:成績(テーブル)]
フィールド名データ型
生徒ID数値型(倍精度浮動小数点型,少数点以下自動),値要求(Y),index(YY)
名前テキスト型
点数数値型(倍精度浮動小数点型,少数点以下自動),値要求(N),index(N)
129名無しさん@そうだ選挙にいこう:2006/10/08(日) 22:20:56
[Excel:VB]
Sub レコードの追加1()
Dim myCon As New ADODB.Connection
Dim myRS As New ADODB.Recordset
Dim myFile As String
Dim myTbl As String
Dim myRng As Range
Dim i As Integer

myFile = ThisWorkbook.Path & "\myDB.mdb"
myTbl = "成績"
Set myRng = ThisWorkbook.Worksheets("Sheet2").Range("A1").CurrentRegion
With myCon
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Open myFile
End With

myRS.Open myTbl, myCon, adOpenStatic, adLockPessimistic, adCmdTableDirect
myRS.Index = "生徒ID"
For i = 2 To myRng.Rows.Count
myRS.Seek myRng(i, 1).Value
If myRS.EOF Then
myRS.AddNew
For j = 1 To myRng.Columns.Count
myRS.Fields(myRng(1, j).Value).Value = myRng(i, j).Value
Next
End If
Next
130名無しさん@そうだ選挙にいこう:2006/10/08(日) 22:21:47
myRS.Update
myRS.Close
Set myRS = Nothing
myCon.Close
Set myCon = Nothing
End Sub

欠席者の点数を空白にしたいのですがどのようにすればいいでしょうか?
手動で、コピーしテーブルへの追加貼り付けは問題なく出来ます。
お知恵を貸してください宜しくお願いします。
131名無しさん@そうだ選挙にいこう:2006/10/08(日) 22:30:33
すみません
エクセルの部分が見にくいので張りなおします。

{Excel:Book1:Sheet1}
A   B   C   D   E   F
1 生徒ID名前出欠国語数学英語
2 1  阿部   0  70  40  80
3 2  伊藤   0  72  50  83
4 3  上野   1
5 4  遠藤   0  75  60  82

{Excel:Book1:Sheet2}
A       B        C
1 生徒ID    名前     点数
2 =Sheet1!A2 =Sheet1!B2 =IF(Sheet1!C2=1,"",SUM(Sheet1!D2:F2))
3 2   伊藤   205
4 3   上野
5 4   遠藤   217
132名無しさん@そうだ選挙にいこう:2006/10/08(日) 22:43:26
どっちも!!
NULL
133109:2006/10/08(日) 22:51:31
>>125>>126
もともとエクセルで6万行を越えてしまったのでアクセスをエクセルの表の代わり
にしようと思ったのと、私自身DBの知識がないので、一般的なアクセスの使い方
とは異なっているのかもしれません。

要は、
エクセルのマクロのループ文が入れ子式に二重になっているので、中のループ
で先に進んだカレントレコードの位置を元のループの再スタート位置に戻す必要が
あるので、そこをどう記述すればいいのだろう、という疑問なのですが、
そもそもそういう使い方が一般的ではなさそうですね・・・。

>>127
失礼しました。
実際には色を塗り替える命令文の下に、塗り替えたセルの数値を取得する処理
が入ります。
それを入れると長くなってしまうので、処理の流れを判り易くするために例からは
外しました。
しかし、色を塗り替えるのはエクセルではともかく、アクセスではありえない処理
ですから例としては不適切でした。すみません。
実際には参照比較してテーブルの元の行のフィールドを一部を更新します。
134109:2006/10/08(日) 23:33:20
>>116>>126
MoveNextしか知らず、エクセルマクロでSQLをどう記述したらテーブルから
データを取得してこれるのかわからないレベルなので、レスの意味がわかり
ませんでした。多分SELECT文の使い方がわかれば出来るのだろうと思います。
すみません。
135名無しさん@そうだ選挙にいこう:2006/10/08(日) 23:45:27
>>109

で、具体的には何をやりたいの?
ExcelVBA解らんから言葉で箇条書きしてくれ。
136名無しさん@そうだ選挙にいこう:2006/10/08(日) 23:48:49
>>133
>実際には参照比較してテーブルの元の行のフィールドを一部を更新します。

>>1
★ 質問内容は具体的に書いてください。
  ・何がしたいのか
  ・どんな処理を試したか
  ・動作状況など駄目な理由
  テーブル/フォームの構成、クエリ、VBAの内容など差し支えない
 範囲で詳しく書くと、早く回答が得られるかもしれません。
137126:2006/10/09(月) 00:03:06
>>109
情報が少ない今の段階でも、アナタのやりたいことはオレのレス通り
同じテーブルで2つのレコードセットを利用すればでできるだろ。
1つを、最初→次→3番目→・・・って使い方をして、もう1つを検索専用
にすれば。
1つで済ませたいなら、BookMarkを使えば即戻れる。これが何かぐら
いは自分で調べなさい。
ただし、例えAccessだとしても6万件になるレコードをシーケンス的な
方法で処理をするのはおかしい。時間がかかってもいいなら、どうぞ。
138128:2006/10/09(月) 00:07:56
>>132
すみません、どこをNullにすればいいのですか?
139132:2006/10/09(月) 00:16:09
>>138
オマエはアホか!!
> Accessテーブルの数値型フィールドに空白を移行しようとすると、 「実行エラー-2147352571
> 種類が一致しません]となる。
と聞いてきたんだろ。空白というのは、マジで" "か空文字列の""を入れようとしてるんだろ。
数値型に文字列データ入れようとしてるんだから、そのエラーになる当たり前じゃん。それに
対してNULLって教えてるんだから、該当の数値型フィールドにNULLを入れるに決まってるだろ。

140128:2006/10/09(月) 00:35:54
>139
Excel側で空文字列でなく、Nullを代入することは出来ますか?

=IF(Sheet1!C2=1,"",SUM(Sheet1!D2:F2))
の部分を変更することで対応できますか?
141109:2006/10/09(月) 00:45:14
>>137
>2つのレコードセットを利用する
2つのレコードセットを利用することができるとは思いもよらず、
意味がわかっていませんでした。
レコードセットを2つ利用するにはどうやって記述すればいいのでしょうか。
レコードセットを別々の名前で書けばいいのでしょうか。
どこか参考になるサイトはありますでしょうか。
142109:2006/10/09(月) 01:13:19
>>137
レスの内容から想像すると、多分、そのやり方が私のエクセルマクロの処理に
近いイメージです。とりあえず処理結果が必要なので、シーケンス的な方法で処
理して、後でアクセスの知識をつけてからちゃんとしたやり方を考えたいです。
143名無しさん@そうだ選挙にいこう:2006/10/09(月) 03:09:08
>>109
ExcelVBAは基本命令さえ知ればロジックをうんうん唸って考えればどうにでも組めるけどExcelVBAからテーブルを扱うのはいちいち記述の仕方を調べないとできないですよ
144109:2006/10/09(月) 10:10:43
>>135>>136
・DAO3.6でアクセス97のテーブルで、
指定したRS!行数から検索して、
ある価格より小さなRS!価格を探し、
一番最初にヒットしたRS!価格を取得してエクセルの表に書き出す。
そういうSQL文を、
ExelVBAでどう記述すればいいのか?

これが自分の「具体的に何がしたいのか」だとわかりました。
145109:2006/10/09(月) 10:19:34
×一番最初にヒットしたRS!価格
○より小さなRS!価格でRS!日付、RS!時間の一番近いもの

でした。
146109:2006/10/09(月) 11:01:42
@
エクセル
日付     時刻 値段 値段2
2004/1/1 17:18 980


A
アクセスのテーブル
行数 日付     時刻 値段
1   2004/1/1 09:18 980
2   2004/1/2 10:12 2000
3   2004/1/3 13:11 153


@より後で日付時刻が一番近くてより値段の小さい
3   2004/1/3 13:11 153
のデータを取得して値段2に入れる。
147137:2006/10/09(月) 14:24:31
>>109
アンタ、自分で調べるってことをしてる?サイトだけじゃなくて、ヘルプを読む力を
付ける。
rs1 = OpenRecordset(〜)とrs2 = OpenRecordset(〜)でも充分。実際に2つ開か
なくても、rs2 = rs1.RecordsetClone でもOK。引数や正確な書き方は、自分で
調べる!!
本当に値段だけが欲しいいなら、日付と時刻が分かれてるから面倒だけど(文字
列の設定とすると)、Excelの方を値固定でSQLを表すと、MIN([値段])を使ったの
を教えようと思ったが、ダメだな。「日付時刻が一番近くてより値段の小さい 」って
条件、何を優先にするのかも含めて曖昧でわからん。

行数 日付     時刻 値段
1   2004/1/1 09:18 980
2   2004/1/2 10:12 2000
3   2004/1/2 13:12 200
4   2004/1/3 13:11 153
5   2004/1/3 13:11 150
6   2004/1/3 10:45 190

このデータの時、どれが求めたい値段2なんだよ。それと、Accessのテーブルで
何行目という表現は不確かな要素が大きすぎる。この説明のように使う分には、
いたしかたないと思うが・・・、何か、面倒になってきた。アドバイス、誰かにタッチ
しようかな。
148109:2006/10/09(月) 15:18:23
>>147
ヘルプを使える以前のアクセスでなにがどうあるべきかイメージが掴めない真っ白
な状態でして、「シーケンス的な使い方はDBでは普通しない」という指摘もやっと
わかってきた状態なので、トンチンカンな使い方を尋ねてしまってるのだろうとは
思うのですが・・・、すみません。

> 本当に値段だけが欲しいいなら、日付と時刻が分かれてるから面倒だけど(文字
> 列の設定とすると)
文字列にするのが普通なのですか。テーブルはdate(s)とtime(s)で設定してる
のですがエクセルに落すと日付が変になることがあるのでそうした方がいいので
しょうか。

>「日付時刻が一番近くてより値段の小さい 」って
> 条件、何を優先にするのかも含めて曖昧でわからん。

> 行数 日付     時刻 値段
> 1   2004/1/1 09:18 980
> 2   2004/1/2 10:12 2000
> 3   2004/1/2 13:12 200
> 4   2004/1/3 13:11 153
> 5   2004/1/3 13:11 150
> 6   2004/1/3 10:45 190
>
> このデータの時、どれが求めたい値段2なんだよ。

3行目のレコードの値段です。

まず、エクセルの方の日付けより未来のデータが検索対象となり、
次に検索目標がエクセルの値段より小さい値段、
という順番になります。
お手数をかけてすみません。
149109:2006/10/09(月) 15:26:44
ちなみにヘルプもググったサイトと交互に読んでいます(難解ですが・・・
150名無しさん@そうだ選挙にいこう:2006/10/09(月) 16:02:51
>>109
>>144-145 に関して答えるならこんな感じか。先頭データだけが必要ならループはいらんが・・・
SQLクエリは Jet SQL リファレンス、関連書籍やサイト見るなりしてがんばれ。

lngID = 指定行数
varBase = 基準価格

strSQL = "SELECT テーブル.* " _
& "FROM テーブル " _
& "WHERE ((テーブル.行数>=" & lngID & ") AND (テーブル.価格<" & varBase & ")) " _
& "ORDER BY テーブル.日付 DESC, テーブル.時刻 DESC"

Set rst = db.OpenRecordset(strSQL)

Do Until rst.EOF
{EXCEL処理}
rst.MoveNext
Loop

rst.Close
151109:2006/10/09(月) 16:31:12
>>150
指定行数はこういう風に記述すればいいのですね!
strSQLは上でDimで宣言すればいいのですよね。
記述例があると進み方が全然違います。ありがとうございます。
> それと、Accessのテーブルで
> 何行目という表現は不確かな要素が大きすぎる。
この意味もようやくわかりました。日付と時刻をあわせて主キーに
するべきだったのですね。
152名無しさん@そうだ選挙にいこう:2006/10/09(月) 18:42:43
普通は、日付時刻型の1フィールドに日付も時刻もセットする。
>>151 のSQLは、行数というフィールドがあって初めて使えるかも?って
いうもの。まぁ、行数の代わりに連番でもいいけど。

>>109 が説明のためだけに行数を出したのなら、使えないSQLだね。
ついでに、複数の処理をしたいんだろうから、151のやり方だと基準が
変わるたびにSQL作成してOpenRecordsetの繰り返しになる。
現実的には、109が頭をひねって考える必要がある。ここまで、ヒントを
出して下さったんだから、ありがたいと思わないと。
簡単なオレからのアドバイス。151のSQLで、同一日時で価格が下回る
複数のデータがあった場合、どれがヒットするかわからない。一番安価
なのって条件があるなら、ORDER BYに価格も含めるべき。
153名無しさん@そうだ選挙にいこう:2006/10/09(月) 19:59:44
【 システム環境  . 】 WindowsXP, Access2003
【 VBAが使えるか .】 はい
【 VBAでの回答  】 可
【 検索キーワード 】 OpenDatabase DAO odbc
上記環境にて、ファイル→外部テーブルからodbcで
OracleDBをリンクしています。
また、環境によってはリンクを外す場合があり、
フォームのオープンプロシージャでテーブルがリンクされていたら、
接続しデータ検索を行う処理を追記したいのですが、
方法がわかる方がいらっしゃいましたらよろしくお願い致します。
154名無しさん@そうだ選挙にいこう:2006/10/09(月) 20:16:38
>>158
マクロなら、メニュー使って手作業でリンクするのと大差なく作れるでしょ。
その後、VBAに変換とやれば基本的なものはできるよ。
155名無しさん@そうだ選挙にいこう:2006/10/09(月) 20:50:46
158 がその釣りに気付いてくれることを祈るよ。
156158:2006/10/09(月) 21:38:38
>>154
本当に有難うございました。
157名無しさん@そうだ選挙にいこう:2006/10/09(月) 23:34:03
>>154
(^∇^)アハハハハ!
153でしたね。
158109:2006/10/10(火) 00:15:59
>>152>>154
頭をひっております。ありがとうございます。
159名無しさん@そうだ選挙にいこう:2006/10/10(火) 01:01:18
【 システム環境  . 】 WindowsXP , Access2000
【 VBAが使えるか .】 かすかに
【 VBAでの回答  】 可 )調べます。
フォーム上で、ボタンをクリックすると
決まったフィールドの値をコピー出来るようにしたくて
マクロにて
フォーカスの移動(フィールド名)
キー送信 (^C)

などとしたのですが・・
何故か、たまに失敗します。なので二回クリックしたりしてます。
どういう場合にコピーしてくれないのでしょうか?
160名無しさん@そうだ選挙にいこう:2006/10/10(火) 18:32:32
オプション、キーボード、フィールド移動時の操作、はどうなってる?
161名無しさん@そうだ選挙にいこう:2006/10/10(火) 23:42:09
>>159
マクロでやるなら、オプションは大事だな。オプションのキーボードタブ、
フィールド移動時の動作は全体を選択だな。
これだったら今のままでもうまくいくはずだが、あえて突っ込めば、キー
送信を使わずに[コマンドの実行]でコピーを使おう。
で、本当にクリップボードに送るだけなのか???
どこかフィールドにペーストまでやるなら、VBAの方が楽だぞ。
162名無しさん@そうだ選挙にいこう:2006/10/11(水) 00:05:46
【 システム環境  . 】 Windows2000 , Excel97, Access97
【 VBAが使えるか .】 Excelのみ
【 VBAでの回答  】 可
【 検索キーワード 】DAO Excel Accsess エクセル アクセス 数字 変換

カンマ区切りのテキストデータの数値をアクセス97に
インポートして、DOAを介して、エクセル97のマクロで
セルに入れると余計な数字が付加されています。

@
.txt
1.2565

A
アクセス
1.2565

単精度浮動小数点型
小数点以下桁数 : 4
既定値 : 0

B
エクセル
1.25650000572204
163162:2006/10/11(水) 00:08:03
エクセルでのマクロの記述はただ単に
Cells(1, 4) = RS!数値
です。

エクセルでデバッグしてみると RS!数値はテキストのまま
の数値が 表示されますが、
Cells(1, 4)にカーソルを移すと 1.25650000572204 と
表示されるのでエクセル側の問題だと思うのですが。

エクセルでセルに直接入れないで、As Single の変数
に一度入れてからセルに入れても同じ結果でした。
どのようにしたらいいでしょうか?
よろしくお願いします
164名無しさん@そうだ選挙にいこう:2006/10/11(水) 00:10:27
>>163
Cells(1, 4) = CCur(RS!数値)

とするとどう?
165162:2006/10/11(水) 00:21:53
>>164
実行時エラー424
オブジェクトが必要です

になりました。CSng でも同じです。
166162:2006/10/11(水) 00:28:26
>>164
Dim 〜 As Currency で定義した変数に突っ込んでみたら
余計な数字がカットされました。
これはどういうことなのでしょう。怖いです。
167162:2006/10/11(水) 00:41:51
エクセルスレでエクセルの演算誤差の問題だという指摘を頂きましたので調べます。。
とりあえず処理は>>164さんのアドバイスで対応できます。ありがとうございました。
168159:2006/10/11(水) 01:38:34
>>160さん
診断ありがとうございます。
なるほど、テキストが選択されているように見えていたのですが
実際は移動しましたけど?な状態と理解してよいのかな・・
>>161さん
加えて丁寧な回答感謝です。
突っ込みのとおりコマンドの実行で出来そうですが。
実は、他のアプリへ貼っつけるのでクリップボードへ保存するしかない!
と・"思い込みました"
現状維持して、勉強いたします。
169名無しさん@そうだ選挙にいこう:2006/10/11(水) 08:27:48
だから、桐にしとけってば
170名無しさん@そうだ選挙にいこう:2006/10/11(水) 10:57:03
▼━質問━━━━━━━━━━━━━━━━━━━━
mdbを実行した時から30分程度で自動的にACCESS自体を終了させたいです。
これによる弊害などは気にしなくて構いません。

▼━質問テンプレ━━━━━━━━━━━━
【 システム環境  . 】 WindowsXP SP2, Access2003
【 VBAが使えるか .】 はい
【 VBAでの回答  】 可
【 検索キーワード 】ACCESS VBA 閉じる タイマー
171名無しさん@そうだ選挙にいこう:2006/10/11(水) 11:06:36
>>170
Timerイベント
TimerInterval
Application.Quit
172名無しさん@そうだ選挙にいこう:2006/10/13(金) 22:48:23
仕事で郵便番号検索するため郵政の番号一覧をダウンロードしたけど
表示オーバーで全国の郵便番号が表示できない。
これってアクセスだと全て表示できて検索できたりする?
173名無しさん@そうだ選挙にいこう:2006/10/13(金) 22:52:44
>>172
Access データベース (.accdb) ファイルのサイズ
2 GB からシステム オブジェクトに必要な領域のサイズを引いた値
174名無しさん@そうだ選挙にいこう:2006/10/13(金) 23:03:39
ちょっと難しいんですが・・。
ダウンロードの容量が11730KBということは、無理ってこと?
ごめん・・・。
175名無しさん@そうだ選挙にいこう:2006/10/13(金) 23:14:11
>>174
Accessなめてるなw

郵便番号なんて、たかが10万件程度だ
インデックス張れば、瞬時に検索できる。
176名無しさん@そうだ選挙にいこう:2006/10/14(土) 00:21:20
>>172

Excelで開いたと思われるので、2007ならば問題なし。来年まで待たれよ。
Accessも使い慣れれば、Excelより便利な場合もあるけどね。
177名無しさん@そうだ選挙にいこう:2006/10/14(土) 00:27:07
ほとんど重複データだから正規化せずにはいられないよね、アレ。
178名無しさん@そうだ選挙にいこう:2006/10/14(土) 00:49:32
>>177
使うなら、県・市・町のテーブルに分割すればいいだけだ。
データベースをおもちゃにするならとてもよいサンプルかもしれないw
179名無しさん@そうだ選挙にいこう:2006/10/14(土) 17:46:08
>>174
> ダウンロードの容量が11730KBということは、無理ってこと?

11730KB ≒ 11.7MB ≒ 0.012GB <<<< 2GB
180名無しさん@そうだ選挙にいこう:2006/10/14(土) 22:16:09
みなさん、ありがとございます。
181名無しさん@そうだ選挙にいこう:2006/10/17(火) 10:59:10
例えばCドライブの直下にPDF_TEST.pdfというファイルがあり、アクセスでボタンを押すと
そのファイルがアクロバットリーダーで開かれるというような処理を書きたいのですがどう
すればよいでしょうか?
182名無しさん@そうだ選挙にいこう:2006/10/17(火) 11:01:41
>>181
START.EXE
183名無しさん@そうだ選挙にいこう:2006/10/17(火) 12:24:36
>>182 START.EXE を起動するにはどう書けばよいでしょうか?
184名無しさん@そうだ選挙にいこう:2006/10/17(火) 14:13:18
>>181

1.フォームを作る
2.フォーム上にボタンを作る
3.ボタンのプロパティを表示する
4.ハイパーリンクアドレスの項目を選択し、右側の「…」を押す
5.リンク先のファイル/URL の右側の「参照」を押す
6.ファイルの種類を「すべてのファイル」にする
7.C:\PDF_TEST.pdf を選択して「OK」ボタンをクリックする
8.フォームを「フォームビュー」にしてボタンを押す。
185名無しさん@そうだ選挙にいこう:2006/10/17(火) 14:16:21
>>183
Shell
186名無しさん@そうだ選挙にいこう:2006/10/17(火) 14:30:24
フォームを作っているのですが、

windows付属のフリーセルのように、
横幅を固定し、縦のみ大きさを変更したいのです。

方法はありますか?
187名無しさん@そうだ選挙にいこう:2006/10/17(火) 16:38:49
>>186
ある。
188名無しさん@そうだ選挙にいこう:2006/10/17(火) 20:44:45
>>186
フォームのサイズ変更時に

DoCmd.MoveSize , , hogehoge

と記述。hogehogeは固定する横のサイズ
189186:2006/10/17(火) 21:00:53
>>188
有難うございました。
一発でうまくいきました。

ここには>187みたいな、基地外しかいないかと
相手にしたくないので諦めかけていたところでした。

190名無しさん@そうだ選挙にいこう:2006/10/17(火) 21:56:40
>>189
おれ、187じゃないけど、187に教えて貰ってその態度は無いだろ
二度と来るなよ
191186:2006/10/17(火) 22:37:17
>>190
ハァ?
教えて頂いたのは188様です。

>187はタダのゴミくず
192名無しさん@そうだ選挙にいこう:2006/10/17(火) 22:44:24
>>191
退場を命じる
193186:2006/10/18(水) 00:10:43
>187>192>190
喪前は、どうしようもない屑だな・・・・
194名無しさん@そうだ選挙にいこう:2006/10/18(水) 00:50:27
ACCESSで作ったアプリ(mdbファイル)があります。フォームやレポートをVBAで
使いやすくした程度ですが、これってACCESSのインストールされたPCでないと
使えないものですか?EXCELL、WORD2003のみ搭載のお手軽OfficePCで
使うことは出来ないものでしょうか?
何かのDLLがあれば使えるとか、条件次第で出来るのならあとは自分で調べてみます。

環境は混在してますがとりあえずWindowsXP、Office2003ってことで。
VBAもなんとかわかります。
195名無しさん@そうだ選挙にいこう:2006/10/18(水) 00:56:59
>>194
Access か Access Runtime がインストールされていないと使えませんです。
ただし、データのみ(フォームやレポートは不可)なら、Excel からでも接続できます。
196名無しさん@そうだ選挙にいこう:2006/10/18(水) 01:02:55
>>194
Office XP Developer 買え。
197名無しさん@そうだ選挙にいこう:2006/10/18(水) 01:02:57
>>195
サンクス、runtimeとやらを調べてみます。
198名無しさん@そうだ選挙にいこう:2006/10/18(水) 01:05:42
>>196
だったらExcell側で作り直したほうが、、、
199名無しさん@そうだ選挙にいこう:2006/10/18(水) 06:12:51
500円でランタイム化してやるよとか言う商売したら
ライセンスに抵触するのかな。
200名無しさん@そうだ選挙にいこう:2006/10/18(水) 11:22:24
下記の様なソースコードがあります。BLOBを使ってOracleからデータを取得し、それをC:\
に書き出して、アクロバットリーダーで表示させています。
ところが、このコード普通に書いてしまうと、アクロバットリーダが起動しません、なぜなら
ファイルにロックがかかっており、アクロバットリーダーは編集モードで通常開こうとする
ためです。BLOBから取得してきたデータのファイルロックをはずす方法などご存知のか
た、いらっしゃいませんでしょうか?


201200:2006/10/18(水) 11:23:13
Private Sub cmd表示_Click()
Dim objOraBlb As OraBlob
Dim varRetval As Variant

m_strOldItemCode = Master品目サブフォーム![品目コード]

'BLOB列を含むSELECT文
strSQL = "SELECT IMAGE_FILE FROM T_M_ITEM WHERE ITEM_CODE = '" & Trim(m_strOldItemCode) & "'"
'ダイナセットの設定
Set OraDynaset = OraDatabase.CreateDynaset(strSQL, ORADYN_DEFAULT)
'BLOB型にデータがあるか??
If IsNull(OraDynaset.Fields(0).Value) = True Then
'データが無い!!
MsgBox ("このデータに画像は登録されていません")
Exit Sub
202200:2006/10/18(水) 11:23:47
Else
'BLOB型のオブジェクトを設定
Set objOraBlb = OraDynaset.Fields(0).Value
'ファイルへの書込み(LHA圧縮の元ファイルが日本語名を使えないためC:\直下に格納
objOraBlb.CopyToFile "C:\Genesiss_tmp.pdf"
'BLOB型のオブジェクトを解放
Set objOraBlb = Nothing

'ファイルにロックがかかってるのでしかたなくやっている---↓
varRetval = Shell("CMD.EXE /c copy Genesiss_tmp.pdf Genesiss_tmp2.pdf", 1)
varRetval = Shell("CMD.EXE /c start c:\Genesiss_tmp2.pdf", 1)
'ファイルにロックがかかってるのでしかたなくやっている---↑

End If
'ダイナセットの解放
Set OraDynaset = Nothing
'正常戻り


203名無しさん@そうだ選挙にいこう:2006/10/18(水) 11:33:58
【 システム環境  . 】 WindowsXp, Access2000
【 VBAが使えるか .】 いいえ
【 VBAでの回答  】 否
【 検索キーワード 】 Access 人事 テンプレート

まったくAccess使ったこと無いのですが人事管理のデータベースを作ること
になりました。
お手本になり改変可能なテンプレートや、作り方を紹介したサイトなどがあ
れば教えてください。
フリーソフトは幾つか見つかったのですが、改変できないものばかりなので
後から自分で手を加えられるものが欲しいんです。
よろしくお願いします。
204名無しさん@そうだ選挙にいこう:2006/10/18(水) 11:43:43
>>203
まともにAccessつかったことも無いやつが人事管理みたいなもん
作れる訳が無かろう

エクセルスレで聞いてエクセルでやれ。
205名無しさん@そうだ選挙にいこう:2006/10/18(水) 22:18:31
>>200
知らないが、oo4o の問題なら Access は無関係だから、
Oracle できいた方が早い希ガス。
206名無しさん@そうだ選挙にいこう:2006/10/19(木) 00:26:01
>>186
「方法はありますか」と尋ねたのだから、>>187 の「ある」が最も妥当な回答。
「実現する方法を知りたい」なら、そのように質問するべきだった。

妥当な回答をくれた相手を基地外だの屑だのと呼ばわる>>186の方が
きちがいでありごみくず。
207名無しさん@そうだ選挙にいこう:2006/10/19(木) 09:27:46
うん、>>186 は質問の前にまず的確な日本語をマスターすべきだよ
でないと人並の社会生活営めないぞ
208200:2006/10/19(木) 10:51:48
>>205 Oracleサポートに問い合わせてみました。
追って報告します。
209名無しさん@そうだ選挙にいこう:2006/10/19(木) 11:01:16
accessベースのソフトを使っていて、顧客の領収書を発行するのに8回ボタンをクリックしないといけない仕様です。
すべてのボタンのイベントプロシージャを連続して作動させる方法ってありますか。待ち時間も適当に設定して連続させたいのですが・・
210名無しさん@そうだ選挙にいこう:2006/10/19(木) 11:02:20
ある
211名無しさん@そうだ選挙にいこう:2006/10/19(木) 11:28:22
社員名簿のシステムを作っています。
テーブルに・社員名簿と・退職者名簿を作ろうと思っているのですが
現在、社員から退職者が出た場合、名簿の移動をするときに手入力で移動させています。
何か簡単に移動させる方法はないでしょうか?
フィールドはほぼ同じで、退職者名簿のみ「退職日」「退職理由」のフィールドが追加されています。

退職した社員が出た場合

▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【 システム環境  . 】 WindowsXP, Access2000
【 VBAが使えるか .】 いいえ
【 VBAでの回答  】 否
【 検索キーワード 】 名簿 Access クエリ
212186:2006/10/19(木) 13:29:33
>187>192>190

追加
>206>207
喪前は、まだやってるのかw
社会で相手にされてないからって、これぐらいにしておけよwwww
213名無しさん@そうだ選挙にいこう:2006/10/19(木) 13:37:44
>>211
>フィールドはほぼ同じで、
社員テーブルに、在職・退職のフラグを追加し、本当は全く同じにした方がいいな。
復職しないともかぎらんし、

退職時は、社員テーブルのフラグをチェックし退職者テーブルに追加
214200:2006/10/19(木) 15:09:58
オラクルサポートに聞いたところ、
Set OraDynaset = Nothing
してないのが原因のようでした。
215名無しさん@そうだ選挙にいこう:2006/10/19(木) 17:14:39
>>214

ちょっと前にcloseとかnothingが必要か否かっていうやり取りがあったけど、
やっぱりおまじないはしておいた方がよさ気ですね。
216名無しさん@そうだ選挙にいこう:2006/10/19(木) 17:45:56
>>213
ありがとうございます、できました。社員テーブルも同じにしました。

もうひとつやり方がわからないことがあるのですが
勤続年数、年齢をクエリ上で求めたいと思っています。
今日現在の年齢(○○才)の表示はできるのですが
○○才○○ヶ月というふうに表示させるのはどうやればいいでしょうか?
また、指定の日付け時点の年齢を表示させるにはどのようにすればいいですか?
指定の日付はそのつど入力したいと思っています。
217名無しさん@そうだ選挙にいこう:2006/10/19(木) 19:21:13
>>216
DateDiff 関数
218名無しさん@そうだ選挙にいこう:2006/10/19(木) 23:49:45
>>215
でも、CurrentDbに対してCloseやNothingはいらないと思うぞ。
219名無しさん@そうだ選挙にいこう:2006/10/20(金) 00:43:10
>>210
もう少しヒントをいただけるとうれしいです・・・読むべき本でもいいです。
220名無しさん@そうだ選挙にいこう:2006/10/20(金) 00:49:30
>>209

accessベースのソフトと言う一文が気になるのだが、
各イベントプロシージャをcallすればいいんじゃね?
もちろん拡張子が、mdeとかじゃないよね?
221名無しさん@そうだ選挙にいこう:2006/10/20(金) 08:21:35
>>209
>>220さんの言うように呼び出しをすればおk!それか各ボタンごとにプロシージャを
書き込むのではなくてモジュールを作成し、そこから読み込むのもあり
222216:2006/10/20(金) 09:35:46
表示させることはできました。ありがとうございました。
ただ、書式設定がうまくいってないのか
03年9ヶ月のように一桁の年数の場合は0が入ってしまいます。
この0を取りたいのですが、どうやればいいでしょうか。
書式はyy年mヶ月としています。
223名無しさん@そうだ選挙にいこう:2006/10/20(金) 09:48:07
ある
224名無しさん@そうだ選挙にいこう:2006/10/20(金) 09:52:46
フォームをつくっています。
入力時、空白のページを表示させたいのですがどうすればいいですか?
開くとテーブルの最初のデータが表示されてこまっています。
225209:2006/10/20(金) 10:03:13
>>220
市販ソフトなんですけど、accessそのものです。変な表現ですみません。
>>221
ありがとうございます。試して見ますね。また、報告しますね。
226名無しさん@そうだ選挙にいこう:2006/10/20(金) 10:05:51
>>222
iif関数 Switch 関数

漏れならこんなもの自前のfunctionでやるが。。。

>>224
ふぉーむ開くときに

DoCmd.GoToRecord , "", acNewRec
227名無しさん@そうだ選挙にいこう:2006/10/23(月) 13:45:26
【 システム環境  . 】 WindowsXP, Access2000
【 VBAが使えるか .】 はい
【 VBAでの回答  】 可
【 検索キーワード 】 処理速度の高速化

現在、測定データが約5千万件ほどあります、フイールド数は10ヶ程度
Accessで集計・抽出していますが、遅いです。
もっと早く集計させるにはどうすればいいですか?

228名無しさん@そうだ選挙にいこう:2006/10/23(月) 14:01:42
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【 システム環境  . 】 WindowsXP, Access2003
【 VBAが使えるか .】 いいえ
【 VBAでの回答  】 可

下記のソフトのような事をアクセスで一括してできないでしょうか?
http://webseeder.net/bp/bptran0.9m/readme-bptran0.9m.html
リンク先より:
「CSV形式のデータファイルから読み込んだ情報を、テンプレート用HTMLファイル(デザイン自由)の指定位置に書き込むことで、同じデザインのホームページを大量に自動生成できます。
ホームページに掲載するための情報をデータベース等で管理している場合、テンプレートとなるHTMLファイルさえ作れば、もうコピー&ペーストの必要はありません! 」

つまりデータベースとHTMLテンプレートから、複数のHTMLファイルを産出するというものです。
ACCESSなら出来ると思うのですが、方法が全く思いつきません。
調べたのですが、出てきませんでした。

どなたかよろしくお願い致します。
229名無しさん@そうだ選挙にいこう:2006/10/23(月) 16:52:15
【 システム環境  . 】 WindowsXP, Access2000
【 VBAが使えるか .】 いいえ
【 VBAでの回答  】 不可
【 検索キーワード 】 追加クエリ サブフォーム

「職員情報マスタ」というテーブルと「職員履歴」というテーブルがあります。
それぞれのテーブルには「職員番号」というフィールドがあります。
「職員情報マスタ」テーブルに職員番号を入力すると、同じ値が「職員履歴」テーブルに自動入力される
方法があれば教えていただきたいと思います。
フォームを使った方法でも構いません。
よろしくお願いします。
230名無しさん@そうだ選挙にいこう:2006/10/23(月) 21:21:18
マスタって何のために使ってるの
231名無しさん@そうだ選挙にいこう:2006/10/23(月) 22:54:10
>>227
早く回答をもらうにはテーブルの構造と問題のクエリを晒したほうが良いです。

>>229
検索キーワードに "サブフォーム" があるのお見ると
「職人情報マスタ」をレコードソースとするフォームに
「職員履歴」をレコードソースとしたサブフォームを配置してみたけど
うまくいかなかったってこと?
232名無しさん@そうだ選挙にいこう:2006/10/23(月) 23:43:56
>>227
ヒントつ: CPU, RAM, 用意できる金額
233名無しさん@そうだ選挙にいこう:2006/10/24(火) 00:59:36
>>227
あとインデックスの有無も。つか、張ってなかったら張れ。
張ってそれなら、Access の限界かも。

>>228
VBA を駆使すればどうにでもなるけど、あるていどの
カスタマイズは必須になるから、ちょっと厳しいかな。
最悪、CSV で吐いてそのソフト使うんじゃダメかい?
234名無しさん@そうだ選挙にいこう:2006/10/24(火) 01:00:31
>>227
おそらく、設計が糞に1000カサノッサ
235名無しさん@そうだ選挙にいこう:2006/10/24(火) 01:02:48
>>232

同じ処理をセレ(256MB)とP4(2GB)でやったことあるけど、
RAMはあまり関係なさそうだよ。
CPUクロックほぼ同等で1.5倍ぐらいP4マシーンが早かったから
自作板で言われているCPU性能差そのまんま。
ただ、メモリつんでいる方が起動と終了が早いくらい。
236名無しさん@そうだ選挙にいこう:2006/10/24(火) 02:30:06
>>RAM
俺も漠然とだがそれは感じていた

それにしても・・・5000万件か
何か夢のような、というか悪夢のような数字だな

処理の速い遅いは別にしてAccessでもやればできちゃうのか
237名無しさん@そうだ選挙にいこう:2006/10/24(火) 08:07:50
>>227
50,000,000件のレコードでフィールド数10個くらいってファイルサイズどうなってんだ?
ACC2000の制限が2GBだったと思うがインデックスも作る余地ないんじゃないか、、、
238名無しさん@そうだ選挙にいこう:2006/10/24(火) 18:46:57
227です。 みなさんご教示ありがとう。
5千万件でも、1G超える程度です。もちろんインデックスつけてます
測定データなので、そんな容量は変動ないです。
フィールド数が10個ですが、最小限の予約サイズにしてます。
測定データ(ロガー)の分析にAccessですが、これって無理がありますか?

設計が糞なんでしょうが・・・・せめてヒントだけでも。
239名無しさん@そうだ選挙にいこう:2006/10/24(火) 19:03:51
227です 追記です。
テーブルはそのままでは5Gぐらいいっちゃうので、分けてます。
後だしでごめんなさい。

で、1つのテーブルが1G程度です。

CPU速度が、敏感に影響するとのご教示なので、試してみます。
30分が15分になれば、だいぶ違います。
ありがとうございます
240名無しさん@そうだ選挙にいこう:2006/10/24(火) 19:36:07
>>238
データのみの5000マンレコードなら、無理なレコード数でもない。

データの変動分だけ演算し、演算結果を別テーブルに保存するように
すればよいだけ。
241名無しさん@そうだ選挙にいこう:2006/10/24(火) 19:48:36
既にAccessなんてケチなデスクトップDBもどきを使うような
データ量じゃないと思うけど。
242名無しさん@そうだ選挙にいこう:2006/10/24(火) 21:52:55
>>227
条件適当だけど興味本位でやってみた。
CPUはPentiumM 2.0GHz(FSB 400MHz)、メモリ1GB。

フィールド数: 6 (すべてバイト型、インデックスなし)
レコード数: 54,868,086
ファイルサイズ: 840MB
クエリ: 6つのフィールドの合計し、値をグループ化、カウント。
所要時間: 6分30秒くらい
243名無しさん@そうだ選挙にいこう:2006/10/25(水) 12:40:56
フォームAの新規レコードのフィールドaにフォームBの最新レコードのフィールドbの内容をコピーしたいです。
フォームBの最新レコードを参照する方法が分かりません。
御教授を御願いします。
244名無しさん@そうだ選挙にいこう:2006/10/25(水) 14:49:24
フォームに登録ボタンを配置して
そのボタンを押さない限り新規登録や変更の確定ができないように
したいのですが、可能でしょうか。可能なら方法を教えてください。
お願いします。
245名無しさん@そうだ選挙にいこう:2006/10/25(水) 17:24:30
>>244

非連結フォームにするとか。
246名無しさん@そうだ選挙にいこう:2006/10/25(水) 23:39:22
>>244
フラグ使えばぁ。非連結も手だけど、連結の便利さを捨てることになるから、
だったらVB/VCでデータだけMDBにすればって思うぐらい不親切なAccess
になるよ。
open時にフラグをFalse。フォームの更新前で、そのフラグを判定しFalseな
らCancel=Trueで終わる。登録ボタンを押されたら、フラグをTrueにして更新
する。更新は、DoCmd使ってもいいけどSendkeysでshift+Enterが楽かも。
あと、細かい制御は割愛。この方法にするなら、自分で考えて下さい。
247243:2006/10/25(水) 23:53:19
もしかして、フィールドに無関係に最新レコードを指定する方法がないのでしょうか?
レコード作成日時のようなフィールドを作ったりして指定するのでしょうか?
248名無しさん@そうだ選挙にいこう:2006/10/26(木) 00:27:38
ない。フィールドに依存しない「最新」という概念自体がない。
オートナンバーがあれば、それの最大とか、作成日時があれば
それの最大という指定が必要。それすら無いなら設計し直す。

ちなみに、入力が確定していないレコードは、たとえフォーム上に
入力中のデータが見えていたとしても、テーブルに落ちていない
ので指定できない。初心者がよくハマるので注意。
249名無しさん@そうだ選挙にいこう:2006/10/26(木) 00:28:52
DLastという関数
かつて無節操に愛用したことがある
今は後悔し(ry
250名無しさん@そうだ選挙にいこう:2006/10/26(木) 00:49:57
後悔した理由も書かないと、出来るもんだと勘違いして愛用しだすぞ。w
251名無しさん@そうだ選挙にいこう:2006/10/26(木) 01:20:31
>>248
> ない。フィールドに依存しない「最新」という概念自体がない。

ありがとう御座います。。どうりで検索しても見つからない訳でした。これですっきりしました。
252名無しさん@そうだ選挙にいこう:2006/10/26(木) 07:41:03
243が考えてる最新の定義が何かによるな。
確定してなくてもフォームに見えてるなら、他のフォームから
Foms〜でとってこれるし。
253名無しさん@そうだ選挙にいこう:2006/10/26(木) 10:24:24
>>252
顧客一人につき、月に2枚報告書を作ります。フォームAの内容の一部をフォームBで使えるので、手動でコピペしていました。
フォームAの報告書を作った後で、フォームBを作るときに自動的に最新の内容がコピペされてればいいなと思いまして質問した次第です。
254名無しさん@そうだ選挙にいこう:2006/10/26(木) 12:16:31
>>253
そんなもん、1つのフォームでやれよ・・・・
255名無しさん@そうだ選挙にいこう:2006/10/26(木) 14:30:40
>>254
全く別物の2種類の書類を作成します。その一部を流用可能という意味です。
ある顧客の一案件についての報告を2つの部署に提出する必要がありまして、それぞれの部署の書式が異なっています。
でも同じ案件を扱うので流用可能な部分がある、という状況です。
256252:2006/10/26(木) 21:58:51
>>255
1案件で必ず2つの報告書が必要で流用可能があるなら、1つのフォームで
両方の項目を全て網羅してしまえばいいだろうってことだよ。
テーブルまで分ける必要があるかどうかは知らないけど、印刷物なら簡単
に2つに分けて印刷できるだろ。

で、いまだにアンタの「最新の内容」の定義がわからん。フォームA,Bの両
方が開いてる状態で、欲しいデータが出てる状態なの?
でも、フォームAの報告書を作った後でっていうからには登録して閉じた後
のような気もするし。
こういうものって何かしら資料番号とかあるんじゃねぇのか。それがユニー
クキーになるんなら、何とでも作れそうだけど。
257名無しさん@そうだ選挙にいこう:2006/10/26(木) 23:13:40
>>256
実は市販のソフトなんですよ。そのまんまaccessなんですけどね。
それが書類Aと書類Bを別のフォームで作成するように出来ているのですフォームAとBは同時に開けないようになっています。。
実はすべての案件について2枚書類が発生する訳ではないので、そのように別れていると思われます。
私がやりたいのは、ある顧客について10月分の書類Aを作った後に10月分の書類Bを作るのですが、書類Aのあるフィールドを書類Bにコピペして
楽をしたいだけです。
私は作成時期が最新のレコードを指定する方法があるのかと思って調べたのですが、>>248さんの仰るとおり何らかのフィールド内容を使用して
指定するしか方法がないことが分かりました。なので、作成年月日で参照して代入するようにしてみようと思います。
いろいろと御教授いただきありがとう御座います。実験してみてまた御報告しますね。
258名無しさん@そうだ選挙にいこう:2006/10/26(木) 23:48:23
質問している奴が後から、
「実は***なんですよ」、って何だよ。
259名無しさん@そうだ選挙にいこう:2006/10/27(金) 00:07:49
>>258
舌足らずで申し訳ありませんでした。
260名無しさん@そうだ選挙にいこう:2006/10/27(金) 00:14:15
> 書類Aのあるフィールドを書類Bにコピペして
データソース(tbl)が一緒なら別のフォームを同時に開けないでしょ

ちなみに、桐なら簡単にできるよ
261名無しさん@そうだ選挙にいこう:2006/10/27(金) 00:32:50
>>260
仰るとおり、同時は開けません。
桐を使いたくても、大枚はたいて買ったソフトですから。
初年度30万円、以後毎年15万円払い続けてますので。。。
262248:2006/10/27(金) 01:11:09
Access 製のそういう市販のソフトがあるんですか。へえ。

…ひょっとして、D○○○○○○S?
263名無しさん@そうだ選挙にいこう:2006/10/27(金) 01:14:01
>>262
備後ーwww
264名無しさん@そうだ選挙にいこう:2006/10/27(金) 11:46:02
【 システム環境  . 】 WindowsXP ACCESS2003
【 VBAが使えるか  .】 はい
【 VBAでの回答の可否】 可
現在クエリから新規のテーブルを作成する際に以下のように作成しているのですが、
その際に確認ボタンをでなくするようにしたいのですがどのようにしたらいいのでしょうか?
宜しくお願いします。

Sub テスト()
SQL = "SELECT * INTO T_コピー先 FROM Q_コピー元; "
DoCmd.RunSQL SQL
End Sub
265名無しさん@そうだ選挙にいこう:2006/10/27(金) 13:02:51
つDoCmd.SetWarnings False
266名無しさん@そうだ選挙にいこう:2006/10/29(日) 09:50:45
【 システム環境  . 】 WindowsXP, Access2003
【 VBAが使えるか .】 はい
【 VBAでの回答  】 可
【 検索キーワード 】 Access グラフ Null、Access グラフ N/A

アクセスのフォーム/レポートに表示する折れ線グラフで、Excelのように「未定義(N/A)の場合はプロット対象から外す」とするにはどうしたらいいのでしょうか?
Nullの部分は無視して、そのまま線を繋げて描写して欲しいのですが……。
267266:2006/10/29(日) 09:52:39
>>265
私のような若輩が口を出すのはナンですが、一つ念のため(^^;
実行した後、DoCmd.SetWarnings Trueするのをお忘れなく。
268名無しさん@そうだ選挙にいこう:2006/10/29(日) 23:33:54
コードを例示されたところで何も調べずに嬉々としてコピペで完結するするようでは
一度痛い目にあったほうがいいんでないの?

>>266
Nullの場合はx軸から除外するってこと?
269名無しさん@そうだ選挙にいこう:2006/10/29(日) 23:40:51
>>266
Microsoft Graph グラフ(MSGraph.Chart)のことかね?
だとしたら、デザインビューで非連結オブジェクトフレームを
ダブルクリックすればインプレースアクティベートするから、
[ツール]-[オプション]-[グラフ]タブ-[空白セルのプロット方法]
あたりに目的のオプションがあるかどうか調べてみたら?
有ればそれを選べばいいし、無ければ無いんでしょうよ。
270名無しさん@そうだ選挙にいこう:2006/10/30(月) 12:22:52
最近、アクセスがリンクテーブルのデータを全部クライアント側に
渡して、クライアントが処理しているというため、ネットワークDBと
してはアホだということを、やっと理解しました。
どおりでモッサリな訳だorz..

MSさん、アクセスサーバー作ってくれよ。素人ですがいまさらSQL
サーバーとか覚える気力は、ありません。
271266:2006/10/30(月) 21:15:55
>>269
どもっした。おっしゃるとおり
[ツール]-[オプション]-[グラフ]タブ-[空白セルのプロット方法] で、
「補完してプロットする」でOKでした。ありがとうございました(拝)
272名無しさん@そうだ選挙にいこう:2006/10/30(月) 22:54:11
>>270
デスクトップDBの位置づけですから、アクセスサーバーは無理っぽ。
Accessと同じ使い方ぐらいなら、覚える必要なくSQL Serverでいける
よ。ただ、Accessと同じSQL関数ってのは無理なので覚える必要が
あるけど。
273名無しさん@そうだ選挙にいこう:2006/10/31(火) 17:25:42
【 システム環境  . 】 WindowsXP ACCESS2003
【 VBAが使えるか  .】 いいえ
【 VBAでの回答の可否】 否

テーブルに日付を入れたいんだけど、日付でひとつのフィールドにするか
それとも年、月、日で分けたほうがいいのか、悩ましいです

普通は前者なんだよね?
メリット、デメリットを教えてくれっ!
274名無しさん@そうだ選挙にいこう:2006/10/31(火) 18:44:00
WHERE (年月日 = #10/20/2006#)
WHERE (年 = 2006) AND (月 = 10) AND (日 = 20)

WHERE (年月日 <= #10/20/2006#)
WHERE (年 <= 2005) OR ((年 <= 2006) AND ((月 <= 9) OR (月 <= 10) AND (日 <= 20)))
275名無しさん@そうだ選挙にいこう:2006/10/31(火) 22:28:49
>>273
日付で格納したほうがいいと思うよ
日付はクエリで簡単に年、月、日と分割できるし
276名無しさん@そうだ選挙にいこう:2006/10/31(火) 23:14:34
>>275
クエリだから分割できる訳じゃない。それを言うなら、フィールド分けたって
クエリで日付型にできるよ(DateSerialやCDateで)って言えるだろ。
277名無しさん@そうだ選挙にいこう:2006/10/31(火) 23:17:29
>>273
桐にしたら良いよ
簡単に年月日の分割や結合できるから、どっちでも同じだよ
278名無しさん@そうだ選挙にいこう:2006/11/01(水) 15:27:37
>>273
前者は複数の関数の組み合わせや自前のVBA関数によるチェックなしで
0月99日とか2月30日とかありえない日付の登録を100%防止できる。
これが最大のメリット。

デメリットは強いてあげるなら・・・
地球以外の惑星で使うから13月や14月が登録できないと困るんです!(><;)
とかいう要件には使えないこと。
279名無しさん@そうだ選挙にいこう:2006/11/01(水) 15:41:26
ひとつ教えていただきたいのですが、
レポートの基になるデータの変更は
可能でしょうか?

テーブルのデータを基にレポートを
作ってみたのですが、これをコピーして
別のクエリで利用出来ればと考えています。
280名無しさん@そうだ選挙にいこう:2006/11/01(水) 16:06:08
不可能
281名無しさん@そうだ選挙にいこう:2006/11/01(水) 16:54:48
>>274-278
どうもありがとうございます
もやもや悩んでたのが解決してすっきりしました



>>278
accessで金星日記つけるのでヤバイです
1年より1日の方が長いよ!
282とはいえ:2006/11/01(水) 22:46:32
VBAによるチェック機能はやはりつけておいたほう良いと思うのです

6/100とか
56/9とか
33/11とか
こういった悪ふざけのデタラメ入力も日付としては通ってしまうわけで

たとえばキーボードによる入力は不可にするぐらいの用心深さはあってもよいのではないかと

いずれにせよ個人的には日付型に一票
283名無しさん@そうだ選挙にいこう:2006/11/03(金) 23:01:06
桐にしとけに一票
284名無しさん@そうだ選挙にいこう:2006/11/04(土) 16:16:16
Access2007から年月日のフォームフィルタが超簡単便利になったから、
年月日データを分割して持つメリットは無くなった
テーブルにフィールドを追加したんですが
フィールドリストにはでてるんですが、VBAではエラーになります
分かる方お願いします

286名無しさん@そうだ選挙にいこう:2006/11/04(土) 23:57:36
いい質問だ、誰か答えてやってくれ

どうでもいいけど最近Windows遅くないか、シャットダウンの時
287名無しさん@そうだ選挙にいこう:2006/11/05(日) 01:34:38
>>285

問題なければ、フィールド名晒せ。
一文字目が全角数字だとエラーになるときがある。
288名無しさん@そうだ選挙にいこう:2006/11/05(日) 07:26:38
日付を分けて格納するのはどうかと思うが、日付型もちょっと嫌だな。
日付型って空に出来ないでしょ。
だから、2006/11/05という文字列で格納するのに1票。
入力チェックはどうぜフォームやVBAでやるし、簡単に日付として扱うことも出来る。
289名無しさん@そうだ選挙にいこう:2006/11/05(日) 10:40:15
>>288
COBOLerの匂いがする
290名無しさん@そうだ選挙にいこう:2006/11/05(日) 14:25:33
> 日付型って空に出来ないでしょ。

( ゜Д゜)ポカーン
291名無しさん@そうだ選挙にいこう:2006/11/06(月) 00:21:47
むしろ、"0000/00/00"なんてデータがくると嫌だ。
DBによっては日付のフィールドにNullは許されないのか?
292名無しさん@そうだ選挙にいこう:2006/11/06(月) 01:04:26
何だかよく分かりませんが
少なくともmdbはNull許してるでしょ
あくまで個人的な趣味好みとして、Nullってのは何か落ち着かないので、うちの
名簿の生年月日フィールドでは#1901/1/1#をNullの替わりにしてるけど

105歳の人、実はいたりして
293名無しさん@そうだ選挙にいこう:2006/11/06(月) 21:32:29
何が落ち着かないのか解りませんが、少しは大人になって下さい。
294名無しさん@そうだ選挙にいこう:2006/11/07(火) 09:34:17
If 条件式 Then
 処理1
Else
 処理2
End If


例えばVBAで↑のような処理をする時、処理1もしくは処理2のどちらか片方は必ず実行されるはず・・・
と考えてるレベルの入門者にとってはNullは安心して使えない、>>292が言うところの
「何か落ち着かない」ものに感じられるんだろうな。

Null値の特性を理解できてないうちは無理して使わないのも選択肢の一つ。
295名無しさん@そうだ選挙にいこう:2006/11/07(火) 09:44:01
そのためのIsNull関数だろう。
だいだい、「Null値」とか表現するからあたかもNullという値があるように思うのでは?
Nullという状態と考えれば解りやすい。
296名無しさん@そうだ選挙にいこう:2006/11/07(火) 10:21:52
ACCESS97をインストールするとデータベースウインドウが文字化けして○や□で表示される。
テーブル内のデータなどは問題なく表示される。 再インストールしても同じ状態。
コンパネの地域は日本で言語も日本語。
OSはMeです。
どなたかお願いします。
297名無しさん@そうだ選挙にいこう:2006/11/07(火) 10:49:11
ACCESS97 と WindowsMe のサポートは終了しますた
298名無しさん@そうだ選挙にいこう:2006/11/07(火) 23:28:05
規制は???
299名無しさん@そうだ選挙にいこう:2006/11/07(火) 23:31:10
やっと解除された。
>>294
辻褄が合わないのだが・・・Nullの場合は必ずFalseって覚えればいいだけ
だから、別にNullでも片方は必ず実行されるよ。
Thenのはずと思ってたのにElseだった、は有り得るけど。
300名無しさん@そうだ選挙にいこう:2006/11/08(水) 01:17:48
帳票型フォームの縦の集計では、たとえNullがあっても
=Sum([])
はちゃんとやってくれるんですよね
まずはこれでだまされちゃう

Null + 3 = 3
ではない
ここで痛い目にあい虎馬になってしまったりするわけです

たとえば
[textbox3]=[textbox1] & [textbox2]
で、

textbox1がNullでも
[textbox3]=[textbox2]
となるのが、どうしても信じられない、罠だと思えてしまう

If Isnull([textbox1]) then
[textbox3]=[textbox2]
else
[textbox3]=[textbox1] & [textbox2]
end if

どうしてもこんな書き方をしてしまう、傷つきやすい人間もいたりするわけです
301名無しさん@そうだ選挙にいこう:2006/11/08(水) 02:32:03
何つか、やっぱり語感だろ
人がこつこつ真面目につくってるときにさ、
とつぜん Null とか IsNull とか
おまえはウナギかと
バナナの皮かと
生真面目なだけが取り柄の俺をバカにしに来たのかと
あとはMe! ね
なめとんかいワリャ
302名無しさん@そうだ選挙にいこう:2006/11/08(水) 08:50:03
アホらし。低次元な悩み話するなよ。
303名無しさん@そうだ選挙にいこう:2006/11/08(水) 09:21:07
>>300

[textbox3]=[textbox1] & [textbox2]

↑ここのところを

[textbox3]=[textbox1] + [textbox2]

にすればご希望通り(?)、textbox3はNullになるよ。
304名無しさん@そうだ選挙にいこう:2006/11/08(水) 10:05:37
【 システム環境  . 】 WindowsXP, Access2003
【 VBAが使えるか .】 はい
【 VBAでの回答  】 可
【 検索キーワード 】 Access Excel セル 読み込み

Accessのフォーム画面で入力した内容をExcelの指定のセルに読書きしたいのですが、
個々のセルに指定して書き込み等できますでしょうか?
テーブルのインポートなどはメニューからできると思いますが・・・。
例えば、フォームAのテキストA・テキストB・テキストCに入ってる
データ(テーブルとは非連結です。)を、
テキストAはC3セルに、テキストBはD7〜D10が結合されたセルに、
テキストCはF1セルに書き込みという感じです。
読み込みの方も同様な感じになります。

分かる方、したこと在る方、お願いします。
305名無しさん@そうだ選挙にいこう:2006/11/08(水) 10:28:38
>>304
CreateObject
Excel.Application
参照設定
306名無しさん@そうだ選挙にいこう:2006/11/08(水) 13:32:34

回答のテンプレート
以後、お使いください

 『こっちから聞き直さなきゃ分からんような質問は馬鹿丸出しだからするな。』
307名無しさん@そうだ選挙にいこう:2006/11/10(金) 00:46:24
【 システム環境  . 】 Windows2000, Access2000
【 VBAが使えるか .】 はい
【 VBAでの回答  】 可
【 検索キーワード 】 vba textbox lavel 関連づけ コントロール

フォームにテキストボックスとラベルがあり、テキストボックスとラベルはひも付いています。
(編集でテキストボックスを動かすとラベルも付いてくる状態)

ここでテキストボックスのイベントが発生したときなどに、自分に関連付いたラベルのコントロールを
取得することは可能でしょうか?

実際のプログラムではフォーム上に沢山テキストボックスとラベルの組み合わせがあるので、
ラベルに対する処理を1つにまとめたいと考えています。

よろしくお願いいたします。
308名無しさん@そうだ選挙にいこう:2006/11/10(金) 00:49:30
テキストボックスとラベルは同じ名前にしてる?
309名無しさん@そうだ選挙にいこう:2006/11/10(金) 00:59:51
ひも付きラベルのあつかいには実のところ全く興味はないんだが
というか
あれはウザいだけで何か使い道があるのか、ぐらいにしか考えていなかったんだが

TEXT1 に対する LABEL1
TEXT2 に対する LABEL2

みたいな名前の付け方をすればいいんじゃないのか

Dim i As Integer
Forms!フォーム名("TEXT" & i) に対する Forms!フォーム名("LABEL" & i)
な書き方でいいわけで

そういう話とは違うのか
意味取り違えてたらごめんなさいだ
310名無しさん@そうだ選挙にいこう:2006/11/10(金) 01:00:25
ん、308とかぶったか?
311名無しさん@そうだ選挙にいこう:2006/11/10(金) 02:38:01
テキスト1に関連付けられたラベルは、
テキスト1.Controls(0)
で取得できる。
関連付けられたラベルの有無は、
テキスト1.Controls.Count
で分かる。

With テキスト1.Controls
  If .Count Then
    .Item(0).ForeColor = vbRed
    MsgBox .Item(0).Name & "の前景色を赤にしてみた。"
  End If
End With
312名無しさん@そうだ選挙にいこう:2006/11/10(金) 12:29:35
>>308-311
こんなに早くレスを付けていただきありがとうございます。
遣りたかったことは、テキスト1.Controls(0)で実現できました!

なぜラベルを関連づけて使っているかは、
フォームをデータシートで表示した場合、関連づけのラベルがあると
ヘッダの表示をラベルの内容にしてくれるからです。
(関連づけのラベルが無いとテキストボックスの名前になってしまう)

>Forms!フォーム名("TEXT" & i) に対する Forms!フォーム名("LABEL" & i)
この書き方の方が楽な気もしますね。。。
私個人のPGの書き方で、なんとなくコントロール(インスタンス)を持っていたいので、
..Controls(0)で進もうと思います。

ありがとうございました。
313名無しさん@そうだ選挙にいこう:2006/11/10(金) 17:40:20
【 システム環境  . 】 Windows98+AccessVer7.0 と Windows2000+Access2003
【 VBAが使えるか .】 いいえ
【 VBAでの回答  】 否
【 検索キーワード 】 Access バージョン違い

Win98/Access7のデータを別のDBに移行したいと考えています。
そこで、OLEとRubyを使ってスクリプトを書いてました。
しかし、スクリプトから"select * from テーブル名"しても一部のレコードが出てこないのです。
確認してみると、明らかにレコード数が違っていました。

そこで、Win2000/Access2003 で変換して開いたのですが、
これでもやはり同じレコードが抜けています。

これは何が原因なのでしょうか?


ちなみにAccess2003での変換時に以下のエラーがでていました
オブジェクトの種類オブジェクト名エラーの説明
データベースファイル 'MSJETSQL.TLB' への VBA 参照がないかまたは壊れています。
データベースファイル 'dao2532.tlb' への VBA 参照がないかまたは壊れています。
データベースファイル 'STARFAX.OCX' への VBA 参照がないかまたは壊れています。
フォーム業者発注フォームまたはレポート '業者発注' の ActiveX コントロール 'STARFAX1' の読み込みエラーです。
モジュール"データベースの変換または復元をしているときにコンパイル エラーが発生しました。@これは、現在はサポートされていない、古い DAO 構文によるものと思われます。
コードの修正方法の例を参照するには [ヘルプ] をクリックしてください。@@2@611705@1"
モジュールこのデータベースを変換または有効にするときにコンパイル エラーが発生しました。
314名無しさん@そうだ選挙にいこう:2006/11/10(金) 19:33:47
日本語が伝わらない
315313:2006/11/10(金) 22:27:16
クエリの結果、本来得られるはずのレコード2000件だとすると、
1900件ほどしか帰ってこないというようなことなんですが・・
316名無しさん@そうだ選挙にいこう:2006/11/10(金) 22:35:02
317名無しさん@そうだ選挙にいこう:2006/11/11(土) 00:27:56
> 確認してみると、明らかにレコード数が違っていました。
何と何を比較したのかハッキリと。テーブルを直で開いたのと、select * 〜の
全件数が違うって言ってるのか?・・・絶対有り得ないだろう。
参照設定も含めいろいろ面倒だから、チェックするだけならテーブルをAc2003
にリンクだけすればいいじゃん。で、クエリでselect * 〜やってみ。

それでもNGなら、具体的にどういうレコードがNGになるのか共通項を調べると
か、いくつか例をあげて質問するとか。
318名無しさん@そうだ選挙にいこう:2006/11/11(土) 01:22:38
>>302
ごめんなさい

>>304
ほんとうにありがとうございました
319名無しさん@そうだ選挙にいこう:2006/11/13(月) 11:16:51
アクセス初心者です。本職はPGなのでRDBとかはわかります。
次のことをしたいのですがヒントをください。
【テーブル構成】
顧客情報:ID(主キー)、顧客タイプID(顧客タイプテーブルのキー)、年齢、住所
顧客タイプ:ID(主キー)、名称、プライス
入退出情報:顧客ID(顧客情報テーブルの主キー)、入室時間、退出時間、プライス
【やりたいこと】
1.顧客情報をフォームで入れる際、顧客タイプIDの入力部分で顧客タイプ名称だけ出してコンボで選択させたい。
2.入退出情報を入れる際に顧客タイプのプライスに基づき、時間に応じてプライスを計算したい。

1.をする際、ルックアップテーブルとかフォームの設定が絡んでると思うのですが、どこら辺をいじるのかよくわかっていません。
2.をする際、IDをもとに顧客タイププライスをひっぱって計算するのは式だけでいけるのかVBAをかかないといけないのか。
アクセスのオブジェクトの関係がいまいちわかっていないのでピンときていません。

ここを見ろ、ここを調べろのヒントだけでも助かりますのでよろしくお願いします。
320名無しさん@そうだ選挙にいこう:2006/11/13(月) 16:16:37
1.については、きっとウィザードでもできるような話だと思うので省略するとして

入退出情報テーブルの"プライス"というフィールドが邪魔に見えてしょうがない


SELECT 入退出テーブル.顧客ID, 入退出テーブル.入室時, 入退出テーブル.退出時, 顧客タイプテーブル.プライス 
FROM (顧客テーブル
INNER JOIN 顧客タイプテーブル
ON 顧客テーブル.顧客タイプID = 顧客タイプテーブル.顧客タイプID)
INNER JOIN 入退出テーブル
ON 顧客テーブル.顧客ID = 入退出テーブル.顧客ID

こういうこととは違うのか
違うならごめんなさいだ
321名無しさん@そうだ選挙にいこう:2006/11/13(月) 17:20:39
>>320
すいません。同じフィールド名にしたので紛らわしかったです。
顧客タイプテーブルのプライスは算出基準のプライスで、入退出テーブルのプライスはそれを元に時間をかけて計算したものです。

>1.については、きっとウィザードでもできるような話だと思うので省略するとして
省略しないでください・・・いまいちアクセスのオブジェクトの関係がわかってないのでピンときてないです。
322名無しさん@そうだ選挙にいこう:2006/11/13(月) 19:30:06
323名無しさん@そうだ選挙にいこう:2006/11/13(月) 22:44:25
計算基準の「プライス」でも、掛け算の結果の「プライス」でも同じことじゃないのかな


SELECT 入退出テーブル.顧客ID, 入退出テーブル.入室時, 入退出テーブル.退出時, 顧客タイプテーブル.プライス


これがこうなるだけでしょ

SELECT 入退出テーブル.顧客ID, 入退出テーブル.入室時, 入退出テーブル.退出時, [基準プライス]*時間差

やっぱり勘違い?
だったらごめんなさいだ
324名無しさん@そうだ選挙にいこう:2006/11/13(月) 23:53:06
本職PGというなら、この程度は自分で調べられるはず。
325名無しさん@そうだ選挙にいこう:2006/11/14(火) 11:16:59
>>324 相変わらずこういうやついるが、どんなことだって調べりゃできるでしょ?
そこでお互い助け合うための相談すれじゃないの?
全部事細かに教える必要はないけれど、方向性だけざっくりとでも教えてあげればいいのに。
何つーかけつの穴が本当に小さい。
326名無しさん@そうだ選挙にいこう:2006/11/14(火) 11:43:36
自分で調べるのマンドクセーから聞いて見ただけだボゲア!
327名無しさん@そうだ選挙にいこう:2006/11/14(火) 21:23:26
>>325
326 みたいなのが多いと思うよ。
本人かどうかは別にして。
328名無しさん@そうだ選挙にいこう:2006/11/14(火) 23:17:31
はいはい、ここは相談所なので、釣りはスルーでよろ。
329名無しさん@そうだ選挙にいこう:2006/11/15(水) 13:50:02
フォームに貼り付けられる、RecordSetの中身をそのまま表示して選択行のRecordを引っ張ってこられるコントロールってありますか?
330名無しさん@そうだ選挙にいこう:2006/11/15(水) 14:29:19
331名無しさん@そうだ選挙にいこう:2006/11/15(水) 14:34:09
何がわからないのかわかりません。
レコードセットそのまま表示できるリストみたいなもんでしょ?あるのかはしらん。
332名無しさん@そうだ選挙にいこう:2006/11/15(水) 20:10:41
>>329
っサブフォーム コントロール
333名無しさん@そうだ選挙にいこう:2006/11/18(土) 21:51:05
Access2007ではVBAいらねえな。マクロだけで全部済んじゃうしな。
334名無しさん@そうだ選挙にいこう:2006/11/19(日) 00:08:50
こんばんは。
Access2000を使用してWindows2000/XPで動くシステムを構築中です。

選択クエリで、あるテーブルのフィールドAの条件を、
フォームBのテキストボックスCの値と一致するものにしたいのですが、
ここで抽出条件に使うフォームBの名前を、
テーブルD内の先頭の文字列型のフィールドに格納しています。

VBAの場合はフォーム名をテーブルDから取り出すことは出来たのです
( Forms(DFirst("フォーム名","設定テーブル"))!テキストボックス名
という風にして )が、選択クエリの抽出条件にこれを設定することが出来ません
(!演算子の使い方が正しくないと出ます)。

VBAでの
Forms(DFirst("フォーム名","設定テーブル"))!テキストボックス名
と同じようなこと(フォーム名を、テーブルから取り出して使う)を、
クエリの抽出条件で使う方法はありませんでしょうか?
もしご存知であれば教えて頂ければ幸いです。
335名無しさん@そうだ選挙にいこう:2006/11/19(日) 00:34:09
>>334
何をやってるのかサッパリわからん。テーブルDの存在意義って何???
クエリの抽出条件に、Forms![フォームB]![テキストボックスC]ってやれば
いいだけでしょ。
336名無しさん@そうだ選挙にいこう:2006/11/19(日) 00:39:57
>>335
ありがとうございます。
何故こんな面倒なことをしているのかというと、
フォームBはサブフォームとして動かす予定でして、その場合
別のフォームからフォームBを操作したいとき、Forms!フォーム名の部分を
変更しなくてはならないと思いますので、
フォーム名をどこか一箇所に設定して変更が容易に出来るようにしておきたい
と思っているのです。

まわりくどいことをせずにおとなしくサブフォーム名を
決めて作ってしまうべきでしょうか?
337名無しさん@そうだ選挙にいこう:2006/11/19(日) 00:50:21
何をやっているのかサッパリわからんのは同様として
ついでにDFirst関数を使うのが妥当かどうかの議論は抜きにして

!のかわりに.(ドット)じゃダメかな
338名無しさん@そうだ選挙にいこう:2006/11/19(日) 00:57:25
>>337
ありがとうございます。
.では出来ませんでした。

DFirst関数に関しては、最初のレコードを取り出すという程度の動作かと
思って使っています。具体的な動作は調べたことがありません。すみません。
339334=336=338:2006/11/19(日) 01:10:26
メインフォームの担当の者と話して、サブフォーム名を決定して
作ることに落ち着きました。
わかりづらい質問で失礼致しました。ありがとうございました。
340名無しさん@そうだ選挙にいこう:2006/11/19(日) 09:25:26
>>339
設計的に、その方がベストでしょ。でも、名称違っててもサブフォームなら
Forms![メイン]![サブ].Form![サブのコントロール]みたいな表現でOKな訳
で、この「サブ」のところの名称が取れればいいんでしょ。
今、操作対象としてる親のコントロールをForEachとか使ってチェックして、
属性がSUBFORMってのを探せばいいだけでさ、確実にテーブルDは不要
だよな。
341名無しさん@そうだ選挙にいこう:2006/11/19(日) 18:27:24
ACCESSのレコードのデータを、WEBサイトのフォームに自動入力する方法

上記のヒントありましたら御教示おねがいします。
342名無しさん@そうだ選挙にいこう:2006/11/19(日) 18:43:28
to SharePointService
343名無しさん@そうだ選挙にいこう:2006/11/19(日) 19:24:50
そろそろ会社に2007正規版来てるよね。
344341:2006/11/19(日) 19:50:45
>>342
申し訳ないです。WEBサイトとは自分が運営のサイトではなく、他のサイトです。

ローカルのACCESSのデータをコピペでWEBサイトのフォームに入れてるんですが、
ACCESSでIEを開きブラウジングして、HTMLフォームにデータ補完する方法です。
345名無しさん@そうだ選挙にいこう:2006/11/19(日) 20:36:35
振替なしが確認されているお店
・Leishell (http://leishell.com/i/)
・TityGirls (http://www.titygirls.com/i/)
振替なしが確認されているお店
プラスNN店
・Will(http://www.undernavi.com/tk/will/i/)
・Shine (http://www.shine-dh.com/m/)

・レイ生情報
NNの部:くるみ 、ゆか、みやび(元シャインNN嬢)
NSの部:みお(元シャインNN嬢)
・ティティ生情報
NNの部:?
NSの部:あきな 、あのん

・ウィルS着情報
・・・?
・社員S着情報
・・・?
補完よろ、完成したらテンプレにしよう
346名無しさん@そうだ選挙にいこう:2006/11/19(日) 21:20:10
すみません。
WizHookのOpenFileでファイル名を初期表示
(例.book1.xls)
みたいのをしたいのですが、
どのように、すればよろしいのでしょうか。
347名無しさん@そうだ選挙にいこう:2006/11/20(月) 06:31:44
ACCESS2007試したいんですが、雑誌にはついてないんですか?
348名無しさん@そうだ選挙にいこう:2006/11/20(月) 09:30:41
βで良ければ ny とか Share とかに流れてるよ
349名無しさん@そうだ選挙にいこう:2006/11/20(月) 20:47:43
>>346
少なくともAccess 2003までのWizHookにOpenFileなんてメソッドは無いけど。
いったい何の話をしてる?
350名無しさん@そうだ選挙にいこう:2006/11/22(水) 09:28:19
Access2003で、フォームのボタンからクエリの新規作成画面に飛びたいのですが、
これって可能でしょうか?
既存のクエリの編集はマクロから出来ると思いますが、あれの新規作成版みたいな感じです。
351名無しさん@そうだ選挙にいこう:2006/11/22(水) 09:33:45
はい。
352名無しさん@そうだ選挙にいこう:2006/11/22(水) 09:42:11
>>351
了解です。
ありがとうございました
353名無しさん@そうだ選挙にいこう:2006/11/22(水) 22:57:22
354名無しさん@そうだ選挙にいこう:2006/11/26(日) 00:34:48
Access2003ですが、VB上からフォームで定義したフォームを表示するにはどうしたらいいんでしょう・・・(´・ω・`)
355名無しさん@そうだ選挙にいこう:2006/11/26(日) 00:42:44
その日本語がよく分かりません。
具体的なコードでも示してもらえると分かるかもしれませんが。
356名無しさん@そうだ選挙にいこう:2006/11/26(日) 00:47:00
>>354

Docmd.OpenForm "開きたいフォーム名"

ということ?
VBAではなく、本当のVBだったら知らん。
357名無しさん@そうだ選挙にいこう:2006/11/26(日) 00:47:31
紛らわしくてごめんなさい。
"受注フォーム”をフォームオブジェクトとして作成した場合に、その”受注フォーム”をVBから表示させる方法を知りたいのです。
358名無しさん@そうだ選挙にいこう:2006/11/26(日) 01:18:32
DoCmd.OpenForm("フォーム名")でひらけますた(´・ω・`)
359名無しさん@そうだ選挙にいこう:2006/11/27(月) 13:14:20
この掲示板ではないかもしれませんが、Access2000のVBAで質問です。
(例)
Dim x As String
(記述)
x = "Hello World!"
とするとき、(記述)としては
x = "Hello "
x &= "World!"
という形で記述したいのですが、これに代わる記述はあるでしょうか?
(⇒実際やるとコンパイルエラーになります)

別に、x = "Hello " & "World!" と書けばいいんですが、あればいいなぁ
程度の話ですので、無視してくださって結構です。。すみません。
360名無しさん@そうだ選挙にいこう:2006/11/27(月) 13:17:23
無視します
361名無しさん@そうだ選挙にいこう:2006/11/27(月) 13:20:21
>>359
x = "Hello"
x = x & "World"
362名無しさん@そうだ選挙にいこう:2006/11/27(月) 13:58:35
361さん
ありがとうございました。問題なくできました。
なんと簡単なことだったかと、反省しきりです。
363名無しさん@そうだ選挙にいこう:2006/11/27(月) 15:07:50
まあ、気持ちは分かる。
VB.NET で実現したが、VBA にもその演算子があれば少し便利だったろうとは思う。
364名無しさん@そうだ選挙にいこう:2006/11/27(月) 16:08:57
DB板にあったAccessスレ、なくなった?
365名無しさん@そうだ選挙にいこう:2006/11/28(火) 00:10:34
ふだんC# つかってるんだけど・・・ほんとうにVB使い図来。つうかよくわからん・・・(´・ω・`)
366名無しさん@そうだ選挙にいこう:2006/11/28(火) 00:50:16
359の質問で何がしたいのか分からなかったが
361の答で意味が分かった
367名無しさん@そうだ選挙にいこう:2006/11/28(火) 09:27:15
Access2007 イイヨ--
VBA イラネ
マクロ だけで全部出来ちゃうもんね
Share point service も簡単に連携できるもんね
368名無しさん@そうだ選挙にいこう:2006/11/28(火) 19:32:57
マクロの中の一部をコメントアウトできたらいいなぁ
そうか、中をジャンプできるでもいい

今(2000ですが)は、古い記述を最下部に追いやって、コメント部先頭に[マクロの中止]
アクションで動かんようにしてる
※古いシステムのメンテで使用してます。現在はVBAを使ってるが
369名無しさん@そうだ選挙にいこう:2006/11/28(火) 21:51:07
2007にシステム変更中でVBAで「SUB 商品・単価表示」のように
「・」がある名前のサブルーチンでエラーでまくりで泣きたい・・・
「・」をはずすと正常に動くんだけどね
2003ではOKだったのに!!
370名無しさん@そうだ選挙にいこう:2006/11/28(火) 22:00:33
【 システム環境  . 】 WindowsXP, Access2002
【 VBAが使えるか .】 多少
【 VBAでの回答  】 可

顧客情報テーブル[顧客ID][住所(例:北海道札幌市中央区旭ケ丘××)]
対応部署テーブル[担当部署][担当地域(例:札幌市、北見市][TEL]

上記のようなテーブルが二つあります。
パラメータクエリで顧客IDを入力して顧客住所とその住所に対応する担当部署とTEL番号を
抽出したいのですがまるでわかりません。

※担当部署は県によっては一つの場合もあります(沖縄県は全て沖縄担当)
※エクセルファイルを読み込んでいるので住所フィールドの県や市を分ける事が出来ません。

データーベース、プログラミング初心者です。
申し訳ありませんが誰か教えてください。
371名無しさん@そうだ選挙にいこう:2006/11/28(火) 23:47:25
テーブルそのものも困った形っぽいけど、入力されてるデータのカタチも何か面白いぐらい不安を誘う

担当地域
札幌市
北見市
網走市
帯広市

の形で並んでいるのか

札幌市と北見市
稚内と島々
旭川市(動物園も含む)
釧路市とか
沖縄県(基地は除外)

みたいな形で並んでいるのか

それをはっきりさせてくれるだけでも困らせ具合はだいぶ違ってくると思う
372名無しさん@そうだ選挙にいこう:2006/11/28(火) 23:55:45
>>371

担当地域
札幌市
北見市
網走市
帯広市

の形で並んでます。
よろしくお願いします。

373370:2006/11/29(水) 00:12:36
>>371
分かり難くてすいません。

対応部署テーブルは更新される事は無いので作り変えれます。

現状は担当部署Aはa市、b市、c市、d市を受け持ち
374370:2006/11/29(水) 00:15:15
>>371
分かり難くてすいません。

対応部署テーブルは更新される事は無いので作り変えれます。

現状は担当部署Aはa市、b市、c市、d市を受け持つ
     担当部署Bはe市、f市、g市、h市を受け持つ という感じです。
375名無しさん@そうだ選挙にいこう:2006/11/29(水) 00:44:37
>>374
全然わからんわ。文章通り、素直に受け取るべきか?

担当部署 地域(1フィールドに複数)
  A    a市、b市、c市、d市・・・・・・これで1レコード

これはテーブルを変えるべき。
> エクセルファイルを読み込んでいるので住所フィールドの県や市を分ける事が出来ません
できます。都,道,府,県,市,区,町,村,郡などの文字を区切りにすればよい。もし、郵便番号付き
ならもっと簡単。総務省から郵便番号辞書CSVなどをDLし、利用すれば郵便番号から住所
を分けられる。
376名無しさん@そうだ選挙にいこう:2006/11/29(水) 00:51:00
何々部署が○市と×市と△市、って考えるんじゃなくてさ

1市 A
2市 A
3市 B
4町 A
5市 C
6町 D
7市 B
8市 A
9市 D

な感じで全国13万市町村を相手に表つくったりとか、そういうのは嫌?
郵便番号辞書だったら簡単にダウンロードできるよ

ttp://www.post.japanpost.jp/zipcode/download.html
377374:2006/11/29(水) 01:23:58
>>375
郵便番号辞書の存在は知ってますが現状のデータに郵便番号はありません。

>都,道,府,県,市,区,町,村,郡などの文字を区切りにすればよい。
顧客情報テーブルの住所フィールドを都,道,府,県,市,区に区切ってみます。


>>376
>何々部署が○市と×市と△市、って考えるんじゃなくてさ
自分のスキル不足です。メリットがわかりません。

>全国13万市町村を相手に表つくったりとか、そういうのは嫌?
いぃ嫌ですw


エクセルファイル(顧客情報テーブル)が頻繁に更新されるので出来れば
そのまま使いたかったのですが難しいようなので住所を区切ってみます。
どうもお手数かけました。
378名無しさん@そうだ選挙にいこう:2006/11/29(水) 05:58:25
>>374

一旦Excelに落として、郵便変換ウィザードを利用する。
Excel標準の機能ではないが、MSのサイトから無料でDLできる。
その際は郵便辞書の更新も忘れずに。
これで郵便番号を振ることが可能。
379名無しさん@そうだ選挙にいこう:2006/11/29(水) 13:55:29
【 システム環境  . 】 WindowsXP, Access2003
【 VBAが使えるか .】 可能
【 VBAでの回答  】 可能
【したいこと     】 予定表の作成

アクセスで予定表を作成したいのですが、画面に本日の予定を表示させたいです。
特定の日付(例:2006/11/29)は簡単に作成できるのですが、毎月、毎週、特定曜日などを基準にした
曜日の設定のうまいやり方が思いつきません。

同じフィールド名でクエリを作成し、ユニオンクエリで結合する方法しか思いつきませんでした。これだとクエリの数
が多くなるとユニオンクエリも多くなってしまい、また、非常にクエリ数が多くなってしまいます。l

なにかいい方法はありませんでしょうか?ここのサイトとかにあるっていう誘導でかまいませんので宜しくお願いします
380名無しさん@そうだ選挙にいこう:2006/11/29(水) 14:17:22
>>379
テーブルの日付が例えば2006/11/29、2006/11/30になっていて、今日なら11/29のものを表示したいということでしょうか?
関数Date()を使えば今日を表示することは可能。
特定日はDateSerial関数を使えばよいかと。
何がしたいのかイマイチつかめてないので、こんな解答ですが・・・
381379:2006/11/29(水) 15:34:35
>>380
最終的にしたいこととしてはメイン画面上にリストボックスに本日の予定を載せたいです。

毎月【5日】であるとか毎週【木曜日】の様な基準がそれぞれに
違う予定表を作成するためには【毎月】や【毎週】であるような別個のテーブルを作成しないといけないのかなっと、、、

その後に該当になる(当日)になるクエリを作成してユニオンで結合してそれをリストボックスのデータソースに
する方法しか思いつきません、、、
382名無しさん@そうだ選挙にいこう:2006/11/29(水) 15:52:47
>>379

月、水、金・・・生ゴミ 火、木・・・プラスチック
第2、4木曜・・・資源ゴミ 第3土曜・・・粗大ゴミ

上記のような予定を該当日(今日だと、水曜なので生ゴミ)にメイン画面上に表示したいってことですかね?
383名無しさん@そうだ選挙にいこう:2006/11/29(水) 16:13:00
>>382
まさにその通りです!!!自分の考えた方法だとテーブルとクエリが大量に必要になり
なんとかすっきりと作ることができないかと・・・

宜しくお願いします><
384名無しさん@そうだ選挙にいこう:2006/11/29(水) 17:47:06
>>379
簡単に考えかただけ

日付(1日や13日など)ごとのイベントを入力する月テ−ブル
曜日ごとのイベントを入力するテーブル、週テーブル

週テーブルには毎週、1、2、3、4の第何週かのフィールドを用意
それぞれにイベントを入力
例だとこんな感じ↓
ttp://up.mugitya.com/img/Lv.1_up65140.jpg

あとは今日の日付から、該当日の月テーブルのイベントを表示、今日の日付から第何週の何曜日かを求めて、週テーブルの該当フィールドを表示するとすればよいかと。
385名無しさん@そうだ選挙にいこう:2006/11/29(水) 18:18:23
>>384

イベントとイベントの実施日パターンは
それぞれテーブルでもった方がよくないか?
そうすればリレーションできるし。
386名無しさん@そうだ選挙にいこう:2006/11/29(水) 18:38:24
>>385
おお!そうですね!
とりあえず作ってしまってからいろいろまとめるもので・・・ありがとうございます。
387名無しさん@そうだ選挙にいこう:2006/11/29(水) 23:26:45
>>376
一応ツッコんでおくが、市町村は13万もないだろw
388名無しさん@そうだ選挙にいこう:2006/11/30(木) 00:37:21
>>377
手作業ならいいがプログラム組む時は気を付けて。
都,道,府,県,市,区,町,村の文字で区切るとしても、見つけていく
順番や判定の仕方でとんでもないことになります。
極端だが、都で探して京都が見つかってしまったら。本当は、
府でマッチしなきゃいけないのに。というように、名称にその
区切り文字がある場合を考慮しないと。
389名無しさん@そうだ選挙にいこう:2006/11/30(木) 12:22:06
表示参考価格は 1 ライセンスあたりの参考価格です。
●Access 2007 新規購入ライセンス \26,300
●ライセンス & ソフトウェア アシュアランス \41,500


桐V9-2006 ノーマル版
ビギナーからプロまで幅広くお使いいただける標準パッケージです。
CD-ROM,ライセンス証書,登録葉書,マニュアルAセットが入っています。
●定価:オープン ●税込価格: 39,900円

桐V9-2006 アップグレード版
●定価:オープン ●税込価格:15,750円

桐V9-2006 学割版
●定価:オープン ●税込価格: 31,500円

桐V9-2006 追加ライセンス版
2本目以降の桐9-2006としてご購入いただくときのライセンスパッケージです。1本,5本セット,10本セットがあります。
商品にはライセンス証書,登録葉書が入っています。(CD-ROM,マニュアルは入っていません)
●定価:オープン ●税込価格: 27,300円 ( 1本)
●税込価格: 133,350円 ( 5本)
●税込価格: 262,500円 (10本)

桐V9-2006 アカデミック追加ライセンス版
教育機関限定の桐9-2006ライセンスパッケージです。10本セットのみの販売となっています。
商品にはライセンス証書,登録葉書が入っています。(CD-ROM,マニュアルは入っていません)
●定価:オープン ●税込価格: 241,500円
390名無しさん@そうだ選挙にいこう:2006/11/30(木) 15:26:21
AccessのSQLで質問があるのですが、
一度に二つ以上のデータを追加する場合、どのようなコマンドを使うのでしょうか?

一度に13個くらい追加したいのですが、現在は

INSERT INTO MEIBO
VALUES (55,'TARO YAMADA');

INSERT INTO MEIBO
VALUES (56,'MASAMI IWAKI');

INSERT INTO MEIBO
VALUES (57,'KAZUTO TONOMA');

という風にひとつひとつクエリーを作っています。
391名無しさん@そうだ選挙にいこう:2006/11/30(木) 15:32:55
テンプレ無視していました。テンプレを使用します。

【 システム環境 】 WindowsXP Professional SP2, Access2003 SP2
【 VBAが使えるか】 いいえ
【 VBAでの回答 】 否
【 検索キーワード 】 Access SQL INSERT
【 質問内容 】

AccessのSQLで質問があるのですが、
一度に二つ以上のデータを追加する場合、どのようなコマンドを使うのでしょうか?

一度に13個くらい追加したいのですが、現在は

INSERT INTO MEIBO
VALUES (55,'TARO YAMADA');

INSERT INTO MEIBO
VALUES (56,'MASAMI IWAKI');

INSERT INTO MEIBO
VALUES (57,'KAZUTO TONOMA');

という風にひとつひとつクエリーを作っています。
392名無しさん@そうだ選挙にいこう:2006/11/30(木) 17:46:35
>>391

どういう状況で使っているの?
普通は態々一件ずつinsert文を発行しないでしょ(動作的にはそうかもしれないけど)。
フォームで手入力だったら更新後処理でやればいいし、
出来合いのデータだったら、一括でinsertできるでしょ。

393374:2006/11/30(木) 17:53:19
>>378
ありがとうございます。
今回、郵便番号は必要なさそうですが
落ち着いたら試してみようとおもいます。

>>388
ありがとうございます。
ttp://www.accessclub.jp/samplefile/samplefile_95.htm
上記サイトを参考にして上手くいきました。
394名無しさん@そうだ選挙にいこう:2006/12/01(金) 00:52:43

【 システム環境 】 Windows98 Access2.0
【 VBAが使えるか】 少し
【 VBAでの回答 】 可
【 質問内容 】
どうしても2.0を使用しないといけない環境なので、AccessBASICでの回答をお願いします。
新規レコードにフォーカスを移動するのはなんと書けばよいのでしょうか?
VBAだと
DoCmd.GoToRecord , , acNewRec
だと思うのですが。
よろしくお願いします。
395名無しさん@そうだ選挙にいこう:2006/12/01(金) 01:16:00
>>394
ほぼ同じ。ヘルプ見れば。あれっ、マクロからに変換する機能は、
2.0になかったっけ???。
でも、環境的に終わってる環境だぞ、それ。
396名無しさん@そうだ選挙にいこう:2006/12/01(金) 05:26:28
>>374

377で「都」の例が出たけど、全国が対象だったら
「市・町」の扱いに気をつけてね。
市川市、市原市、四日市市、町田市… etc
とかあるから(俺は挫折したけど)。
397名無しさん@そうだ選挙にいこう:2006/12/01(金) 09:02:48
>>396
その程度で挫折しちゃダメじゃん。
398名無しさん@そうだ選挙にいこう:2006/12/01(金) 17:23:51
>>397

Excel、VBAは使用せずで。
399名無しさん@そうだ選挙にいこう:2006/12/01(金) 21:35:43
>>398
じゃ、桐にしとけ
400名無しさん@そうだ選挙にいこう:2006/12/02(土) 00:21:10
>>396
ふふふ、俺は郵便番号データから都道府県と市区町村フィールドと、
それぞれの文字数を出して、グループ化して、テーブルを作って。
それを元住所テーブルから作ったクエリでleft(住所,文字数の和)が一致
したら新しく作ったフィールドに出力したことがある。

俺のスキルはその程度orz...
401名無しさん@そうだ選挙にいこう:2006/12/02(土) 00:22:42
上みたいな日本語を書くから、改造するより、作り直した方が
早い、ボロアプリになるんだがなorz....
402名無しさん@そうだ選挙にいこう:2006/12/02(土) 11:04:48
【 システム環境  . 】 WindowsXP, Access2003,(EXCEL2003)
【 VBAが使えるか .】 はい
【 VBAでの回答  】 可
【 検索キーワード 】 組み込みダイアログボックス ほかいろいろ
やりたいこと ・レポートの印刷色を任意の色で設定したい

得意先からの注文(CSVデータ)を取り込むときに、ファイル名を指定する方法として
以下のコードで実行しています。
On Error Resume Next
Set xlApp = GetObject(, "excel.application")
If Err.Number <> 0 Then 'EXCELLが起動されていない
Set xlApp = CreateObject("excel.application")
End If
FNAME = xlApp.Dialogs(xlDialogPatterns).Show 'ファイルを開くダイアログボックスでファイルを指定
If FNAME = False Then
Exit Sub
xlApp.DisplayAlerts = False
xlApp.Quit ' 処理終了後、Quit メソッドでアプリケーションを終了し、
End If
FNAME = xlApp.ActiveWorkbook.FullName 'ファイル名をフルパスで取得

これを、上記の目的のために、以下の変更をしたら
ダイアログボックス自体が表示されないのですが、
わかる方がいたら教えていただけませんか。

改行が多すぎる出るので、レスを分割します
403名無しさん@そうだ選挙にいこう:2006/12/02(土) 11:06:03
以下が、改変したコードです

On Error Resume Next
Set xlApp = GetObject(, "excel.application")
If Err.Number <> 0 Then 'EXCELLが起動されていない
Set xlApp = CreateObject("excel.application")
End If
'Sheets(1).Select
'Range("a1").Select

FNAME = xlApp.Dialogs(xlDialogPatterns).Show
If FNAME = False Then
xlApp.DisplayAlerts = False
xlApp.Quit ' 処理終了後、Quit メソッドでアプリケーションを終了し、
Exit Sub
End If
印刷色 = Range("a1").Interior.ColorIndex
MsgBox 印刷色
xlApp.DisplayAlerts = False
xlApp.Quit ' 処理終了後、Quit メソッドでアプリケーションを終了し、
404名無しさん@そうだ選挙にいこう:2006/12/02(土) 15:19:02
回答じゃなくて悪いけど、Access 2003でしょ?
なんでAccessに組み込まれてるApplication.FileDialog使わないで、
わざわざExcelに外注に出すような面倒なことしてんの?
Access 2000環境にでも配布するのか?
405402:2006/12/02(土) 16:18:18
>>404
>なんでAccessに組み込まれてるApplication.FileDialog使わないで、
>わざわざExcelに外注に出すような面倒なことしてんの?
>Access 2000環境にでも配布するのか?

個人的な状況を言うと
・学校でプログラミングをなっらていない。
・ACCESSは自分と子に仕事のため独学
・HELPでは、組み込みダイアログボックスについて
 EXCELのように発見できなかった。
・GOOGLEでもEXCELのダイアログボックスの
 使い方は発見できたが、ACCESEはヒットしなかった

ということで402のコードになっています。
HELPなり、GOOGLEの検索キーワードでもよいので教えてもらえますか。
406名無しさん@そうだ選挙にいこう:2006/12/02(土) 17:28:16
ヘルプはVBEの方でかけているんだろうね?
Accessのヘルプじゃ出ないと思うよ。

ダイアログ

これでで検索かければヒットすると思うが。

>>404

>Access 2000環境にでも配布するのか?

そうだったらAPIでやるんじゃね?
407名無しさん@そうだ選挙にいこう:2006/12/02(土) 18:33:55
>>406

とりあえず、ありがとうございました。
ダイアログで検索したら、確かにFileDialogはでますね。
今動いているものを、いちいち直すのも面倒なので
次回機会があったら、使ってみたいと思います。

でも、その中には、今回の質問
>やりたいこと ・レポートの印刷色を任意の色で設定したい
に必要な項目は、見当たらないと思いますが?
408名無しさん@そうだ選挙にいこう:2006/12/02(土) 19:18:15
>>407

ForeColor、BackColorでVBEのヘルプで調べてみ。
409名無しさん@そうだ選挙にいこう:2006/12/02(土) 19:42:44
ACCESS初めて使い出して 2007が初試用なんですが、
Excelもよかったけど ACCESS使えるとマジでいろいろできますね。

すんごく使いやすい! たのすぃー! 
410402:2006/12/02(土) 20:25:43
>>408

ありがとうございます。

最初の質問(組み込みダイアログボックスをいかに使うか)
とはずれますが、次の方法で自己解決とすることにしました。

実際使用する色は、6色ほどなので
1.フォームにオプショングループのトグルボタンを配置する。
2.トグルボタンの標題を■にし
3.それぞれの■の色を印刷したい色にする。

トグルボタンやコマンドボタン自体の色変更は、だめみたいですね
411名無しさん@そうだ選挙にいこう:2006/12/02(土) 20:35:16
>>410

そう、できない。
なので、ラベルとかを代用しているらしい。
中にはコントロールを重ねてそれっぽくしている人もいるらしいが
あまりお勧めはしない。
412名無しさん@そうだ選挙にいこう:2006/12/02(土) 22:23:23

スレ違いでしたら誘導して下さい。

Access2000にて、
モジュールに、下記のようなプログラムを書きました。

Public Function Func_A(B As Variant)
  On Error Resume Next
  Err.Raise(53)
End Function

通常、この関数を実行しても何も起きないはずですが、
エラーが発生してしまいます。

複数のPCである1台だけ発生します。
何か環境に問題があると思うのですが、
どこをチェックすればよろしいでしょうか?


尚、異常があるPCの環境は以下のとおり。

WindowsXP Pro
Microsoft Access2000 (Office SP3適用済み)

VBA:
Microsoft Visual Basic 6.0
Version 9972
VBA : Retail 6.4.9972
Forms3 : 2.01
413名無しさん@そうだ選挙にいこう:2006/12/02(土) 23:44:04
>>412
なんてエラーがでるの?
414名無しさん@そうだ選挙にいこう:2006/12/03(日) 00:07:42
>>412
> 通常、この関数を実行しても何も起きないはずですが
> エラーが発生してしまいます。

いや、コンパイルエラーが発生したらアウトだろ。
参照設定は大丈夫なのか?
415412:2006/12/03(日) 07:45:23

>>413

エラーの内容は、
On Error Resume Next
が無いときに
Err.Raise(53)
で出るエラー、

「実行時エラー'53':
 ファイルが見つかりません。
 終了(E) デバッグ(D) ヘルプ(H)」

です。

>>414

上記エラーなので、参照設定等の問題では無いと考えます。
416名無しさん@そうだ選挙にいこう:2006/12/03(日) 10:51:52
>>414
関係ないと思うが、"()"はいらないよ。
一応、参照設定されてるものと、その順番をチェックしてみたら?
見落としてるちょっとしたミスだと思うが、どうしてもわからないな
らAccessをフルで再インストール(アンインストールしてから)し、
本当にAccessに関しては同じにしたって言える状態にして試す。

417名無しさん@そうだ選挙にいこう:2006/12/03(日) 11:46:57
>>416
>>415は参照設定の意味を勘違いしているんじゃまいか。

>>415
テーブルのリンクでなくて、VBAの参照設定のことだよ。
そんなのわかってたらごめんして。
でも、俺も参照設定をチェックするべきだと思うよ。
418415:2006/12/03(日) 13:44:54

415です。

>>416
>>417

参照設定でチェックしているのは下記の順序で4モジュールのみ。
しかも、これは複数のPC全て同じ設定でした。

Visual Basic For Applications
場所: C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VB
言語: 英語/標準

Microsoft Access 9.0 Object Library
場所: C:\Program Files\Microsoft Office\Office\MSACC9.OLB
言語: 標準

OLE Automation
場所: C:\WINDOWS\system32\stdole2.tlb
言語: 標準

Microsoft ActiveX Data Objects 2.1 Library
場所: C:\Program Files\Common Files\System\ado\msado21.tlb
言語: 標準

再インストールはしてみたけれども同じだったので、
416さんの言うように、一旦削除してから
再インストールしてみようと思います。
419416:2006/12/03(日) 13:49:08
ん〜、あとは失礼な指摘になるかもだけど、ここに書き込む際に
大幅省略しちゃってて、実は省略した方に問題点が埋もれてると
か…今、わかる情報で第3者が考えられるのって、こんなもん。
見た限り、絶対有り得ない現象だし。
420415:2006/12/03(日) 15:14:12

>>419

そうですよね。。。もう少し考えてみます。

根本解決には至っていませんが、
とりあえず、上手く動く環境で使ってもらえることになりましたので、
仕事はまわるようになりました。

お付き合いいただきありがとうございました。
421名無しさん@そうだ選挙にいこう:2006/12/03(日) 16:04:55
>>420
上手く動く環境ってのは、つまりはエラーになるPCでは動かさな
いってことか?
そういえばさ、デバッグでステップ毎に実行してみたの?
これで「どこで・何で」エラーになるのかわかれば見当がつきそう
なもんだが。マシンが遠隔地で自分が出来ないなら、ファイルに
情報を書き込むようなデバッグ用の出力文を入れてユーザーに
動かしてもらうとか。
422名無しさん@そうだ選挙にいこう:2006/12/03(日) 16:27:55
ACCESS自体を知らない上司だと遊んでると思われて、
ACCESSは知っているが、使い方がわからない上司だと、放置される。

もうすぐ転職しますが、どうか理解してくれますよーに。。
423名無しさん@そうだ選挙にいこう:2006/12/03(日) 16:37:57
>415
その内容からすると、Vsiual Basic Editorのオプション設定の問題じゃないか?

オプションの全般の所で、「エラー処理対象外のエラーで中断」ではなく
「エラー発生時に中断」になっていないか?
普通はデバッグの時にしか使わない設定だが、エラートラップを無視した動作を
しているようだから、これが一番可能性が高い。
424名無しさん@そうだ選挙にいこう:2006/12/03(日) 18:12:12
>>423
なるほど。おまい良いこと言った。
425415:2006/12/03(日) 19:38:48

415です。

>>423

ありがとうございます!
おしゃるとおり、Visual Basic Editorのオプション設定でした。
こんな設定があるなんて知りませんでした。勉強になります。

これですっきり安心して運用できます。
ありがとうございました。
426名無しさん@そうだ選挙にいこう:2006/12/03(日) 21:12:39
>>423
参ったぁ。

つうか、415!!
再インストールまでしてキレイにAccessの環境を同じに
したんじゃねぇのかぁ。
427名無しさん@そうだ選挙にいこう:2006/12/03(日) 23:58:28
>>423
でかした!また来てね。
428名無しさん@そうだ選挙にいこう:2006/12/04(月) 00:08:19
自分の場合、客先に出すことを考えたら、動作に影響を与えるような
オプションはVBAで設定することにしてる。AutoExecマクロからプロ
シージャをコールです。
415のようなミスは絶対に有り得ません。
429名無しさん@そうだ選挙にいこう:2006/12/04(月) 00:15:21
>>428
できれば閉じるときに元に戻してほしいです。
430名無しさん@そうだ選挙にいこう:2006/12/04(月) 01:13:56
いや久々にいいネタ来たコレ。

>>426
再インスコだと一部レジストリ設定が残るってのは聞いたことがあるけど、
これがその一部ってことなんだろうね。

>>429
これよく考えると難しいよ。
元々の環境がオプションXだったとするじゃない。
それをA.mdb開いたときにオプションYに変えられたとするわな。
さらにB.mdbを開いたときにそのオプションを元設定として退避すると、
本来は元設定はXなんだけど、Yの方を元設定だと思って退避しちまう
可能性がないか。
A.mdbを閉じる時に元のオプションXに戻しても、その後B.mdbを
閉じる時にオプションYにひっくり返されてアボーン、みたいな。

SetOptionが実行時だけ有効だったら問題ないけど、永続的変更だった
ような気がするしなー。この辺ちょっと記憶だけで書いてるんで、
杞憂だったらスマン。
431428:2006/12/04(月) 09:31:13
え〜とですね、自然とこのオプションで使うだろうってところを変更します。
矢印キーで次のコントロールではなく次の文字とか、もちろん話題になった
エラー発生のやつとか。
複数起動はないので430がいう状況はないですが、まずユーザーがこっち
が作ったシステムと関係なくAccessを使うことがないので、元に戻す必要
性が見つかりません。
もしあるなら、元設定を共通にReadするファイルに保存するようにし、430が
指摘する状況に陥らないよう対処するつもりですが、限りなく0%に近い確率
でやらないと思う。
432415:2006/12/04(月) 10:02:04
415です。

>>426
>>430

コンパネ>プログラムの追加と削除>MS-Office 変更>Officeの修復>Officeを再インストールします
での再インストールは実施しました。
一旦削除してからの再インストールは実施していません。
この状態では設定が残っていたということでしょうか。


>>428

VBAでオプションの設定もできるんですね。
またまた勉強になりました。

教えてもらってばかりでは申し訳ないので、
SetOptionの有効範囲が実行時のみか否か、
テストしてみようと思います。
(まずはSetOptionの使い方から勉強しなくては。)
433415:2006/12/04(月) 10:39:06
415です。

>>430

テストしてみました。

オプションの全般の所で、「エラー処理対象外のエラーで中断」から、
「エラー発生時に中断」に変更したあと、

Application.SetOption "Error Trapping", 2

を組み込んだモジュールを実行します。
実行後、再度オプションの全般の所で確認すると、
「エラー処理対象外のエラーで中断」に変わったままでした。
実行時のみの影響ではなく、実行後にも影響を与えていると思われます。

元の設定を保持していて最後に元に戻すように仕組んだとしても、
途中でコケて元に戻すステップが実行されなければ、
変更されたままなんですよね?

結構、根が深い問題だと思います。
434名無しさん@そうだ選挙にいこう:2006/12/04(月) 11:09:42
AccessのVistaへの対応についての情報ってもう出てますかね?
探したけど見つからなかった。
Access2000についてはとりあえず動いてる感じだけど・・・。
435名無しさん@そうだ選挙にいこう:2006/12/04(月) 12:44:50
http://アドレス/定数.html

と続くアドレスがあるのですが、テキストボックスからの値を取得して
定数にブラウザのURLを自動的に記入させ
起動する記述が上手くいきません。
過去ログではローカルにあるファイル名を指定する方法はあったのですが・・
ご教授お願いします。

  Dim stAppName As String
Dim id As String
Dim hp As String
id = idtxt'入力テキストボックス名
stAppName = "C:\Program Files\Internet Explorer\iexplore.exe"
hp = "http://www.アドレス/" & id & ".html"
stAppName = stAppName & hp
Call Shell(stAppName, 1)

こんな感じでテキストボックス1個とボタン1個のフォームなのですが・・。
436名無しさん@そうだ選挙にいこう:2006/12/04(月) 14:06:48
>>435
上手くいかないじゃなくて、現象やエラーメッセージを書こうよ。
とりあえず、VBAを見た限りでは、exeと引数(アドレスね)の間に
空白がない。
437名無しさん@そうだ選挙にいこう:2006/12/04(月) 16:17:06
>>436
申し訳在りません。
スペースを入れてみましたが
「ファイルがありません」と言われ上手く挙動しません。

hp = "http://www.アドレス/" & id & ".html"
stAppName = stAppName & hp

を削除すればIEは起動するのですが。。

最終的に
http://アドレス/id(テキストボックスに入力した数値).html
例:http://docomo.co.jp/2000.html
みたいになれば良いのですが。。
重ね重ね申し訳在りません。
438名無しさん@そうだ選挙にいこう:2006/12/04(月) 16:32:52
exeのパスに空白があるから、そこでわかれてしまう。Programが
実行ファイルと解釈されてる。「"」でかこむのだ。ってことで、
"\"C:\Program Files〜\iexplore.exe\""
で、もちろん次に指定するURLとの間には、先ほどの空白を忘れずに。
439名無しさん@そうだ選挙にいこう:2006/12/04(月) 18:32:06
Access2007でフォームを作成すると
タブに組み込まれた形でしか表示できません。

2003までのように表示するにはどうすればいいのでしょうか。
440名無しさん@そうだ選挙にいこう:2006/12/04(月) 18:51:26
to オプション→カレントデータベース
441名無しさん@そうだ選挙にいこう:2006/12/04(月) 19:30:04
2003のフォームで
DateAddを使って求めた日付をデータベースに保存したいのですが
方法はあるのでしょうか?
442名無しさん@そうだ選挙にいこう:2006/12/04(月) 19:55:51
>>438
おいおい、VBAだぞ。
443名無しさん@そうだ選挙にいこう:2006/12/04(月) 21:16:23
>>441
あるよ
でも普通は計算値はテーブルに書き込まない
444438:2006/12/04(月) 21:30:23
>>442
あっ、指摘ありがとう。

>>437
ごめんなさい。今、自分がやってる仕事とゴッチャになってしまい
ました。\"の部分は、""に置き換えてください。
ただ、君の説明からすると、これでもNGのような気がする。URL指
定なしだと、IEだけちゃんと起動するって本当?
445名無しさん@そうだ選挙にいこう:2006/12/04(月) 22:19:55
>>443
ありますか?
例えば「日付」と「更新周期」と「次回更新日付」があって
DateAdd("yyyy",[更新周期],[日付])
見たいな感じで「次回更新日」を求めてるんですけど
どういう方法で保存するんですか?
446名無しさん@そうだ選挙にいこう:2006/12/04(月) 22:28:55
[次回更新日]のフィールドを作る
計算結果を手入力かマクロかVBかで入力する
イベントで自動入力にしたら?

つーか、計算値をテーブルに持つのは無意味だぞ
桐では普通に行うけど
447名無しさん@そうだ選挙にいこう:2006/12/05(火) 01:25:20
おまいのレスのそもそもの目的は桐をバカにすることなのかと

つーか桐使ったことないからよくわからんけど
448名無しさん@そうだ選挙にいこう:2006/12/05(火) 08:24:13
桐だと簡単にできるよ
開発期間は Access の1/5
データ入力もバコバコ・ビュンビュンできる
449名無しさん@そうだ選挙にいこう:2006/12/05(火) 08:57:31
2007のメモ型フィールドの履歴管理って SharePoint 併用しないと機能しないの?
450名無しさん@そうだ選挙にいこう:2006/12/05(火) 09:00:22
>>444
重ね重ねレスを頂き有難う御座います。
IE起動は出来るのです。

stAppName = "C:\program Files\Internet Explorer\iexplore.exe"
Call Shell(stAppName, 1)

この2行で起動できました。
ただこの後URLを指定する事が出来ないかなと思いまして。。
更にURLが指定出来るなら、
http://abc.com/(ここがテキストボックスの値).html
に出来ないかなと思いまして。。
451名無しさん@そうだ選挙にいこう:2006/12/05(火) 09:45:29
>>450

Dim stAppName As String
Dim hp As String

stAppName = "C:\program Files\Internet Explorer\iexplore.exe"
hp = " http://www.google.com"
Call Shell(stAppName & hp, 1)

俺はこれでgoogleが開いたぞ?
本当にスペース入れたか?
452451:2006/12/05(火) 09:48:28
なんかgoogleのURLの末尾が変になったがダブルクォーテーションな

hp = " http://www.google.com "

最初のダブルクォーテーションと「http」の間に半角スペースね。
453名無しさん@そうだ選挙にいこう:2006/12/05(火) 09:52:54
436を見逃してるな。変数がらみでうまくいかない時は、まずdebug.printを使え。
454450:2006/12/05(火) 13:24:26
皆様有難う御座いました。
お陰で出来ました。

"の後にスペースを入れたり入れなかったりのミスでした。

stAppName = "C:\program Files\Internet Explorer\iexplore.exe"
hp = " http://アドレス/" & Me.テキストボックス名 & ".html"


Call Shell(stAppName & hp, 1)

で動きました。
455439:2006/12/05(火) 16:24:22
440さん ありがとうございました。
456名無しさん@そうだ選挙にいこう:2006/12/05(火) 18:54:27
>>454
C:\program.exe という名の悪意のあるプログラムもあるから注意すべし。
457名無しさん@そうだ選挙にいこう:2006/12/05(火) 19:40:07
2007で右クリックショートカットメニューはどうやって編集するの?
458436:2006/12/05(火) 20:25:01
>>454
入れたり入れなかったりって何だよぉ〜。オレが最初にコメントしてて
それで解決だったのに、ダメだったいったじゃん。アホ!!!!

>>453
ありがとう。ちょっとは救われたよ。

・・・c:\〜を「"」で囲めよな。Winのお作法だぞ。
459名無しさん@そうだ選挙にいこう:2006/12/05(火) 21:04:33
テーブルA(Table.csv)のなかに部品Bが使われている製品を全て抽出し、
さらにそこからその製品が使われている部品を全て抽出したいのですが構文が思いつきません・・・

SELECT 部品,製品 from Table.csv where 製品 = (SELECT 製品 FROM table.csv Where 部品 = '部品B')

結果:
製品 |部品
製品A | 部品B

こんな感じでやってみたのですが、部品番号が使われている製品しかリストに出無いらしく、
エラーが返ってきて1レコードしか抽出できないと言われました。
実際には以下のような感じになって欲しいのですがなかなかうまく行きません。

製品 |部品
製品A | 部品A
製品A | 部品B
製品A | 部品D
製品C | 部品B

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

どなたかよろしくお願いします。
460名無しさん@そうだ選挙にいこう:2006/12/05(火) 23:15:52
>>459
どんなテーブル(フィールド構成とか文字型なのかとか)かも含め、情報が
少ない。
「こんな感じでやってみたのですが、部品番号が使われている製品しかリ
ストに出無いらしく、 エラーが返ってきて1レコードしか抽出できないと言わ
れました。 」
この日本語の意味がわからない。
部品"番号"なんて、今までの文章にもSQLにもない。

461名無しさん@そうだ選挙にいこう:2006/12/06(水) 00:00:31
ここはエスパーのオレ様の出番だな。素人は怪我しないように下がってな。

オプションの全般の所で、「エラー処理対象外のエラーで中断」ではなく
「エラー発生時に中断」になっていないか?




という冗談はさておき、

SELECT T1.*
FROM T部品 AS T1
INNER JOIN
[SELECT DISTINCT 製品 FROM T部品 WHERE 部品="部品B"]. AS T2
ON T1.製品 = T2.製品;

462名無しさん@そうだ選挙にいこう:2006/12/06(水) 02:38:49
>>452
JaneStyle or JnaeLovely のバグだよ
他の専ブラや普通のブラウザで見れば >>451 の " は、化けないよ
463名無しさん@そうだ選挙にいこう:2006/12/06(水) 09:52:49
2007はナビゲーションウインドウ出なくしても、右クリックでテーブルやクエルやフォーム構造改編出来ちゃうんだけど、
xmlで記述して右クリックメニュー作らないと、他人に入力させるアプリ組めないのか?
464名無しさん@そうだ選挙にいこう:2006/12/06(水) 10:48:18
超初心者的質問ですがフォーム表示の際
右と下の余白を消せないのでしょうか?
何か特別なオブジェクトやらは無いのに
フォームビューではやたら大きい画面で鬱です。
デザインビューではちゃんと小さく纏まってるのですが・・・。
465名無しさん@そうだ選挙にいこう:2006/12/06(水) 12:45:53
>>464
フォーム?レポートじゃなくて?

フォームヘッダー、フッターが表示されてるのかな。
メニューの表示のヘッダーとフッターのチェックをはずしてみれ
466名無しさん@そうだ選挙にいこう:2006/12/06(水) 13:41:33
>>459
複数レコードが返されるselectなのに、単なる=の比較になってるから
だよ。In((select〜))で動くと思う。

461のやり方もええなぁ。クエリにクエリを使うやり方でもいいなら、
副selectの方だけでクエリにして、製品、部品を出すクエリで使って
もいいんでないか。クエリ使わずに、sqlって話なら余計なことだな。
467名無しさん@そうだ選挙にいこう:2006/12/06(水) 16:45:34
テキストボックス1に001を入力すると
テキストボックス2に別テーブルのテキストボックス1(001)と一致する
レコードの別フィールドが表示されるようにしたいのです。


テーブル1
001 りんご

テーブル2
001 500円

表示

[001]テキストボックス1(手動で入力)

[りんご]テキストボックス2(ここが自動表示出来ない)

[500円]テキストボックス3

ご教授お願いします。
468名無しさん@そうだ選挙にいこう:2006/12/06(水) 16:52:11
>>467
テーブル1とテーブル2の「001」のフィールドを連結しておけばよい。

VBAを使うなら、テキストボックス1の更新後処理のところに、
Me.テキストボックス2 = DLookup("りんごのフィールド名","テーブル1","001のフィールド名 = '" & Me.テキストボックス1 & "'")
469名無しさん@そうだ選挙にいこう:2006/12/06(水) 22:07:14
2007になっても痒い所に手が届かない感じ
やっぱ桐だなぁ
470名無しさん@そうだ選挙にいこう:2006/12/06(水) 23:53:53
仕事で使ってるmdbファルを開けようとするとオブジェクト'C\Documents and Settings\・・・・'が見つかりませんでした。オブジェクトが存在していること、名前やパス名が正しいことを確認してください。

と出て開けません。データ吸い出し用のファイルを使用しても、問題のファイルを指定すると同じダイアログが出て吸い出せません。
この場合の解決策てあるのでしょうか?方法も含めて御教授いただけましたら幸いです。
471名無しさん@そうだ選挙にいこう:2006/12/07(木) 00:46:57
>>470
データ吸い出し用が何を言ってるのかさっぱりわからん。
とにかく開きたいなら、データベースWindowが表示されるまでShiftキー
を押しながら開く。その先は、勝手にどうぞ。
472初心者たな:2006/12/07(木) 01:19:46
>>470
ちゃんとテンプレに沿って質問しろよ。

オブジェクト'C\Documents and Settings\・・・・
ここの・・・部分は?

吸い出しってなんのことだよ。

なんかよくわからんけど、テーブルのリンク先が違うんじゃないの?
473名無しさん@そうだ選挙にいこう:2006/12/07(木) 14:40:59
AccessでMicrosoft Date Time Picker Controlを使いたいのですが、
何が必要なのか解りません。
どなたか使えた方教えて頂けないでしょうか?
474名無しさん@そうだ選挙にいこう:2006/12/07(木) 19:53:39
475:2006/12/09(土) 09:36:03
OS WinXP PRO
ACCESS Ver.2003
VB等 研修で習った程度
質問
はじめまして。
私は、今までメーカーに外注して
大型汎用機の開発をしていたのですが、
今回中小企業でACCESSで開発することになりました。
分からないことがたくさんなのですが、
一番分からないのは、
バッチ処理のような作業(月次処理)などをする場合
何で処理を作成するのが一番ベストかということです。
例えば、
営業所別 担当者別 売上げ推移を
指定された期間で求めることができるようにする場合です。
あとは、データ登録の担当者情報を各データに持たせて
入力日付も持たせ、更新者の担当者情報も各データに持たせて
更新日付も持たせる場合の、テーブルへの日付の編集方法も
いまひとつ分かりません。。。
どなたかご教授いただける方いらっしゃいませんでしょうか
476名無しさん@そうだ選挙にいこう:2006/12/09(土) 22:30:50
477:2006/12/09(土) 23:39:37
設計的な見地から書いたのでだめなのでしょうか。。。
今までの通常の開発では、DBに付属する機能がほとんどないため
全てプログラミングしましたが、
ACCESSでは、付属する機能が多岐にわたると認識しています。
どこからプログラミングするかという切りわけで
一番良いと思われる部分を開発経験者の方々に教えていただきたいと
思っております。
例えば、
ここまでの機能は、マクロで十分
ここまでの機能は、クエリで十分
めんどうなら全部プログラミングで統一すべき
などです。
開発工数の見地からや、
処理効率の見地からなど、見地を変えてのご意見も聞けたら助かります。
478名無しさん@そうだ選挙にいこう:2006/12/10(日) 02:26:31
>>477
VBAで習った程度で、すべてVBAでできるの?
なんかさ、書き込み見る限り、『どれがベストか』って書いてあるけど、
『ベストな方法を一から教えてくれ』って感じをうけるよ。
全く自分で調べない初心者の感じをうける。
少しでもAccess知ってるなら

>>例えば、
ここまでの機能は、マクロで十分
ここまでの機能は、クエリで十分
めんどうなら全部プログラミングで統一すべき

なんて例え使わんよ。
面倒だから、マクロとかクエリを使ってるんだから。
VBAですべて書けるなら、それに越したことないんじゃない?

>>475を見る限りじゃ、なにを聞きたいのかわからん。

漏れも初心者だけど、
基礎情報を持つテーブルをその項目ごとに作って、
売り上げテーブルに入力日付、更新日付、その担当者、金額とか持たせればいいんじゃないか。
テーブルへの日付の編集方法がわからないって意味わからんよ。
なにがわからんのか。。。

あぁ、漏れも酒呑みながらだから意味わからなくなってきたw
479名無しさん@そうだ選挙にいこう:2006/12/10(日) 10:19:01
>>477
>>478 と同意見ですが、まぁいくつか答えてみましょうか。
前提として、マクロはダメ。実行時エラーが発生した場合の処理が出来ないから。
習った程度のVBAってのも怖いけど、VBAを使うべし。

>付属する機能が多岐にわたると認識しています。
ではなくて、どういう機能があるかを最低でも勉強してから質問するもんじゃないか。

日時指定の自動バッチ処理の考えは、Accessにはほぼありません。Winのタスク
スケジューラを絡めれば、できなくはないけど。
月次処理なんて、締めや月末にメニューから月次処理ボタンを選んで処理してく
ださいね、で終わりじゃん。月次処理が締め処理だとするならね。

>営業所別 担当者別 売上げ推移を指定された期間で求めることができるように
>する場合です。
そういう指定が出来るフォームを用意。実行ボタンなんか付けて、同フォーム・別
フォーム、もしくはレポートで結果をみせてあげればよい。

登録日付は、テーブルの登録日フィールドの既定値に=Date()とすればいい。時間
まで入れるなら、=Now()だね。これは最初のキー入力時の日時になるので、厳密
に登録時の日時なら、フォームの更新前処理でMe![登録日] = Now() (or Date())
です。更新日付も同じでしょ。

と、回答書いてて思ったけどさ、全くと言っていいぐらいAccessの勉強してないん
じゃねぇの。

480名無しさん@そうだ選挙にいこう:2006/12/10(日) 13:20:30
>>471
あ、おいら>>470の言ってることがわかる。

ついこないだ、LAN組んでる仕事場で、
自分のPCで単独のAccessファイル作成して仕事してたら、
前の席のおねーちゃんが電気ストーブのスイッチ入れて、ブレーカーが落ちた。

で、再起動してファイルを開けようと思ったら、同じダイアローグでだめ。
ldpファイルがそばに転がってない?
ファイルが壊れちまったのよ。

Microsoftのサポートセンターで技術情報漁ってみ?
壊れAccessからデータインポートしようとする時に、フォルダを変えるってのも、肝の一つみたいだお。
Excel使ってやってみろっつーのもあったな。
まあ、やってみても、だめなケースがほとんどだけどな。

おいらはむかついたけど、またいちからやり直したよ。
1日前くらいから始めた仕事だったから、あきらめた。
仕事が忙しいのに、丸1日損したわ。

で、他の何ヶ月も使ってるAccessファイルには、開けた時点でとりあえずバックアップをとる
モジュールを組み込みますた。もうこれからは全てそうする。


481名無しさん@そうだ選挙にいこう:2006/12/10(日) 14:50:51
>>480
そこまで壊れるのって、よほど運が悪かったんだね。
Accessは結構壊れるけど、割と修復で直ることが多い壊れ方が
ほとんどだから。
482480:2006/12/10(日) 15:30:55
>>481
ん、だな。
いままではなんとかテーブルデータは救えたり、
フォームを作り直すくらいで済んでたんだけど、
今回はまるでパー。
そのねーちゃん悪気はないけどデストロイヤー体質。

継続的に使うファイルはなにげにコピーしてバックアップしてあったけど、
それは一時的にデータを修正したりする作業に作ったヤツだったから、
その日の午前には終わる予定の仕事が、
翌日一杯かかって、スケジュールが押せ押せですよ。泣けてくるよ。

バックアップモジュール作って貼り付けとくべし、ですな。


483名無しさん@そうだ選挙にいこう:2006/12/10(日) 19:23:13
データシートでの各項目の表示列幅の規定値を設定・保存・再設定する方法はありますか?
他人に操作させているのですが、触って表示列幅が変わってしまうのを当初通りに戻したい。
484483:2006/12/10(日) 19:27:46
× データシートでの各項目の表示列幅の規定値を設定・保存・再設定する方法はありますか?

○ データシートでの各項目それぞれの表示列幅の既定値を設定・保存・再設定する方法はありますか?
485名無しさん@そうだ選挙にいこう:2006/12/10(日) 22:40:14
それはColumnWidthプロパティをヘルプで調べた上での狼藉か?
486名無しさん@そうだ選挙にいこう:2006/12/11(月) 08:50:03
ColumnWidth
2003では確かそんなのがヘルプにあったな
2007では出てこない orz
487:2006/12/11(月) 13:40:25
失礼しました。
私は、プログラマではないので、ソフト・言語問わず開発は行います。
ざくっとした開発方針は、決める必要があるので、質問してみました。
あとは、独学の中でいまひとつ分からなかった事も追加してあります。
事実上、開発効率、処理効率の見地から検証してみた方はいらっしゃらないのかな?
検証された経験のある方がいらっしゃり、その他の意見がありましたら、
また教えていただけると助かります。
とりあえずは、下手なオブジェクトはあまり利用しないで、
プログラミングしていく方針で行こうかと思います。
488名無しさん@そうだ選挙にいこう:2006/12/11(月) 13:42:29
じゃあ、桐で開発すると良いよ。
困難の殆どが容易に解決するから。
でも、高いよ。
489:2006/12/11(月) 13:51:43
何か論点が違う気がします。
プログラマは優秀ですから、安心してください。
490名無しさん@そうだ選挙にいこう:2006/12/11(月) 14:21:29
こいつバカ過ぎるな
491名無しさん@そうだ選挙にいこう:2006/12/11(月) 17:47:29
要するに、
「マクロやクエリはバグが多すぎて使い物にならないから
VBAでこつこつと書いた方がいいよ」
みたいに誰かが言ってくれたら迷わずに「VBAだけでやれ」と
指示出来て楽だなぁってことでしょ?

っていうか、>>479がとりあえず答えてくれてるんだから
それに対する返答くらいしろよ。
492名無しさん@そうだ選挙にいこう:2006/12/11(月) 18:19:33
南ちゃ〜ん、ざくっとした開発方針を考えるにあたり、自分で調査はしないの?
安心できるほど優秀なPGなら、調査もさせて一緒に考えればぁ。設計の見地
じゃなく、Accessを使う際のオタクの社内規則だと思うが。マクロは極力
使うな、ビジュアルツールなんだからクエリ中心にしろとか、その程度でしょ。
あとは、仕様書があれば優秀なPGなら適切な選択で使い分けるだろうし、
Accessで無理な仕様、難しい処理は相談にくるんじゃないのかな。
493名無しさん@そうだ選挙にいこう:2006/12/11(月) 19:06:11
スタートアップフォームを表示するようにしたんですが、Accessの画面は出さないようにすることが出来るんでしょうか?
それともお客さんのところにAccessがあるときは必ず開いてしまうものなのでしょうか?
494名無しさん@そうだ選挙にいこう:2006/12/11(月) 19:33:20
>>493
メニューやツールバーやデータベースウィンドウを隠すことはできる。

で、お客さんのところにAccessがないときはどーやっても開かないんじゃね?
495:2006/12/11(月) 21:07:56
ここでの意見調査も調査のうちではないでしょうか?
ん〜SEレベルで答えてくれる人が少ないようですね・・・
設計は、開発工数から処理効率、保守に関することまで
考えながらするものだと思います。
とりあえず、動けばいいものを作るのは素人ですから・・・
ご意見を下さった方、ありがとうございました。
496名無しさん@そうだ選挙にいこう:2006/12/11(月) 21:15:28
『こっちから聞き直さなきゃ分からんような質問は馬鹿丸出しだからするな。』
497名無しさん@そうだ選挙にいこう:2006/12/11(月) 22:36:24
2007だとコマンドボタンにショートカットキー割り当てられないの?
498名無しさん@そうだ選挙にいこう:2006/12/11(月) 23:05:28
南ちゃん、
>>479 に対しては個別に答えてあげることはしないんですか?
ただ聞くだけに徹してるのは、調査とは言いません。アンケート
調査だっつうなら別だけど。
だいたいアホみたいな質問の仕方にSEレベルでタダで回答す
る程ヒマな人はいないと思うけど。

> 設計は、開発工数から処理効率、保守に関することまで
> 考えながらするものだと思います。
してるよ。アンタみたいに他人をアテにしないで。まぁ、メンバー
と協力体制はとるけどな(大きい仕事の場合)。
499478:2006/12/11(月) 23:59:20
南さんへ

つっこみどころ満載でなんていったらいいか。。。まず、
>>487
あなたは、プログラマでなく、開発方針を決定する必要があるみたいだが、
プログラマ以前にAccessを全くっていいほど理解していないのに、
開発に関わってるのか?
なんもわからない素人がデータベース設計に関わるって、どういう会社だよ。

システムを使う会社の、その業務に関わっている人が、どういう業務でどういう事をしたいのか、
そういうことで関わるならわかるけどさ。
開発する側でプログラムもデータベースもわからんのに、開発設計って。

>>事実上、開発効率、処理効率の見地から検証してみた方はいらっしゃらないのかな?
ずいぶん見下した書き方するな。
それにな、あんな漠然とした内容で、開発効率、処理効率って馬鹿にしてんのか?
そんなに、教えてほしけりゃもっとちゃんとした質問しろってことだよ。

>>495
>>ん〜SEレベルで答えてくれる人が少ないようですね・・・
はぁ?おれが>>478で酔っ払いながら最低限のことは教えてやっただろ。
その内容ですら理解できてないんじゃないの?
>>479の内容もわからないから、御礼も返事もないんだろ。

もっと仕様書並みに、詳しく書いてくれたら、俺が作ってやるよ。
どっかにうpしてやる。

それにしても南さんって、なんか釣りっぽいですねw
500名無しさん@そうだ選挙にいこう:2006/12/12(火) 03:45:39
南ちゃんは色白で小柄でちょっと胸が大きめな自称SEのメガネっ娘

今度たたかれたら僕が味方になってあげりゅ ( ゚∀゚;)ハァハァ
501名無しさん@そうだ選挙にいこう:2006/12/12(火) 08:49:40
桐V9-2007発売 age
502名無しさん@そうだ選挙にいこう:2006/12/12(火) 16:21:00
Access2007でRTFワープロ作ったお!
智子の情報RTF版だお!
もうMSwordいらないお!
ワープロファイルも1つに集約だお!
503493:2006/12/12(火) 17:32:11
>>494
んー開かない分にはいいんですが、次のがどうなるか疑問です。
・お客の環境にACCESSが入っているときにスタートアップフォームだけ表示する方法があるのか。
・その設定をした場合に元に戻すことは出来るのか?またどうやってやるのか?

起動時の設定のあたりが絡みそうなんですが、いじったあとでそこをどうやっていじりなおすんでせう・・・(´・ω・`)
504名無しさん@そうだ選挙にいこう:2006/12/12(火) 18:42:01
Access2002を使用しています。
初歩的な事なのですが、フォームにおいて
複数(テーブルとかクエリ等)のフィールドの選択方法が分かりません
ウィザードで最初に出て来る、フォームに含めるフィールドの部分です

現在テキストボックスの非連結の部分を連結させていて
テーブルAの項目とクエリAの項目を一つのフォームで使いたいのですが
プロパティのレコードソースで選択しても
複数のテーブルorクエリが選択出来ません
どのようにフィールドリストに追加させていくのでしょうか
505名無しさん@そうだ選挙にいこう:2006/12/12(火) 18:48:19
>>503
> ・お客の環境にACCESSが入っているときにスタートアップフォームだけ表示する方法があるのか。
to ポップアップフォーム
> ・その設定をした場合に元に戻すことは出来るのか?またどうやってやるのか?
to AllowBypassKeyプロパティ
506名無しさん@そうだ選挙にいこう:2006/12/12(火) 21:26:49
>>503
Accessのガワも表示したくないのか?
メニューバー・ツールバーなりをカスタマイズしてユーザーに提供できる
んだから、あまり面倒な設定にしなくてもいいんでないか???
これなら、起動時の設定でデータベースWindowを非表示にすればいい
だけだし。で、shift押しながら開けば↑これ表示されるし。
507名無しさん@そうだ選挙にいこう:2006/12/12(火) 21:37:18
>>504
ソースに設定できるオブジェクトは1つだけです。テーブルなりクエリなり、
関連性がある複数のものを指定したいなら、それで更に直接SQLかクエリ(こっち
がお勧め)にして指定します。
select 社員ID, Max([残業時間]) As 最大残業時間 from 残業テーブル group by 社員ID
なんてクエリがあったとしてます。それと、基本的な社員テーブルとを繋げてクエリAを
作ります。↓簡単だけど、こんなの。

社員ID----社員ID
社員名 最大残業時間

このクエリAをフォームのソースに指定すれば、社員テーブルから社員IDと社員名、クエ
リAから最大残業時間を連結でコントロールを作成できます。
508504:2006/12/13(水) 01:02:45
>>507
解り易く教えて下さり有難う御座います。おかげで納得出来ました。
テーブル、クエリ、フォームと仕組みを多少理解出来たと思います
始めはテーブルとフォームで何とかなると思ってましたが
勉強するほどクエリの重要さが分かって来ますね
もう少しデータベースの基礎から覚えて行きたいと思います。
509503:2006/12/13(水) 10:13:42
>>505,506 レス(TдT)アリガトウございます。
参考にしてどうするか考えたいと思います。たぶんデータベースウィンドウだけ表示しない方向で行くと思います。
510名無しさん@そうだ選挙にいこう:2006/12/14(木) 14:56:56
Access2007ほかOffice2007試用版ダウンロード出来るようになってる
http://japan.trymicrosoftoffice.com/product.aspx?sku=3121432&culture=ja-JP
511名無しさん@そうだ選挙にいこう:2006/12/14(木) 19:25:33
【 システム環境  . 】 Windows2000, Access2003
【 VBAが使えるか .】 Accessははじめたばかり
【 VBAでの回答  】 可
【 検索キーワード 】 テーブル

出来合いのdbを改造しようとしているんだが、あるテーブルの構成を
変えたら動きが変になった。(まあ当然か)
そこでそのテーブルを参照したり利用している部分を探そうと思ったんだが、
VBAならエディタの検索で簡単に探せるが、クエリやコントロールのプロパティで
参照しているとなるとそうもいかない。ひとつひとつ探すとなると膨大な手間が
かかる。
こういう場合、何かうまい手があるんでしょうか?
512Access初心者気味 ◆3WmQZKDzxM :2006/12/14(木) 22:26:00
>>511
素人のオレから見て、
正直言って無理だと思う。
オレも知りたい。
513名無しさん@そうだ選挙にいこう:2006/12/14(木) 22:31:26
>>511
2007だと以下のオプションがあるが、確か2003でもあったぞ
機能しないのか?

名前の自動修正オプション
・名前の修正情報をトラックする(A)
・名前の自動修正を行う(A)
・名前の自動修正の変更を記録する(A)
514513:2006/12/14(木) 22:36:23
意味が違ったようだ、良く読まなかったスマン
515511:2006/12/14(木) 23:41:08
無理にゃのかー。
とりあえず全体の構成からどこにつながっているか勘を働かせて、
時間をかけてトライしてみるよ。
レスどうもありがとう。
516Access初心者気味 ◆3WmQZKDzxM :2006/12/15(金) 00:06:54
>>511
神の降臨をマテ
517名無しさん@そうだ選挙にいこう:2006/12/15(金) 00:28:45
>>511
「ツール」にある「リレーションシップ」ではないのか
518名無しさん@そうだ選挙にいこう:2006/12/15(金) 00:29:00
VBAが出来ない初心者なら諦めること。
簡単な例として、クエリならQuerydefでSQL文字列を参照・設定できるから
InStr(SQL文字列, テーブル名)などでいける。全クエリに対してループ処理
すりゃいいわけでしょ。
フォームも似たようなもの。ただし、Formsオブジェクトは開いてるオブジェ
クトだから間違わないように。
コンテナやドキュメントでも出来た気がするけど、今調べる余裕がないので。
519名無しさん@そうだ選挙にいこう:2006/12/15(金) 00:57:05
だいぶ前このスレで誰かに教えてもらった


「Access Analyzer」
ttp://www.geocities.co.jp/Playtown-Dice/9019
520名無しさん@そうだ選挙にいこう:2006/12/15(金) 03:19:15
【 システム環境  . 】 Windows2000, Access2003
【 VBAが使えるか .】 Accessははじめたばかり
【 VBAでの回答  】 可
【 検索キーワード 】 テーブル

VBAでSQLを発行してテーブルを作成し、CSVデータを抽出するようにプログラムを組みました。
その処理を行った後にフォームのコンボボックスからテーブルの内容を参照させたいのですが、
コンボボックスをクリックすると、
「このフォームまたはレポートで指定されているレコードソース'"sq_cフォーム名,"sq_cコンボボックス'」は存在していません
と出てしまいます。
データーベースウィンドのオブジェクトにあるテーブルを見るとテーブルが作成されておらず、
一度、別のオブジェクト(レポート、クエリ、マクロ等)に切り替え、再度テーブルを表示させるとテーブルが作成されています。
どうすれば、わざわざ、表示の切り替えを行わずにテーブルが作成できるのかわかりません。
どなたか教えていただけないでしょうか。よろしくお願いします。
521名無しさん@そうだ選挙にいこう:2006/12/15(金) 04:32:21
>>520

Requeryさせてみたら。
522名無しさん@そうだ選挙にいこう:2006/12/15(金) 09:45:11
Visual Studio 2005 Tools for the 2007 Office SystemにAccess 2007用ランタイム含まれてる?
523511:2006/12/15(金) 20:34:02
>>518
なるほど、クエリだろうがフォームだろうがVBAでいじれちゃうわけね。
クエリだとこんな感じでできたわ。

Public Sub ALL_SQL()
Dim i As Integer
For i = 0 To CurrentDb.QueryDefs.Count - 1
Debug.Print CurrentDb.QueryDefs(i).Name
Debug.Print CurrentDb.QueryDefs(i).SQL
Next
End Sub

おかげで大助かり。どうもありがとう。
フォームの方は少し難しそうだな。AllFormsで回してフォームを片っ端から
オープンし、かつ全コントロールをループしてControlSourceやRowSource
プロパティがあれば調べる、というゴリゴリきわまる方法しか思いつかんかった。
でもなんとかできた。2chさすがだね。
524名無しさん@そうだ選挙にいこう:2006/12/15(金) 20:55:42
>>511
Access 2003 から「オブジェクトの依存関係」というのがあるらしいが、これではダメなのか?
ttp://support.microsoft.com/kb/881397/ja
ttp://www.microsoft.com/japan/office/previous/2003/experience/workstyle/tips/access/tips2.mspx
525511:2006/12/15(金) 21:05:24
>>524
ああ、こんなのもあるのか。
来週になるが試してみるわ。ありがとうございます。

でもこれだとクエリやフォームをひとつひとつ調べていくのがめんどそう。
何十個とあるので。
526KK:2006/12/15(金) 22:10:59
フォームでフォームヘッダーが出てこないのですが、どうすれば
表示できるでしょうか?すみません。
527名無しさん@そうだ選挙にいこう:2006/12/15(金) 22:28:01
>>526

AccessのVer.ぐらいは書いてくれ。

「表示」の所にないか?
528名無しさん@そうだ選挙にいこう:2006/12/15(金) 23:01:44
うちのアクセスババアをなんとかしてくれ。
それしかできないからなんだろうが、
何でもかんでもアクセスでネット共有しちまうんだ。
バックアップも最適化も知らないからしてないんだが、
しろと言っても、安定稼動してるからとのたまう始末。
挙句の果てに、MySQLも同じでしょときた。
ババアにもアクセスにも怖くて誰も手を出さん状態だ。
何百人分もの社員マスタまであぼ〜んしてしまう訳なんだが・・・orz
529名無しさん@そうだ選挙にいこう:2006/12/16(土) 00:01:18
>>528
とりあえず定期バックアップ取ってればいいじゃん。
一度痛い目を見れば耳を貸すようになるだろう。
530名無しさん@そうだ選挙にいこう:2006/12/16(土) 02:31:39
すみませんがおしえてください。
ADOでFINDする場合インデックス番号では検索は出来ませんか?
531名無しさん@そうだ選挙にいこう:2006/12/16(土) 03:52:12
何だかわからんがこれではダメなんですかそうなんですか
rst.Open "---", --接続, adOpenKeyset, adLockOptimistic
rst.MoveFirst
rst.Find "[---]=" & ---
532518:2006/12/16(土) 11:22:14
>>523
おっ、できるじゃん。だったら、フォームももう少し調べよう。
開かなくても出来る方法がちゃんとある。
もちろん、使ってるコントロールをループしてというところは
ほぼ同じだが、開かないだけスマートかと。
533名無しさん@そうだ選挙にいこう:2006/12/21(木) 08:52:45
Accessで作ったアプリケーションはそのままWeb化できるものでしょうか?
今までmdbファイルはデータベースとしか使ったことがないのですが
Accessで作ったアプリケーション(フォームなど)をWebアプリケーション化
できるようなことを小耳にはさんだのですが。
私などはASP.Netなどを使わないとだめかと思っていたのですが・・・
534名無しさん@そうだ選挙にいこう:2006/12/21(木) 09:01:25
>>533
できなくはないが、本当にそのままWEB移行は厳しいだろう。
扱うデータ量(1画面の)やインターフェースを検討し直す必要
がある。
535名無しさん@そうだ選挙にいこう:2006/12/21(木) 09:14:19
>>534
ありがとうございます。

あるフォームだけをWeb化とかできるのでしょうか?

また、そのあたりのやり方が載っているようなサイトは
ないでしょうか?
ぐぐり方が悪いのかなかなかヒットしなくて困っております。
536名無しさん@そうだ選挙にいこう:2006/12/21(木) 12:34:32
F1
537名無しさん@そうだ選挙にいこう:2006/12/21(木) 12:39:27
>>533
つvb2005
538名無しさん@そうだ選挙にいこう:2006/12/21(木) 12:43:34
>>535
to Share Point Service
539名無しさん@そうだ選挙にいこう:2006/12/21(木) 12:51:59
>>536,537,538
ありがとうございます。

Access単体でできるわけではないのですね。
参考になります。ありがとうございます。
540名無しさん@そうだ選挙にいこう:2006/12/21(木) 21:36:46
2000で作ったデータを、他のバージョンで開いて、
続けてデータ作業をすることが出来ますか?

541名無しさん@そうだ選挙にいこう:2006/12/21(木) 21:42:08
開ければ作業できるよ
542名無しさん@そうだ選挙にいこう:2006/12/21(木) 21:47:58
>>541
ありがとうございます。
開くことが出来ない可能性も多くあるのでしょうか。
543名無しさん@そうだ選挙にいこう:2006/12/21(木) 21:50:43
あるよ
544名無しさん@そうだ選挙にいこう:2006/12/21(木) 21:53:13
>>543
ありがとうございます。
素直にオークションで2000を購入したいと思います。
545名無しさん@そうだ選挙にいこう:2006/12/21(木) 22:46:35
オークションで買うのが「素直」なのか?
546名無しさん@そうだ選挙にいこう:2006/12/21(木) 22:49:19
他のバージョンってのをハッキリしろと言いたい。
2000より後ならOKだし、前のバージョンならNGってすぐわかるさぁ。
547名無しさん@そうだ選挙にいこう:2006/12/21(木) 23:43:33
2007試したヒトいる?
548名無しさん@そうだ選挙にいこう:2006/12/22(金) 18:00:49
ふと思ったが、スレタイの 【桐にしとけ】は、いつからあったっけ?
消しても良いんじゃないかい?
549名無しさん@そうだ選挙にいこう:2006/12/23(土) 02:43:59
>>549

その13から。
このスレが埋まる頃には2007が確実に出ているだろうから、
【2007にしておけ】になるんじゃないか。
550名無しさん@そうだ選挙にいこう:2006/12/23(土) 08:52:07
ACCESS総合相談所 その17 【桐にしとけ】

ACCESSに関する質問はこちらへ!


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

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

前スレ
ACCESS総合相談所 その16 【桐にしとけ】
http://pc8.2ch.net/test/read.cgi/bsoft/1157195290/

過去スレッド/関連リンクは>>2以降
551名無しさん@そうだ選挙にいこう:2006/12/23(土) 11:22:38
ACCESSって2007単体で買ったらどのくらいするモノなの?
552名無しさん@そうだ選挙にいこう:2006/12/23(土) 11:48:37
>>551
まだ未定。
Microsoftに訊いて、ここで報告よろ。
553名無しさん@そうだ選挙にいこう:2006/12/24(日) 01:08:36
既出かも知れませんがサブフォームを含むフォームをデザインビューで開こうとすると50%位の確率でサブ部分が空白になってて、編集できないのですがこれはバグなのでしょうか?
554名無しさん@そうだ選挙にいこう:2006/12/24(日) 03:40:12
メモリ枯渇(うそかも)
555名無しさん@そうだ選挙にいこう:2006/12/24(日) 04:02:51
>>554
ちなみに会社(2003)、自宅(2000)を使用していますがどちらも同じくらいの確率で出ます。
何度か切り替えるとビューが表示されるのですが・・・
556名無しさん@そうだ選挙にいこう:2006/12/24(日) 04:05:15
557名無しさん@そうだ選挙にいこう:2006/12/24(日) 04:48:00
サブフォームに限らず、って感じかな
貼りつけたコントロールの表示がたまにおかしくなるなんてのは、
当たり前みたいにやりすごしてる
べつに壊れてるわけでもなさそうだし
558名無しさん@そうだ選挙にいこう:2006/12/26(火) 11:02:19
ご存知でしたらどなたか教えて下さい。

レポートのバーコードの印刷で
特定のマシンで不具合が発生しています。

Access2000にて、
「ABC」とい名前のレポートに
「Microsoft BarCode Control 9.0」
を貼り付け、データソースから得た英数字を
バーコードに変換して印刷します。
帳票のスタイルは、レコード1件に対しレポート1枚。
バーコードのスタイルは、「Code-128」を選択。

レポートを印刷プレビューすると問題無いのですが、
直接マクロにて、
アクション:レポートを開く
      レポート名:ABC
      ビュー:印刷
      フィルタ名:(なし)
      Where条件式:(なし)
と指定してマクロを実行して印刷させると、
全て1枚目以降のバーコードが印刷されてしまいます。

複数のPCである1台だけ発生します。
何か環境に問題があると思うのですが、
どこをチェックすればよろしいでしょうか?

尚、異常があるPCの環境は以下のとおり。
WindowsXP Pro
Microsoft Access2000 (Office SP3適用済み)
559558:2006/12/26(火) 11:06:07
>>558

×:全て1枚目以降のバーコードが
○:2枚目以降も含め、全て1枚目のバーコードが
560名無しさん@そうだ選挙にいこう:2006/12/26(火) 11:18:04
普通に抽出出来てないんじゃないの?
共有しえちる同じファイルをつついてる感じ?
561558:2006/12/26(火) 11:39:17
>>560

バーコード以外のデータは正しく出力されていますし、
レポートを印刷プレビューすると問題無いので
抽出に関しては問題ないと思います。
562名無しさん@そうだ選挙にいこう:2006/12/26(火) 11:45:10
>>558
・他の問題ないPCの環境
・出力するプリンタは同じか
・同じプリンタドライバを入れてみる
・問題ないPCから、ファイルごと渡してやってみる
・ダメなPCの、BarCode Controlを入れ直してみる
563名無しさん@そうだ選挙にいこう:2006/12/27(水) 00:32:44
似たような現象で、バーコードコントロールを新規で
付け替えて事なきを得たことがある。同じとは限らな
いが、やってみる価値はあるんじゃないかな。
564名無しさん@そうだ選挙にいこう:2006/12/27(水) 12:32:00
>>558
俺もあった。
コントロールソースにFunctionを呼ぶようなコードを書いてあるんだけど、
何かをすると時々それが初期化される。
どういうタイミングで起こるかまったくわからなかったので俺も知りたい
565名無しさん@そうだ選挙にいこう:2006/12/27(水) 22:34:57
>>558
>全て1枚目以降のバーコードが印刷されてしまいます。

回答じゃなくてすまんが、それはデータソースから得られるレコードセットが5件として
12345の順の印刷を期待してるのにマクロからは2345だけしか印刷されないってこと?
(でもそれだと2枚目以降ってことだよな・・・)
それとも22222と印刷されるとか、あるいは別のパターンなのか・・・
もうちょっと詳しく教えてくれ。
566名無しさん@そうだ選挙にいこう:2006/12/27(水) 22:40:16
(・∀・)ニヤニヤ
567名無しさん@そうだ選挙にいこう:2006/12/27(水) 22:53:22
ヒント:読解力
568565:2006/12/27(水) 23:30:32
すまん>>559読んでなかった
忘れてくれ・・・
569名無しさん@そうだ選挙にいこう:2006/12/29(金) 11:53:40
暇ができたんでAccess2007(Beta2)いじってみた。
とりあえずADPを新規作成してSQLServer2005 Expressに繋げた。
ところで先行していじってる人達は新機能とか何で調べてんだ?
Beta版のせいなのかヘルプがスカスカな気がするんだが。
570名無しさん@そうだ選挙にいこう:2006/12/31(日) 17:18:16
test
571名無しさん@そうだ選挙にいこう:2007/01/06(土) 23:15:38
【 システム環境  . 】 Windows2000, Access2002
【 VBAが使えるか .】 はい
【 VBAでの回答  】 可


フォーム内に複数のテキストボックスを配置しているのですが、フォーカスが次のテキストボックスに移るたびに
同じ定型処理(再計算)をするにはどうすればよりスマートな書き方が出来るでしょうか。


Private Sub テキストボックス名_Get Focus()

定型処理(再計算)

End Sub


をテキストボックスの数ぶんだけ書き連ねるのは力技っぽくてスマートじゃないですし、かと言ってワイルドカードを使って


Private Sub *_Get Focus()

定型処理(再計算)

End Sub


とやっても、もちろんエラーになりますよね。。何かスマートな書き方がありましたら御教授頂ければ幸いです。
572名無しさん@そうだ選挙にいこう:2007/01/06(土) 23:28:42
>>571

定型処理(再計算)を関数化すればいい。
アクセス(VB)に限らず、利用頻度の高いものは関数かするのが
プログラミングの基本だと思うよ。

callしてもいいと思うけど。
573名無しさん@そうだ選挙にいこう:2007/01/06(土) 23:34:35
あと、ActiveControl使うのもいいかも。
574名無しさん@そうだ選挙にいこう:2007/01/07(日) 00:11:03
>>572

素早い御回答ありがとうございます。
もちろん、定型処理部分は別モジュール化して、実際には


Private Sub テキストボックス名_Get Focus()

call 定型処理(再計算) 

End Sub

としているのですが、その方法でも Private Sub テキストボックス名_Get Focus() 〜 End Sub部分がテキストボックスの数ぶんだけ
必要になりますよね。

そういった書き方はスマートじゃないと思うんで、もっとスマートな書き方があるのではないかと思った次第なのです。

つまり、フォーカスがどのテキストボックスに移っても定型処理イベントを発生させるような(ワイルドカードを用いた時のような)
数行で収まる簡略な書き方が無いものかと思った次第です。



575名無しさん@そうだ選挙にいこう:2007/01/07(日) 01:32:57
>>としているのですが、その方法でも Private Sub テキストボックス名_Get Focus() 〜 End Sub部分がテキストボックスの数ぶんだけ
>>必要になりますよね。

>>そういった書き方はスマートじゃないと思うんで、もっとスマートな書き方があるのではないかと思った次第なのです。

スマートかどうかはともかく

subじゃなくfunctionにすれば、ちょっとは減る鴨

function hoge()
---
end function

にしとけば

=hoge() で済む
576名無しさん@そうだ選挙にいこう:2007/01/07(日) 01:46:35
クエリでフォームになにか入力されていたら、
その入力された値で抽出するけど、入力されていなかったら、
抽出をおこなわないですべてのレコードを表示する、
ってのをやりたんですけど、どうすればいいですかね?
iif関数でやってるんですけどできないんですよね。
577576:2007/01/07(日) 02:04:58
すいません、Like演算子でできました。
578名無しさん@そうだ選挙にいこう:2007/01/07(日) 03:30:49
>>571

アクセスってイベント駆動型だから、無理とは言わないが
余計手間がかかるんじゃないか。
実現できるかわからんが、

1. 表示しているフォーム(F1)を監視するフォーム(F2)を作る
2. ActiveControlでF1のコントロール名を取得
3. 2で取得したコントロールの定型処理(再計算)を実行

※2、3はF2の処理となる。

俺の頭ではこれぐらいしか考えられない。



579名無しさん@そうだ選挙にいこう:2007/01/08(月) 16:02:35
【 システム環境  . 】 Windowsxp, Access2000
【 VBAが使えるか .】 いいえ
【 VBAでの回答  】 否
【 検索キーワード 】

困っています。質問させて下さい。
パソコン画面を2画面使用してるのですが、
アクセス使用の際、左画面で編集しつつ、
右の画面にはスライドショー?(パワーポイントのF5画面のような)
を出す方法はありませんか? 編集結果がすぐに右画面に反映されると便利なのですが。
580名無しさん@そうだ選挙にいこう:2007/01/08(月) 17:52:29
>>573
>>578

レスありがとうございます。Active Controlを使うほど大げさな処理じゃないんで・・・数は多いんですが、
単純な足し算引き算の組み合わせ程度の再計算なんです。((汗、


>>575


>スマートかどうかはともかく

>subじゃなくfunctionにすれば、ちょっとは減る鴨

---
end function

にしとけば

=hoge() で済む


おつきあいありがとうございます。それでも結局キー操作のトリガーとしてのGotFocus()部分はテキストボックス分羅列させる必要がありますよね。
結局、テキストボックスが20個程度なんでテキストボックス分のLostFocus()を
(LostFocusにしたほうがタイミング的に都合がいいような気がしたのでLostFocusにしました。)羅列してコードを書きました。


望む結果は得られたんですが、そこはかとない敗北感が、、、、
おつきあい頂いた皆様ありがとうございました。

581名無しさん@そうだ選挙にいこう:2007/01/09(火) 12:59:34
↑何か違う気がするので、コメント。
共通の処理をsubじゃなくfunctionにすれば、というアドバイスは理解した?
イベントプロシージャ書き書きしてそれぞれコールではなく、コントロールの
プロパティのところに=function()ってできるんだが、それもNGだったんですか?
582名無し募集中。。。:2007/01/09(火) 13:44:01
【 システム環境  . 】 WindowsMe, Access97
【 検索キーワード 】 Access97 移行 2000

現在Access97をデータの読み書きのみで運用しておりますが(DBの作成は行いません)
その古いPCの更新を迫られています。ですが手元に97のディスクがないためにAccese2000しかインストール出来ません。

MSの公式によると、2000で97のファイルを読む場合は・データの読み書き可・2000形式への変換可
とありますが、これはどれほどの互換性があるのでしょうか?

・ほぼ問題なく動作する ・データベースによっては問題が発生する
この辺りではないかと思うのですが…
くだらない質問で大変恐縮です、よろしくお願い致します。
583名無しさん@そうだ選挙にいこう:2007/01/09(火) 14:06:32

MSの公式によると、2000で97のファイルを読む場合は・データの読み書き可・2000形式への変換可
584名無しさん@そうだ選挙にいこう:2007/01/09(火) 15:09:00
何か読み違えていますでしょうか…出典はここです
http://www.microsoft.com/japan/office/previous/2003/business/compatibility/default.mspx
585名無しさん@そうだ選挙にいこう:2007/01/09(火) 17:28:30
>>582
> とありますが、これはどれほどの互換性があるのでしょうか?

MSの公式によると、2000で97のファイルを読む場合は・データの読み書き可・2000形式への変換可
586582:2007/01/09(火) 19:42:00
大変失礼しました。
文面通りということでしょうか、読解力に乏しくお恥ずかしい限りです…

それではサブPCで動作確認してから移行を試みたいと思います。
くだらない質問でスレを汚してしまして申し訳ありません、ありがとうございました。
そしてとても助かりました!
587名無しさん@そうだ選挙にいこう:2007/01/09(火) 19:54:05
システム構築してるなら多少の手直しは、必要かもよ。
588名無しさん@そうだ選挙にいこう:2007/01/09(火) 20:13:30
すみませんが教えてください。
番号を入力したら氏名が表示されるクエリがあります。
番号入力テーブル優先で番号氏名のテーブルとの結合クエリです。
どちらも主キーは番号です。
クエリ上で入力したらすぐ氏名が反映されないものでしょうか。
閉じて開くことをすると反映します。
いままではすぐ反映した気がしたのですが、記憶違いでしょうか。
またフォームもこれで作成したのですが、反映しません。
再クエリとかさせないといけないのでしょうか。
よろしく願います
589名無しさん@そうだ選挙にいこう:2007/01/09(火) 22:40:16
>>581

説明不足で申し訳ありません。
要は共通の処理が問題な訳じゃなくて、”同一のイベントをドリブンさせるトリガーが多数有ること” が問題なのです。

解りやすく言うと、どのテキストボックスをクリックしても同じ処理をしたいので、イベントのトリガー部分を簡略に書きたいと言う事なのです。
SubプロシージャかFunctionプロシージャかといった問題ではありません。
590名無しさん@そうだ選挙にいこう:2007/01/10(水) 00:05:30
>>589=>>571?
判りづらいからレス番でいいんで名前入れてくれ。

共通処理を行いたいコントロールを全部選択してイベントプロパティのところに"=関数名(引数)"。
関数はFunctionプロシージャ。
591名無しさん@そうだ選挙にいこう:2007/01/10(水) 06:57:26
test
592581:2007/01/10(水) 07:01:15
>>589
VBAで書き連ねるのがイヤって言うので、アドバイスがあったんだよ。
それを後出しで・・・でもよ。コントロールが違うんだから同一のイベント
ではないだろうに。その感覚で開発したいなら、MSのVC++にすれば。

> イベントのトリガー部分を簡略に
>>590 が再度詳しく説明してくれてるけど、これって簡略だろ???
593名無しさん@そうだ選挙にいこう:2007/01/11(木) 00:07:11
function TOJIRU()
docmd.close
end function

でさ
コマンドボタン一個つくって、クリック時イベントに =TOJIRU() って書くの
VBEにコード書くんじゃないのよ、ただそこに関数名を書くの
たとえば既定値に=date() =now() とか書くのと一緒
このコマンドボタンは、10個コピペしても100個コピペしても全部おなじ働きをしてくれるの
コードとして書かれるのは上の3行だけよ

わかる?

call す る た め の コ ー ド な ん て の は 要 ら な い の
594名無しさん@そうだ選挙にいこう:2007/01/11(木) 00:37:35
【 システム環境  . 】 Windows2000, Access2000
【 VBAが使えるか .】 いいえ (素人です)
【 VBAでの回答  】 可?
【 検索キーワード 】 if else then

質問です。よろしくお願いします。
ボタン一つで、テーブルに連番を登録できるフォームがあり、今まで便利に使っておりました。
(テキストボックスに初期数字を入れ、ボタンを押すと自動的に連番が入力されるとい
うものです)

ところが、先日、連番の仕様が変更されてしまいました。今までは1ずつ加算されていく
単純な規則だったのですが、今後は一番後の桁を7までしか数えないとのことなのです。

具体的にはこうです。
1→2→3→4→5→6→7→10→11→12→13→14→15→16→17→20→21・・・・

そこで、if文を使用して、「もし下の桁が8になったら、2を足す」という処理を作ろうと思い
つきました。

ところが普段クエリしか使わないので(フォームの作成者は私とは別な人なのです)
いろいろ、検索したり、試してみたのですが、上の条件が作れません。

次のレスに、試した内容を書きます。(続きます)
595594:2007/01/11(木) 00:40:31
--------------------------------------------------------------------------------
Private Sub コマンド1_Click()
SQL = "SELECT テーブル.連番 FROM テーブル ORDER BY テーブル.連番"
Set Table01 = CurrentDb().OpenRecordset(SQL)
SValue = "****"
Do
If Table01.EOF = True Then Exit Do
If SValue = "*8" Then
RenBan = RenBan + 2
Else
RenBan = RenBan + 1
End If
Table01.Edit
Table01![連番] = RenBan + [テキスト10]
Table01.Update
Table01.MoveNext
Loop
Table01.Close: Set Table01 = Nothing

End Sub
-------------------------------------------------------------------------------
これでは普通に1ずつ加算されていく今までの形式と変わりません。エラーこそ出ないものの
最初の「if SKey〜」の文が機能していない模様なのです。

SQL文(?)というのか、Likeも使えないようで、どのようにしたら上の
「もし下の桁が8になったら、2を足す」のような処理が出来るでしょうか?
それともなんか、根本的に間違ったりしちゃってるでしょうか?
(なお、付け足したのは、6〜8行目と10行目の部分です)

どなたか、ご教示頂ければと思います。
596594:2007/01/11(木) 00:56:58
>>595に間違いが・・

×「if SKey〜」ではなく
○「If SValue〜」です。
597名無しさん@そうだ選挙にいこう:2007/01/11(木) 01:35:31
>>594

コードの書き漏れがないのであれば、SValueの値が常に同じでは?
それから、

Do Until Table01.EOF
. ・
.    ・
.    ・
Loop

の方が、見やすいのでは。
598名無しさん@そうだ選挙にいこう:2007/01/11(木) 01:51:08
どうして変数を二つ用意したのか、SValueとやらの役割はそもそも何なのか、謎だが
何にしても SValue = "****" として
そのあといかなる操作もくわえないこの値が"*8"になるなんてことはあり得ないと思う
おまけにこれをイコール(=)なんかで結んでたんじゃ、なんてことはまあ見なかったことにして

変数はいっこでいいんじゃないの
SValue だけで

Dim SValue As Long
SValue = 0

・・・・

If SValue Mod 10 = 7 Then
SValue = SValue + 3
Else
SValue = SValue + 1
End If

・・・・

Table01![連番] = SValue + [テキスト10]


これでダメならごめん
599名無しさん@そうだ選挙にいこう:2007/01/11(木) 01:52:41
かぶってるし (プ
寝よ
600594:2007/01/11(木) 02:29:28
>>597-598
ご回答ありがとうございます。
まったく他に手を入れることなく、見事にできました!

modを使うんですね。偶数奇数の判定に使っている
ほかのフォームがあったんですが、まったく思いつきませんでした。

あと、奇妙な変数でストレスを与えてしまったようで申し訳ないです。
こちらも見直してみます。おやすみなさいませ。

601名無しさん@そうだ選挙にいこう:2007/01/11(木) 13:40:09
【 システム環境  . 】 WindowsXP, Access2000
【 VBAが使えるか .】 いいえ
【 VBAでの回答  】 否
【 検索キーワード 】 プリンタない レポート ACCESS 設定 勉強

現在レポート機能の勉強中ですが、完了ボタンを押下すると、
「レポートを作成する前にプリンタをセットアップする必要があります」
と表示されます。自宅にプリンタがないので、プリンタを設定することが
できません。プリンタ不要でレポート画面を表示する方法はありませんか?



602名無しさん@そうだ選挙にいこう:2007/01/11(木) 13:57:10
>>601
てきとーにプリンタドライバぶちこんどけ
603名無しさん@そうだ選挙にいこう:2007/01/11(木) 17:09:14
仮想プリンタでも使ってみるとか…。
604名無しさん@そうだ選挙にいこう:2007/01/11(木) 17:10:49
クセロとかでもいいんでない
605名無しさん@そうだ選挙にいこう:2007/01/11(木) 19:13:08
>>601
WinXP付属のFAXを指定すると良いよ
606名無しさん@そうだ選挙にいこう:2007/01/11(木) 21:17:53
プリンタの追加→このコンピュータに接続されているローカルプリンタ
で、次へと適当にプリンタを指定しました。
その後、レポートの完了ボタン押下したら、
ちゃんとレポート画面が表示されました。
これで、レポートの勉強もできます。
ありがとうございました。
607名無しさん@そうだ選挙にいこう:2007/01/16(火) 22:25:05
ACCESSからテキストへのエクスポートで困っています
なぜか数値のフィールドに\が付いて取れません

クエリをエクスポートしているのですが、クエリ上で数値のフィールドはFormatで数値化して書式も数値にしています
でもなぜかテキストを見ていると\が付いています
これはなんとかならないでしょうか?
608名無しさん@そうだ選挙にいこう:2007/01/17(水) 09:45:12
>>607
そこのフィールドのデータ型が通貨型なんじゃないの?
エクスポート時にcdbl()とかでDoubleにしてやればいいかと
609名無しさん@そうだ選挙にいこう:2007/01/17(水) 13:19:32
Office 2007
http://pc10.2ch.net/test/read.cgi/bsoft/1145576709/741

741 名前:名無しさん@そうだ選挙にいこう[sage] 投稿日:2007/01/17(水) 12:19:08
全部入りの Office 2007 Enterprize を 11/22 から使ってます。
Access2007 より 桐 の方が良いです。
2007 になっても 桐 に追い付いていません。
SQL や SharePoint サーバーとの連携のみが Access の優位点です。

610名無しさん@そうだ選挙にいこう:2007/01/17(水) 21:59:03
だって桐は高いでそ
611名無しさん@そうだ選挙にいこう:2007/01/18(木) 00:21:00
大事なデータを扱うんだからなぁ。
612名無しさん@そうだ選挙にいこう:2007/01/18(木) 00:41:05
非連結フォームの初期化って、みんなどうやっています?
For Each 〜 Nextでコントロール総当たりするんだろうけど、
規定値持ちがいたりして案外面倒くさい。

なんか、簡単な方法とかありませんか。
613名無しさん@そうだ選挙にいこう:2007/01/18(木) 14:43:53
再起動
614名無しさん@そうだ選挙にいこう:2007/01/18(木) 18:20:47
桐通常版は4万円だよ。
615名無しさん@そうだ選挙にいこう:2007/01/21(日) 19:21:05
▼━質問テンプレ━━━━━━━━━━━━
【 システム環境  . 】 WindowsXP SP2, Access2003
【 VBAが使えるか .】 はい
【 VBAでの回答  】 可
【 検索キーワード 】PDF

▼━質問━━━━━━━━━━━━━━━━━━━━
ACCESSに顧客データが0000〜9999まであります。
同じHDD内にそれぞれの顧客データに関連したPDFファイル(0000〜9999の番号をファイル名に含めています)が存在します。

ボタンひとつで、0000の顧客データをACCESSで表示させているときには0000.pdfを、
0001のデータをACCESSで表示させているときには0001.pdfを、…、起動させて画面に表示させたいです。
可能でしょうか。また可能であれば、やり方を教えていただきたいです。
616名無しさん@そうだ選挙にいこう:2007/01/21(日) 19:36:31
>>615
shell "ファイル名"
617名無しさん@そうだ選挙にいこう:2007/01/22(月) 19:36:06
▼━質問テンプレ━━━━━━━━━━━━━━━━
【 システム環境  . 】 WindowsXP SP2, Access2003
【 VBAが使えるか .】 いいえ
【 VBAでの回答  】 否
【 検索キーワード 】パラメーター 右メニュー でない

▼━質問━━━━━━━━━━━━━━━━━━━━
Access2000ではパラメーターの入力の画面で右クリックしたら貼り付けなどのメニューがでてきたのに
Access2003ではでてきません。
なぜでしょうか?初歩の質問ですみません。
お願いします。
618名無しさん@そうだ選挙にいこう:2007/01/23(火) 08:19:56
出ないように設定してあるんじゃねーの?
自分で作ったMDBなの?
619名無しさん@そうだ選挙にいこう:2007/01/23(火) 18:32:54

Access2007で質問です。

Access2007のフォーム上にActiveXを貼り付けて、accdbファイルを作成しました。

これを、「デザインモードでのActiveX利用不可の環境」で、
該当のフォームを表示すると、
「このコントロールにはオブジェクトがありません」と出てしまいます。

(デザインモードでのActiveX利用可ですと、もちろん正常に動作します)

以前のAccessでは、正しく動作していたのですが…。
何かご存知の方いらっしゃいますか?
620615:2007/01/23(火) 22:33:31
すみません、もう少し詳しく教えてほしいです。
特定のファイルを実行させるのはできるのですが、現在表示させている顧客データに対応したPDFファイルを適宜実行させていきたいのです。
0000を表示させているときにボタンを押せば、0000.pdfが実行。
0001を表示させているときにボタンを押せば、0001.pdfが実行。
といった具合にです。
よろしくお願いします。
621名無しさん@そうだ選挙にいこう:2007/01/23(火) 22:42:39
>>620

>特定のファイルを実行させるのはできるのですが、

どういうふうにやっているのかは知らんが、

"pdfファイルがあるフォルダーまでのパス" & "表示されているコントロール名" & ".pdf"

でやればいいんじゃないか。
622名無しさん@そうだ選挙にいこう:2007/01/23(火) 22:44:06
ちょい修正

"pdfファイルがあるフォルダーまでのパス" & me!表示されているコントロール名 & ".pdf"
623名無しさん@そうだ選挙にいこう:2007/01/24(水) 01:38:28
>>620
>>622 それでも通じないかもよ。
それと、新しいデータを表示してボタンを押した時に、前回のpdfは閉じたいん
じゃないの?
そういう要望がないのなら、基本616さんの回答でOKじゃん。それを詳しくして
くれたのが622さんだし。
表示されてるデータのMe!コントロール名を使うってことができないなら、前回
のを閉じるなんて高級な技は無理でねぇか。非連結オブジェクトフレームを
利用すればどうよ。ここに内容表示させてもいいし、アイコン表示でもいいし。
ボタンの代わりに、ここをダブルクリックでAcrobat Readerで表示。閉じるのは、
自己責任でってことで。
624名無しさん@そうだ選挙にいこう:2007/01/24(水) 09:35:31
Access上とはいえ、PDFを表示するのにshell関数使うとかってのは、ちょっと稚拙すぎじゃない?

>>615が起動って言葉を使ってるけど、
PDFファイルを開いて表示したいだけでAcrobatなりAcrobat Readerを起動する必要はないんだよね?

それならば、Access内で別Formとか顧客データと同一Formでも表示はできるよ。
AcrobatのActiveXコントロール使えばいいじゃない
閉じたり・切り替えたりするのも問題ないし。

WebBrowserなコントロール使うのも楽だと思うよ。

625名無しさん@そうだ選挙にいこう:2007/01/24(水) 10:55:13
WebBrowserなコントロール使うのも楽だと思うよ。
WebBrowserなコントロール使うのも楽だと思うよ。
WebBrowserなコントロール使うのも楽だと思うよ。
WebBrowserなコントロール使うのも楽だと思うよ。

なんで不毛なの
626名無しさん@そうだ選挙にいこう:2007/01/24(水) 11:10:47
>>625
誰が禿げだコラ!
627名無しさん@そうだ選挙にいこう:2007/01/24(水) 12:31:24
幼稚なフォームよりAdobeReaderのほうが使いやすいよ。
628名無しさん@そうだ選挙にいこう:2007/01/24(水) 13:51:10
その考え方が幼稚だよ。
基プログラムから管理しづらいよ Acrobat Readerとか外部プログラム立ち上げちゃうと。
閉じるのはユーザー任せとか、仕様として終わってるよ。
629名無しさん@そうだ選挙にいこう:2007/01/24(水) 23:30:51
ろくに知識もない人任せな奴が作ってんだから、ユーザー任せで
いいのだ。だいたいActiveXはバージョン異なると・・・も含めて、理
解して作れると思うかぁ?
630名無しさん@そうだ選挙にいこう:2007/01/24(水) 23:49:21
割って入ってすまんが、そもそもスクリプトでもないのに PDF が
「shell "ファイル名"」だけで開くのか?
自分の環境ではファイル名だけだと実行時エラーになるが、
プログラムを指定していないから当然だと思っていた。
自分は Foxit を使っているが、Adobe Reader 入れていれば
プログラムの指定は要らないのか?
なんか腑に落ちないんだが。
631名無しさん@そうだ選挙にいこう:2007/01/25(木) 02:08:05
ものがインストールされていないケースなんてのは取りあえず無視して

アクロバットexeの場所は人によって違うと思うけど
きっとこんな感じ

Call Shell("""C:\Program Files\Adobe\Acrobat 5.0\Reader\AcroRd32.exe"" ""pdfファイルパス""", 1)

632名無しさん@そうだ選挙にいこう:2007/01/25(木) 02:15:43
そんなんだったら、IEで開いたほうがいいだろ。
パスも固定だし。
633名無しさん@そうだ選挙にいこう:2007/01/25(木) 02:21:00
ああ、ごめん
書き方がよくなかった
こうすりゃできるって話じゃないのよ
やっぱプログラム指定しなきゃ動かねぇじゃんってことを言いたかったの、ほんとは
634名無しさん@そうだ選挙にいこう:2007/01/25(木) 16:34:30
【 システム環境  . 】 WindowsXP, Access2003
【 VBAが使えるか .】 いいえ
【 VBAでの回答  】 可
【 検索キーワード 】 印刷
初心者で大変申し訳ないのですが教えていただけませんでしょうか;;

現在フォームから”印刷”と名前をつけたアイコンを押してレポート(印刷プレビュー)に飛び、
印刷を行おうと思うのですが今までフォームからテーブルに入力した内容が全て出てきてしまいます。

”テーブルの最後のフィールドを印刷”、
もしくは
”今まで印刷したことの無いレポートを抽出して印刷”

と、したいです><

どなたか宜しくお願いします><;;
635名無しさん@そうだ選挙にいこう:2007/01/25(木) 19:39:51
>>634

君は上司から書類を渡されて判断材料もないのに
『いままでコピーしていないやつはコピーしといて』
と言われて、判断できるか?
Accessだって同じだ。
テーブルにフラグをもたせるとか(印刷していないものを印刷)、
登録順序がわかるような(最後を印刷)フィールドがないと不可能だろう。
636名無しさん@そうだ選挙にいこう:2007/01/26(金) 00:01:25
VBAでデータインポートするマクロ(つかプロシージャ)を作ったのですが、ACCESSではどのようにして実行するのですか?
VBEを呼び出して実行ってのは面倒だし、といってもDBの基本画面にはマクロ登録できなそう出し、
フォームを作ってコマンドボタンに登録するのが一般的ですか?

ACCESSでいうところのマクロからはVBEで作ったマクロは実行できませんよね?
CALLできるマクロってあります?
637名無しさん@そうだ選挙にいこう:2007/01/26(金) 00:11:21
マクロのアクションに「プロシージャの実行」ってのがあるわけだが?
638名無しさん@そうだ選挙にいこう:2007/01/26(金) 00:19:09
あああ、本当だ

この場合、

Sub あ()

ていうSubFunctionの場合マクロをプロシージャの実行にして「= あ」って書き方でいいんですよね?
639名無しさん@そうだ選挙にいこう:2007/01/26(金) 01:00:13
Sub Functionなんてない。Subプロシージャ、Functionプロシージャ。
そして、マクロやイベント直に =〜 でコールできるのはFunctionプロシージャ。
>>637 のヒントがあるんだから、このくらいは自分で調べろや。
640名無しさん@そうだ選挙にいこう:2007/01/26(金) 10:04:26
>>635 ご返事ありがとうございます。

”テーブルにフラグを持たせる”というのを確認してみます><
641名無しさん@そうだ選挙にいこう:2007/01/26(金) 10:37:33
>>640
おい、

希望のレコードだけ印刷したいなら、
印刷時に印刷設定ダイアログで印刷対象ページ指定するとか
レポートのデータソースで印刷対象レコードを選択するとか
642名無しさん@そうだ選挙にいこう:2007/01/26(金) 10:43:58
テーブルの最後のフィールドを印刷・・・・
(・∀・)イイ!
643名無しさん@そうだ選挙にいこう:2007/01/26(金) 19:27:30
【 システム環境  . 】 Windows98, Access97
【 VBAが使えるか .】 はい
【 VBAでの回答  】 可
【 検索キーワード 】

ACCESSでVBAで、プログラム作っているものです。
今日、見たこともないエラーがでて 驚きました

ACCESSを終了しようとしたら、インスタンスが他のコンピュータかユーザにより変更されました 
保存しますか  破棄しますか とか出て
わからなかったので 保存を選びました
どうなったのでしょうか
レス お願いいたします
644名無しさん@そうだ選挙にいこう:2007/01/27(土) 10:04:12
インスタンスが他のコンピュータかユーザにより変更されたんだよ。
645名無しさん@そうだ選挙にいこう:2007/01/27(土) 13:30:17
【 システム環境  . 】 WindowsXP, Access2003
【 VBAが使えるか .】 勉強中
【 VBAでの回答  】 可
【 検索キーワード 】
646名無しさん@そうだ選挙にいこう:2007/01/27(土) 13:35:41
【 システム環境  . 】 WindowsXP, Access2003
【 VBAが使えるか .】 勉強中
【 VBAでの回答  】 可

IE中のボタンをクリックして別ウインドウに表示されるHTMLソースを
取得するにはどのようにすればいいですか?
647名無しさん@そうだ選挙にいこう:2007/01/27(土) 18:32:10
>> 646
VBA勉強中なら、この辺とか。

ttp://www.tsware.jp/tips/tips_267.htm

Webブラウザコントロールを使わない方法は、VBAが
駆使できるようになってから、調べてみてください。
648名無しさん@そうだ選挙にいこう:2007/01/27(土) 22:30:59
>>647
ありがとうございます。参考にしてやってみます。
649名無しさん@そうだ選挙にいこう:2007/01/28(日) 21:51:18
AccessとExcelのピボットテーブルの違いがわかる方いますか??
それぞれの長所と短所とか教えていただけたら助かります。
よろしくお願いします。
650名無しさん@そうだ選挙にいこう:2007/01/29(月) 00:36:28
ただの感想なんで、無視してもらって構いませんが。

なぜそんなことを質問しようと思ったのか、動機を説明した方が
適切な意見を聞ける希ガス。
651名無しさん@そうだ選挙にいこう:2007/01/29(月) 09:57:28
>>649
AccessとExcelのクエリの違いとよくにている。
652名無しさん@そうだ選挙にいこう:2007/01/29(月) 12:12:32
桐ってまだ売ってるんですか?

昔、管理高額研究所、みたいな名前のところから出てた気がする。
653名無しさん@そうだ選挙にいこう:2007/01/29(月) 20:45:43
管理工学研究所

貧乏人はAccessにしとけ、何倍も開発時間費やして苦労する
エクゼクティブは桐で仕事して、余った時間はホテルのプールでリフレッシュ
654名無しさん@そうだ選挙にいこう:2007/01/30(火) 09:12:57
>>653
Accessスレの桐ネタもそこまでいけば立派な文化だなw
655名無しさん@そうだ選挙にいこう:2007/01/30(火) 12:11:26
確かに桐なら開発期間1/5だしAccessはバグ多すぎだし
656名無しさん@そうだ選挙にいこう:2007/01/30(火) 12:56:20
そっか、今だに管理高額研究所なんだな。
じゃ松茸とセットなら入力効率五倍なのもいまだにデフォなのか?
657名無しさん@そうだ選挙にいこう:2007/01/30(火) 23:40:10
▼━質問テンプレ━━━━━━━━━━━━
【 システム環境  . 】 WindowsXP SP2, Access2002SP2
【 VBAが使えるか .】 見習いレベル
【 VBAでの回答  】 可
【 検索キーワード 】ACCESS フォーム 集計 SUM

▼━質問━━━━━━━━━━━━━━━━━━━━
サブフォーム上の演算結果を集計し、メインフォームに反映させたいのですが
2点不明な点がありまして、教えていただけないでしょうか?

(1)演算コントロールはSUM関数では足しこめない?
テーブルに「単価」フィールドと「個数」フィールドがあり
[料金]は演算コントロールとして、コントロールソースに
=「単価」*「個数」
で問題なく出ますが、それをサブフォーム上でフォームフッターにコントロールBOX
を設けて、そこで
=SUM([料金])
とすると「#エラー」と出てしまいます。
テーブルに料金フィールドを設けて、そこに格納した値を集計するのは問題ないの
ですが、やはりテーブルに書き出すしかないのでしょうか?
(計算で導き出せるデータはなるべくDBに持たない方がいい、と思ったので設けてい
なかったんですが、集計が絡むような値はやはりDBに持つべき?)

(2)SUM関数の実行タイミングについて
サブフォーム上で[単価]や[個数]を変更したら、即再集計掛けたいのですが、
レコードを保存しないと集計してくれないですよね?
これって、やはり即再集計&メインフォームへの反映って無理でしょうか?
(演算コントロールだと、即反映するので、そのイメージでできるとうれしいのですが、
無理な注文でしょうか?)

以上よろしくお願いします
658名無しさん@そうだ選挙にいこう:2007/01/31(水) 00:03:42
>>657
(1)だけ簡単に
=SUM([料金]) → =SUM([単価]*[個数])
659名無しさん@そうだ選挙にいこう:2007/01/31(水) 01:49:15
既出かもしれませんが、発見できませんでしたorz
よろしくお願いします
3台のPC(XP)で、ACCESSのデータベースを共有にしています
特に問題はなかったのですが、最近、LOCK FILEが出て、困っています
フォルダを新しくして、LOCK FILEを消そうとしましたが、追いつきません
よろしくお願いします
660名無しさん@そうだ選挙にいこう:2007/01/31(水) 03:11:15
>>659

全てのmdb閉じれば、勝手に消えるだろ。
残っていたとしても、もう一回開いて閉じれば消える。
少なくとも、2002ではそうなるぞ。
661名無しさん@そうだ選挙にいこう:2007/01/31(水) 16:52:16
オートナンバーを1に戻すにはどうしたらいいんでしょうか?
教えていただけたら幸いです。
662名無しさん@そうだ選挙にいこう:2007/01/31(水) 17:12:23
>>661

テーブルからにして、最適化。
663名無しさん@そうだ選挙にいこう:2007/01/31(水) 17:23:43
先生、日本語がおかしいです。
664名無しさん@そうだ選挙にいこう:2007/01/31(水) 17:33:44
>>663

テーブル空にして、最適化。

これでいい?
665名無しさん@そうだ選挙にいこう:2007/01/31(水) 17:35:27
先生、テーブル空にしたら意味がありません。
オートナンバーを1に戻すのではなく新たに最初から作るのと同義です。
666名無しさん@そうだ選挙にいこう:2007/01/31(水) 17:42:14
だったらオートナンバーフィールド削除して、また追加ならどう?

>>665

普通データ退避させて、インポートしなおさないか?
667名無しさん@そうだ選挙にいこう:2007/01/31(水) 17:51:53
> だったらオートナンバーフィールド削除して、また追加ならどう?
先生、それでいけそうです。

> 普通データ退避させて、インポートしなおさないか?
最初からテーブル作ってと同義です、意味ありません。
668名無しさん@そうだ選挙にいこう:2007/01/31(水) 17:56:18
テーブルの複製って出来なかったっけ?
669名無しさん@そうだ選挙にいこう:2007/01/31(水) 19:28:24
う〜ん・・・
言われた通りにやったが出来ない・・・
以前に一回出来たんだけどやり方忘れた><
670名無しさん@そうだ選挙にいこう:2007/01/31(水) 19:31:21
確かMSのサポート技術情報にあったよ
671名無しさん@そうだ選挙にいこう:2007/01/31(水) 20:03:49
659です
レスありがとうございます

>全てのmdb閉じれば、勝手に消えるだろ。
>残っていたとしても、もう一回開いて閉じれば消える。

その通りなんですが、開くとまた出てきてしまいます
そんなこんなで、ひとつのPCからしか、開けない状態です
よろしくお願いします
672名無しさん@そうだ選挙にいこう:2007/01/31(水) 23:49:57
下のような親子関係のテーブルがあります
[親] 主キー:顧客番号 それ以外には住所とか名前とか
[子] 主キー:顧客番号&販売日 それ以外に合計売上額とか
[孫] 主キー:顧客番号&販売日&品物ID それ以外に個数や品物名など

[子]のテーブルをレコードソースとして
作ったフォーム上からレポートを印刷する際に、
[孫]のデータに関しては、サブレポートにすれば印字できるのですが
親テーブルにあるデータをレポートに印字するのはどうすればよいのでしょうか?

メインレポート上に非連結コントロールを作り、そこのコントロールソースに
SQL文を直書きすればできるのかと思い試してみたのですが、うまくいきません。

SQL文の書式とか自信がないので、クエリーを作ってそれをSQLビュー利用して
コピったのを貼り付けたり、たどたどしく直接書いたりしたのですが
どうにもうまくいきません

親子関係の子供側から親側テーブルの値を参照する方法を教えてくださいm(__)m
673名無しさん@そうだ選挙にいこう:2007/02/01(木) 00:16:08
>>671
排他で開いてるからです。オプションで共有にする(設定するのはマシン毎)か、
Accessの開く時のダイアログで排他のチェックを外してから開く。
通常、ショートカットやMDBダブルクリックで開くだろうから、前者のオプション
変更で対応だろうな。
674名無しさん@そうだ選挙にいこう:2007/02/01(木) 12:19:45
>>672
桐にしとけ
簡単だぞ
675名無しさん@そうだ選挙にいこう:2007/02/01(木) 21:47:32
>>673
直りましたぁ
ありがd
676名無しさん@そうだ選挙にいこう:2007/02/01(木) 21:53:17
だって桐は高いでそ
677名無しさん@そうだ選挙にいこう:2007/02/01(木) 23:56:18
>>672
関係ないことだが、何故合計をデータにもつ。通常は、SUMなど集計で求める
データなのに、いろいろ事情があるのか?
さて、レポートだがすっげー単純に考えるとメイン-サブ-更にサブって形式で
いける。が、普通は違うべ。基本、サブレポートは使わない方がいい。
親・子・孫、全部繋げてクエリを作る。レポートのグループ化・ソート・改ページ
を設定。親・子、それぞれのグループヘッダを用意してデザインすればいい。
孫は、詳細部分に帳票フォームのような感じで1行分のデザイン。
後は、勉強してください。
678素人:2007/02/02(金) 00:14:59
>>672
子と孫は一緒にできる予感だし、
クエリー作って参照するといいかも
参照する文はウイザードで作れますよ
SQL書けなくても、マクロとクエリーでほとんどのことはできるみたいですよ
効率は多少悪いかもしれないけど


679672:2007/02/02(金) 01:21:35
>>677-678
レスありがとうございます!
クエリーの方が利便性高いということがなんとなく理解できました。
クエリーならなんとかできるので、そちらでいきます

合計欄に関しては、単純な個数×単価という計算ではなく、
値引きコードや値引率、消費税等が絡むので、フォームやクエリーで
その都度式を指定するのもどうかと思ったんでデータで持つようにしたんです。

けど、よく考えてみたら、その算出式を自作関数で生成し、フォームやクエリー
ではそれを呼び出すようにすればなんのことはなかったんですね・・・orz
(自分にとっては、まだフォームのイベントで呼び出す方法までしかたどりつい
ていなかったので、関数の実装の仕方を理解できていませんでした。
今日始めて標準モジュールに関数作り、クエリーで動いたのみて感動してたり・・・)

ありがとうございました!
680名無しさん@そうだ選挙にいこう:2007/02/03(土) 02:15:47
ご存じの方がいたらお助け下さい。
業務で使っているAccessのファイルが開かなくなってしまいました。
開こうとすると"開く、実行"する権限がありません。管理者から権限をもらってください。
とでます。インポートもエクスポートも出来ず。最適化もできません。
所有者が<不明>となっており、どうやらその不明な所有者に権限を
らわないといけない状態のようです。
なんとかデータを復旧する方法はありませんでしょうか?
新規に作ったファイルにインポートするというのも試してみましたが
だめでした・・・・
OSはWinXP、Access2003を使用しております。
681名無しさん@そうだ選挙にいこう:2007/02/03(土) 11:58:03
>>680
> 業務で使っているAccessのファイル

コピーして自宅のPCで開いてみて
682名無しさん@そうだ選挙にいこう:2007/02/03(土) 13:58:43
>>681
自宅にPC & Accessの環境があると断定の元でレスするのは
おかしくねぇか?
個人で揃えるには、もったいない金額だぞ。
683名無しさん@そうだ選挙にいこう:2007/02/03(土) 14:01:57
じゃ、お金持ちの友人の自宅PCで開いてみて
たぶん、MDW が壊れてるんでしょ
684名無しさん@そうだ選挙にいこう:2007/02/04(日) 04:10:10
【 システム環境  . 】 Windows2000, Access2003
【 VBAが使えるか .】 はい
【 VBAでの回答  】 否
【 検索キーワード 】 引数がありません

AODを使ってエクセル上のデータをAccessのテーブルにインポートしたところ
「引数がありません」(エラーコード失念)となりVbaがストップ。
アクセスを立ち上げ、データベースの最適化を行ったところ
「引数がありません」とメッセージボックスが上がり
最適化が実行された。
その後セキュリティ警告も上がらず、DBオブジェクトに接触できなくなった。

PCを再起動してアクセスを立ち上げて
表示>データベースオブジェクト>
としてもテーブルからモジュールまで反転表示のままで何もできない。

DB復旧にはどのような手段がありますか?
685名無しさん@そうだ選挙にいこう:2007/02/04(日) 07:04:52
>>684

定番だが、新しいmdb作ってテーブル等をインポート。
ところで、問題が発生したmdb以外にもその現象は
波及しているの?
もしそうならば、修復インストールしてみたら?
686名無しさん@そうだ選挙にいこう:2007/02/04(日) 10:59:07
>>685
テーブルのインポートやリンクは他のDBにはできるのですが、
問題のDBにはできませんでした。
(オブジェクトのインポートのダイアログボックスが出ない)

他のmdbには問題は発生しておりません。
あと先ほど確認できたのですが、プロパティを見ると1.91GBのサイズ
になっていました。これが原因なのでしょうか?
687名無しさん@そうだ選挙にいこう:2007/02/04(日) 12:21:57
【 システム環境  . 】 WindowsXP PROFESSIONAL, Access2000
【 VBAが使えるか .】いいえ
【 VBAでの回答  】 否
【 検索キーワード 】 ACCESS 別なデータベースのテーブルを参照する

田舎の会社に務めていて、つい最近までパソコンが無かった事務所
にようやく社長がノーパソ買って、WORDで見積書を入力しています。

そういう会社の田舎会社員です。
仕事の自分の範囲のデータを管理するためにACCESSのテーブル入力だけは
前からやってて、さて、システム化しようとして困ったことがあります。
 ACCESSのデータベースの概念がわかってなかったので、顧客リストや
機械の型式リスト等、それぞれのテーブルを別々のdbに作っていることに
気がつきました。それらのテーブルを一つのデータベースにまとめるか、
データベースの枠を越えてリレーションをかける?(自分で言ってて
訳がわからない)か、一旦全部のテーブルをEXCELに掃き出し、一つの
データベースに吸い込みなおすか? はたと困っております。
正規化をはじめちゃったデータベースもあるんで、厄介な事になっております。
なにかお知恵はございますでしょうか?
688名無しさん@そうだ選挙にいこう:2007/02/04(日) 12:29:32
>>686
新規MDBを開いてインポート。この時、1.91GBのMDBを選択するんだよ。
何か日本語が変かと思ったので、念のため指摘してみた。

>>687
複数のMDBのテーブル同士でにリレーションは無理だよ。
1MDBに一緒にしたいテーブルを全部インポートする。元々、1MDB内で
リレーションが組んであったとしても無駄なので、外してください。
作業上、Excelに出力してから主キーも含め見直し・整理が必要なら、そ
れでもいいでしょう。作業がし易い方をアナタが選ぶだけです。
どちにしろ整理する作業の面倒臭さは変わらないでしょ。
689名無しさん@そうだ選挙にいこう:2007/02/04(日) 12:43:16
>>688
ありがとうございます。
ということは、クエリやフォームも棄てなきゃいけないって感じですね。
データの再入力しなくていいぶん気が楽だけど、住所録の中に他のを
吸い込むかなぁ・・・。「どっちにしても面倒くさいことはおなじです」って、
言い得て妙というか神の言葉というか、現実を直視する事にします。
げげ〜、改めてRDBMSって設計が大事だという事がわかった。
690名無しさん@そうだ選挙にいこう:2007/02/04(日) 13:23:47
相談です

伝票のテーブルとそれを集計するクエリがあるのですが、この集計クエリに伝票日付から会計期間を入れたいと思います
たとえば1/1-1/31が会計期間1とかです

この場合、単純にクエリの会計期間フィールドにIF式で会計期間をいれるようにしたほうがいいでしょうか?
691名無しさん@そうだ選挙にいこう:2007/02/04(日) 13:25:46
すいません、追加でこの場合の式ってVBAでいうところのCASEみたいなのはないでしょうか?
IF式だとめんどくさくて
692684:2007/02/04(日) 13:29:39
>>688
お付き合いありがとうございます。

新規にMDBを作成して、
ファイル>外部データの取り込み>インポート
で問題のMDBを選択しても
「オブジェクトのインポート」
が表示されません。
693名無しさん@そうだ選挙にいこう:2007/02/04(日) 16:09:43
access初心者なんですが、こちらで質問しても構いませんか?
初心者スレがあれば、そちらで質問させていただきたいのですが、見つからなくて。
694素人:2007/02/04(日) 17:02:27
>>689
フォームやクエリーもインポートできますよ
>>690
月だけを取り出す日付関数とかは、
役に立たないですか

695名無しさん@そうだ選挙にいこう:2007/02/04(日) 17:11:00
>>692

Accessの制限に抵触しているのだと思うよ(2GB制限)。
修復って出来たかな?
696名無しさん@そうだ選挙にいこう:2007/02/04(日) 17:18:27
>>694
細かいこというと、〆日が25日で休日の時は前日に移動になります
なのでIF式で日付を取り出すのが面倒なんですね
だから

select case 日付
= #2007/01/25# < #2007/02/22 : 1
= #2007/02/23# < #2007/03/25 : 2

みたくなります


この条件のテーブルを作るほうがいいのかな?
697684:2007/02/04(日) 17:26:05
>>695
以前にも2GBの壁にぶつかったんですが、その時はテーブル開けることはできたんですけど
今回はエクセル側からテーブル追加をしてエラー終了しているのでDBが壊れているのか不安です。

修復はまだです。一応新たなDB(テーブルを分割)を作成する準備はしているのですが、
量が多いので気が滅入ります。

あと気づいたのですが、問題のMDBを立ち上げても、「レコードロック情報」
が立ち上がりません。他のMDBのときは立ち上がるのですが。
これも要因なのでしょうか?
698名無しさん@そうだ選挙にいこう:2007/02/04(日) 17:38:17
>>697
2GBにぶつかったことあるなら、もうAccess使わないでやろうって
思わなかった?少人数なら、MSDE(今、違う予備名のがあったっけ?)
とか。
それと、そこまで大きくなる予想がつくなら何でフォームやクエリも詰め
込むの。テーブルと分けて、リンクして使うでしょうに。
まずさ、最後のお試しって感じで別MDBからOpenDattabese使ってアク
セスしてみ。どこかでエラーが出るかもしれないから、それで見当がつ
くでしょ。エラーが出ずにリードできたとしたら、それを保存して退避すれ
ばいいじゃん。
おまけ。最適化・修復やるときは、壊れてて使いもんにならないのかも
しれないけど、オリジナルのバックアップは忘れずに。
699名無しさん@そうだ選挙にいこう:2007/02/04(日) 17:39:28
>>696
Functionプロシージャで関数を作ってしまえば?
700名無しさん@そうだ選挙にいこう:2007/02/04(日) 18:24:57
>>699
ですよね
ただ今後それだと重くなりそうな気がするんです

みなさんはこういう場合どのような設計にしますか?
伝票テーブルが書き込まれるのと同時に期間も入力されるようにすればいいのかな
701684:2007/02/04(日) 18:35:58
>>698
いままで、テーブルの分割で対応できておりテーブルリンクを使っていましたので
特に不便を感じていませんでした。
今回も3つのDBから必要なレコードを抽出し、エクセルで加工した結果をいったんシートに蓄積し、
シートに入りきらない量になったら4つ目のDBのテーブルにインポートする、ということをエクセルVBAで行っていました。
データの大きさに関しては全く気にしておりませんでした。

「OpenDatabese」でググって見たのですが分かり易い説明のあるサイトが見つかりませんでした。
これは他のMDBから問題のDBを開けてみるということなのでしょうか?
702名無しさん@そうだ選挙にいこう:2007/02/04(日) 18:36:36
>>700
似たようなのを作っていたのでためしに作ってみた。Shimebi(日付)でyyyy年mm月で区分されてるけど。
Function Shimebi(var年月日) As Variant

Dim datdate As Date
Dim datdate2 As Date
Dim simedate As Date
Dim sime As Integer

datdate = DateSerial(Year(var年月日), Month(var年月日), 1)
datdate2 = DateSerial(Year(var年月日), Month(var年月日) + 1, 1)
simedate = DateSerial(Year(var年月日), Month(var年月日), 25)
Select Case Weekday(simedate) '---休日設定
Case 1 '25日が日曜の場合
sime = 23
Case 2 '25日が土曜の場合
sime = 24
Case Else 'その他の曜日
sime = 25
End Select

If IsDate(var年月日) Then
Select Case Day(var年月日)
Case 1 To sime
Shimebi = Format(datdate, "yyyy年mm月")
Case Else
Shimebi = Format(datdate2, "yyyy年mm月")
End Select
Else
Shimebi = "?"
End If
End Function
703名無しさん@そうだ選挙にいこう:2007/02/04(日) 18:44:33
>>702
なるほど、〆日の曜日を取得しておけばいいんですね
考え付かなかったです
助かりました
704名無しさん@そうだ選挙にいこう:2007/02/04(日) 18:53:43
>>703
>>702だと祝日には対応してないので今年の11月は23日が〆日になってしまうから、祝日の設定をしてないといけないっす
705698:2007/02/04(日) 19:51:26
>>701
なぜOpenDatabase利用でのReadごときでサイトを検索する?
ロジックあったら丸々コピペで楽しようとしてないか?
この程度、ヘルプを見なさい。

>>703
>>704
春分・秋分等可変のものがあるけど、むこう30年くらいは月日が
わかってるから祝祭日はデータとしてもてるよ。
祝祭日設定画面みたいな入力は不要だね、ってのが言いたかった。
706名無しさん@そうだ選挙にいこう:2007/02/05(月) 14:14:30
>>698
> 2GBにぶつかったことあるなら、もうAccess使わないでやろうって
> 思わなかった?少人数なら、MSDE(今、違う予備名のがあったっけ?)
> とか。

MSDEの現在の名称は SQL Server Express Edition だよ。
http://www.microsoft.com/japan/sql/editions/express/default.mspx

ただこちらにしてもDBのサイズ上限が4Gなんで早晩限界は来そうですが・・・
その時はお金を出して製品版SQLServerにするしかなさそう。
707698:2007/02/05(月) 23:28:07
>>706
お〜そうかぁ。時代の移り変わりは激しいのぉ。
4GBでも限界をむかえるのが見えてるなら、ハナからSQL Serverだな。
社内使用なら、MSDNサブスクリプションで購入した方がお得かもよ。
708名無しさん@そうだ選挙にいこう:2007/02/06(火) 21:20:06
>707
おいおい、MSDNのライセンスは開発とテストを主目的での使用以外
許可されておらんぞ。
実際に運用するなら、製品版を買わないとね。
709名無しさん@そうだ選挙にいこう:2007/02/06(火) 21:55:15
ご存じの方、教えていただけないでしょうか。

起動時にフォームを開くAccess2000形式のmdbがあります。
このmdbが置いてあるフォルダとこのファイルにUsersグループへの
フルアクセスの権限を与えておいてUsersに属するUserに使用させて
いますが、AdministratorsなUserがこのファイルを開くとこのmdbの
Usersグループへのアクセス権が削除されてしまい、UsersなUserが
このファイルを利用できなくなってしまいます。

この現象はAccess2000がインストールされている環境のみで起き、
同じmdbファイルでもAccess2003がインストールされた環境では
起きません。

これを回避する方法はないものでしょうか?
よろしくお願いします。
710名無しさん@そうだ選挙にいこう:2007/02/06(火) 22:03:16
>>708
テスト目的の社内運用でいいじゃん。それを糧にして、顧客に提案できるよう
にもなるし。MSもそういう使い方を認めてくれるよ、きっと。少なくとも、前社で
はそういう方向でサポートもキッチリ受けてたよ。
711名無しさん@そうだ選挙にいこう:2007/02/06(火) 23:14:18
MSDNのSQLサーバ幾ら?
712名無しさん@そうだ選挙にいこう:2007/02/09(金) 13:02:12
【 システム環境  . 】 WindowsXP, Access97
【 VBAが使えるか .】はい
【 VBAでの回答  】可
【検索キーワード 】 背景 文字 レポート Access

すみませんん、、教えて下さい。レポートの背景の任意の位置にページ毎に
任意の文字列を印字することはできますか?
セクション内の任意の位置に印字するならprintでできると思うのですが、、
ページ内の任意の位置に印字するとなると、、、難しいです。

ダメなら画像を自動生成して、レポートのpictureプロパティに設定しよう
と思うのですが、、、

何か良い方法はないでしょうか?

713名無しさん@そうだ選挙にいこう:2007/02/10(土) 02:37:44
>>712
やりたいことがさっぱりわからないのだが、理解できるエスパーはいる?
レポートの背景って言葉が出た瞬間、はがき作成ソフトの背景画像を
思い出してしまった。
714名無しさん@そうだ選挙にいこう:2007/02/10(土) 08:25:46
>>713
ごめんなさい言葉が足りなかったです、、
やりたいことはレポートの中央になるべく大きく文字列を表示したいのです。
ウォーターマークみたいな感じで。「社外秘」とか「コピー禁止」とか書類の
背景に薄く出てる書類ありますよね。。あのイメージです。ただ違うのは文字列を
ページ毎に任意に指定したいのです。
printメソッドを使うとセクションの高さより大きな文字は使えないのでちょっと
イメージと違います。文字列が固定なら背景画像をpictureプロパティに指定して
やればいいんですけど今回は固定じゃないんで頭を悩ませてるというわけです。
715名無しさん@そうだ選挙にいこう:2007/02/11(日) 02:45:57
イベントを間違ってるだけじゃないのか。
セクション内じゃなくページ内なら、ページフォーマット時イベントだよ?
716名無しさん@そうだ選挙にいこう:2007/02/11(日) 05:08:53
【 システム環境  . 】 WindowsXP, Access2000
【 VBAが使えるか .】 いいえ
【 VBAでの回答  】 不可
【 検索キーワード 】 Access Excel グラフ 読み込み

20万行ほどのX座標Y座標他のtxtデータがありこれを使って散布図を作りたいのですが
エクセルでtxtデータを読み込むと65536行までしか表示されず仕方ないのでいったんアクセスで読んで整形してから
エクセルに流し込もうと考えたのですが整形がうまくいきません。何かいい方法はないですか?
たとえばこんな感じに20万行並んでて
 A  B  C   D   E   F    G
001  5.9 22.0 0.006  0.009 0.011 57
001 51.4 487.7 0.004 0.004 0.005 45

D、E、Fのセルの値を1000倍して50,000行区切りに列で分ける
┌──┬──┬──┬──┬─┬───┬──┬──┬──┬──
│No.  │A'1 │D'1 │E'1  │F'1│No.  │A'2 │ D'2 │E'2 │F'2
│1   │001 │ 6 │ 9 │11│50001 │003 │20 │ 1 │ 0
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
│50000│003 │ 3 │ 22 │11│100000│ 004│15 │ 40│ 41
717名無しさん@そうだ選挙にいこう:2007/02/11(日) 08:36:06
>>714
プリンタの機能を使えば・・・・・もしかして、それも出来ない安いページ
プリンタで実現したいの?
718名無しさん@そうだ選挙にいこう:2007/02/11(日) 08:37:26
>>716
どのようにうまくいかなかったのか書け!!
719名無しさん@そうだ選挙にいこう:2007/02/11(日) 09:30:13
>>714

フォームから印刷するのなら、。「社外秘」とか「コピー禁止」のトグルボタンなり、を配置して
ページフォーマット時のイベントで処理すればできるんじゃないかな。

>>716
その表を見る限り、エクセルに50,00行ずつ吐き出して、エクセルに出切り貼りするしかないんような気がする。
720名無しさん@そうだ選挙にいこう:2007/02/11(日) 18:01:34
>>716
そんなことを聞きたいわけじゃないだろうけど、結局Accessじゃなく
Excelの話でしょ。
そういうユーティリティ探したほうが早いんじゃないの。
下記みたいのなら一瞬でググれるけど。

ttp://www.vector.co.jp/soft/win95/util/se088352.html
ttp://www.freeformat.co.jp/FFFunc057.htm
721名無しさん@そうだ選挙にいこう:2007/02/11(日) 18:06:18
>>717
>714じゃないけど、安くないページプリンタには、ページごとに違う文字列を
ウォーターマークにできる機能があるのか?
722名無しさん@そうだ選挙にいこう:2007/02/11(日) 18:40:16
>>721
オレは、ページ毎に変えたい趣旨の方が良くわからない。
723名無しさん@そうだ選挙にいこう:2007/02/12(月) 15:53:55
>>714
桐にすれば簡単にできるよ
でも、桐は高いよ
724714:2007/02/12(月) 17:20:16
皆さんありがとうございます。
プリンタの場合ウォーターマークを入れることはできますが、、、
残念ながら該当のPCはページ毎には文字を入れ替えることができないようです。

あと、ページフォーマットイベント時にPrintメソッドを使用すると、
背面ではなく、前面に文字が印字されるようで、駄目です、、、
特定のページだけにウォーターマーク入れたいって人はかなりいると思うの
ですが、そういう人たちはどうやってるんでしょう、、、
725名無しさん@そうだ選挙にいこう:2007/02/12(月) 18:33:25
>>724
はずしてたらゴメンだけど・・・
あらかじめ明細部に何パターンか絶対位置指定で文字(画像)を作っておいて、
ページヘッダーのタイミングに判断を入れて可視をON/OFFするって駄目なの?
726名無しさん@そうだ選挙にいこう:2007/02/12(月) 19:57:32
お聞きしたいんですがアクセスのひとつのテーブルに
1 あああ
1 あいう
2 さささ
2 さすす
3 へへへ
というテーブルがあってエクセルに1、2、3のリストがありそれを選択して
ボタンを押すとエクセル上にその項目だけが表示されるという方法を教えていただき
たいのですが
どなたかお願いします!!!
727名無しさん@そうだ選挙にいこう:2007/02/12(月) 22:38:29
どう考えても、excelだけで完結させた方がいい
728726です:2007/02/12(月) 23:31:34
これからデータをふやしていく予定なんですがエクセルだけのほうがいいんですかね?
729名無しさん@そうだ選挙にいこう:2007/02/12(月) 23:44:56
じゃ、Access だけで完結させたほうが良い
730名無しさん@そうだ選挙にいこう:2007/02/13(火) 00:26:04
年月日のデータで
  自       至
1 2000/4/1  2001/3/31
2 1999/4/1  2000/3/31
3 1999/4/1  2001/3/31
4 2000/10/1 2000/12/31
5 2001/4/1  2002/3/31
6 2001/1/1  2002/3/31

というようなデータがあって、例えば
2001年度のデータ及び2001年度を含むデータを抽出したい場合
どのようにしたらよいのでしょうか?

上の例だと1、3、4、6を抽出したいのですが、うまい式が思いつかなくて




731名無しさん@そうだ選挙にいこう:2007/02/13(火) 00:39:47
(自 Between 年度始め And 年度終わり) OR (至 Between 年度始め And 年度終わり)
732名無しさん@そうだ選挙にいこう:2007/02/13(火) 01:08:30
>>726-729
美しい流れだ。。。
733730:2007/02/13(火) 07:22:30
>>731
thx!
734714:2007/02/13(火) 13:39:21
>>725
ありがとうございました、、、実はパターンが2000種類ほどあったので、
それだけの画像を用意するのはいかがな物かと思っていたのですが。
結局用意しました。疲れた、、、
と言う訳で無事目的の表示ができました。皆さんありがとうございました。

735超初心者(その1):2007/02/16(金) 00:27:33
【 システム環境  . 】 WindowsXP, Access2003
【 VBAが使えるか .】 いいえ
【 VBAでの回答  】 不可
【 検索キーワード 】 正規化

Access2003で顧客管理や仕入れ管理を行いたいと考えています。
当初はテーブルを顧客テーブルと仕入先テーブルに分けようと考えました。
それぞれのテーブルは主キー、会社名、住所、TEL、FAXです。
住所は5個のフィールドを使おうと思い、↓のように作成してみました(住所入力支援機能は使います。)

  顧客テーブル
     主キー、顧客名 、郵便番号、都道府県、市区郡、町村域、建物名、TEL、FAX
  仕入先テーブル
     主キー、仕入先名、郵便番号、都道府県、市区郡、町村域、建物名、TEL、FAX

ところが、データベースの入門書を読んだら『正規化』の話しが出ていたんです。
たとえば上記テーブルの場合、郵便番号を指定したら、都道府県、市区郡、町村域までは
自動的に決定されるので、それは別テーブルに分けた方がいいというものです(よね?)。↓なかんじでしょうか。

  顧客テーブル
     主キー、顧客名 、郵便番号ID、建物名、TEL、FAX
  仕入先テーブル
     主キー、仕入先名、郵便番号ID、建物名、TEL、FAX
  住所テーブル
     郵便番号ID(主キー)、郵便番号、都道府県、市区郡、町村域

当初の予定のように、顧客テーブルや仕入先テーブルに住所を含めた方がシンプルですが、
正規化を求めると住所は別テーブルにしないと駄目なようなんです。住所テーブルを作った場合、
総務省のサイトから郵便番号のCSVファイルDLしてテーブルとしてインポートできるかなと試しました。
でも、当社の顧客の中には事業者別の郵便番号を使っている企業もあって、インポートするだけでは
駄目でした。住所入力支援機能も事業者別の個別の郵便番号までは対応していません。
736超初心者(その2):2007/02/16(金) 00:36:24
>>735のつづき


ノースウインドや、ACCESSの入門書付属のサンプルデータ等も見てみました。
それらは住所を別のテーブルにすることなく、すべて顧客テーブルや仕入先テーブル
の中に含めていました。でも、これは正規化に反することなんですよね?

知り合いに質問してみると(その人はちょっとACCESSできます。)、きちんと正規化すること
なく、住所はすべて顧客テーブルや仕入先テーブルに含めているとのことでした。
また、へたにテーブル同士のリレーションシップを複雑にすると、メンテが大変になるかもしれないし、
それが恐かったとも言ってました。

ここで質問なのですが、正規化とは一体どこまですればいいのでしょうか?
今回の場合のように、住所程度なら正規化して別テーブルをつくる必要はないのでしょうか。
それとも、別テーブルを作って、総務省の郵便番号csvファイルなどを活用した方がいいのでしょうか?
737名無しさん@そうだ選挙にいこう:2007/02/16(金) 00:39:55
>>735

そこまで深く考えなくていいと思うよ。
それで飯食っていくと言うのならともかく。
むしろ問題となるのは、部署によって電話番号や階、
場合によっては住所そのものが違う事もあるから
その対処じゃないかな。
まぁ、ケースバイケースでいいと思う。
738名無しさん@そうだ選挙にいこう:2007/02/16(金) 01:01:40
初心者でそこまで考えるなんて先が楽しみだ
俺はプロではないけれど何だかんだで抱えたAccsess雑用係の仕事が積もり積もって
本業が圧迫されつつある
とっととVBAおぼえて俺の助手になれ
時給850円でどうだ
739名無しさん@そうだ選挙にいこう:2007/02/16(金) 01:52:05
>>735
こだわる人・こだわらない人、それぞれだから何とも・・・。
オレ個人は、正規化にこだわらない。冗長もなるべく避けるけど、リレーションが
複雑・テーブル数過多になるほど明らかに処理速度に影響する。
住所に限定するなら、分けない。しかも、あなたのようにも細かく分けない。仕様
にもよるけど、都道府県、市区郡、町村域、建物名と分ける意味は?
740名無しさん@そうだ選挙にいこう:2007/02/16(金) 02:08:01
>>739

印刷の見栄えを考えると、できるだけ分けてあった方が楽だけどね。
結合するのは簡単だが、分割するのは非常に面倒くさい。
俺は番地も別フィールドにしている。
住所支援使用前提で主に郵便番号入力だから、
そのほうが面倒が少ない。
テーブルに書き込むとき、結合してしまってもいいんだけどね。
741名無しさん@そうだ選挙にいこう:2007/02/16(金) 07:12:19
ExcelからVBAで起動したAccessのデータベースウィンドウを前面に表示するにはAPI使わないと無理?
742名無しさん@そうだ選挙にいこう:2007/02/16(金) 21:17:42
>>741
acObj.DoCmd.SelectObject acTable, "テーブル1", True
743名無しさん@そうだ選挙にいこう:2007/02/16(金) 21:26:31
>>735
正規化はデータを一元化するための理論。正規化を行うと、
拡張性の高いDBとなる。が、当然性能は落ちたり、作りこみの手間が
増えたりする。これらのバランスを考えていくのが設計かと。
一般的には最初に、なるべく正規化し、本来こうあるべきというモデル
をつくる。その後、なるべくデータ構造を壊さずに性能向上させていく。
まぁケースバイケース。
リレーションシップ(参照整合性制約)に関しては確かに最近は使わない
傾向かもしんない。変更がうかつにできなくなるから時代に合わないのかね、、、
漏れもAccessにテーブル持つ場合はほとんど使わん。正規化もほとんどしない。
住所も顧客テーブルに直に持たせてる。
でも、最近市町村の合併が多くて住所変更を大量にしたんだが、、、その時は
少し後悔した、、
744名無しさん@そうだ選挙にいこう:2007/02/17(土) 02:55:32
>>743
えっ。。。リレーションは使うよ。変更がうかつにできなくなるからなんて理由なら、
ISAMファイルでも使ってればいいじゃんぐらい、すっげぇ理由じゃねぇかなぁ。
745名無しさん@そうだ選挙にいこう:2007/02/17(土) 11:14:30
私もリレーションは普通に使います
本業ではなく735さんとおんなじような立場の者ですが

>>735
私も似たようなDB組んでいる最中です。
正規化をどこまで進めていくべきか、悩みましたが
ここでレスされている方とほとんどおんなじ結論です。
住所関係データを別DBにはしないほうがいいと思います。

自分の場合
住所関係データ自体は、住所入力支援を使わず別システムの
コード表を移行して対処しました。(コードのメンテという手間は承知の上です)

また、構成は(郵便番号を必要とする場合は)
「区町名コード」&「区町名コード連番」、「丁目」「番地」「号」「棟室等」
に分けて、必要に応じて連結しています。
(連番は同一区町名で別郵便番号というやつに対応するためです)

740さんが言われているように
結合するのは楽ですが分割するのは非常につらいので
746745:2007/02/17(土) 11:26:42
特殊郵便番号に(自分が)対応したところの補足

自分のDB構成は
○顧客DB
 顧客番号、顧客名、区町名コード&連番、丁目、番地、号、棟室等
○区町名コード
 区町名コード、連番、郵便番号、区名、町名、備考

例えば新宿区西新宿の場合
      コード 連番 〒    区名  町名    備考
通常   04001 00  1630001 新宿  西新宿
都庁   04001 01  1638001 新宿  西新宿  都庁専用

んで区町名コードはクエリー使って区町名コードと連番を連結しておいて
顧客DB入力画面でコンボボックスで表示させ、
顧客DBの区町名コード&連番フィールドには連結した値を放り込む、という感じ


まぁコードメンテの手間が出てくるけど、自分的には問題ないと判断した

747名無しさん@そうだ選挙にいこう:2007/02/20(火) 13:32:53
' フォームプロパティを用いて、開いている全てのフォームを取得
Sub AllOpenForms(ByVal app As Application)
Dim AcObj As AccessObject
Dim allfrm As AllForms
Dim ctl As Control
Set allfrm = app.CurrentProject.AllForms
For Each AcObj In allfrm
Debug.Print AcObj.name
' 各フォームの Controls コレクションを列挙します。
For Each ctl In allfrm(AcObj.name).Controls
Debug.Print ">>> " & ctl.name
Next ctl
Next AcObj
End Sub

こういう風にプロジェクトに含まれる全てのフォームと
それらの上にある全てのコントロールをデバッグ出力させたいのですがうまくいきません
どうすればいいでしょうか?
748名無しさん@そうだ選挙にいこう:2007/02/20(火) 14:14:36
ACCESS2007の情報が2ちゃんねるで無さ過ぎる。何か話題を出して下さい。
749名無しさん@そうだ選挙にいこう:2007/02/20(火) 14:44:55
>>747
開いているフォームなら AllForms じゃなくて Forms 使えばでいいんでない?
750名無しさん@そうだ選挙にいこう:2007/02/20(火) 15:11:11
>>749
Sub AllOpenForms(ByVal app As Application)
Dim AcObj As AccessObject
Dim frm As Form
Dim ctl As Control
For Each AcObj In app.CurrentProject.AllForms

Debug.Print AcObj.name

'フォームを開く
app.DoCmd.OpenForm AcObj.name

' 各フォームの Controls コレクションを列挙します。
Set frm = app.Forms(AcObj.name)
For Each ctl In frm.Controls
Debug.Print ">>> " & ctl.name
Next ctl

'フォームを閉じる
app.DoCmd.Close acForm, AcObj.name

Next AcObj
End Sub

これで上手くいきました。どうもです。
751名無しさん@そうだ選挙にいこう:2007/02/21(水) 22:51:14
Access2007ですが、Dropdown Listってのはあるのでしょうか?

Dropdown Comboはあるのですが、テキストボックスの用に入力できる必要はなくて、
ドロップダウンしたリストから選択だけ出来ればいいのですが。
752名無しさん@そうだ選挙にいこう:2007/02/21(水) 23:13:55
受注伝票を印刷するためのレポートを作っていますが
複数商品を購入した際に購入商品を全て表示させる方法が分かりません。
Access2002で受注管理のテンプレートを自分なりにカスタマイズして使っています。

受注に関するテーブルは3つあります。
関連するフィールドは下記の通りになっています。

【受注】
 受注ID … key
 
【商品】
 商品ID … key
 商品名
 単価

【受注明細】
 受注明細ID … key
 受注ID … 受注テーブルの受注IDと一対多
 商品ID … 商品テーブルの商品IDと一対多
 数量
 単価

レポートには、複数商品を購入した場合に
全ての商品名と購入数、価格を表示させたいと思います。


VBAはわかりません。アクセス2002+WinXPです。

検索きキーワードは「access レポート 複数のフィールド」とかそんな感じです…。
753名無しさん@そうだ選挙にいこう:2007/02/22(木) 01:26:29
>>752
受注IDしかない受注テーブルって無駄です(もし、省略してるなら一言
他のフィールドは省略って入れて欲しい)。しかも、これと1対多でリレー
ションしてる受注明細って・・・。
要は、商品テーブルと受注明細テーブルを商品IDで繋げたクエリを
ソースとするレポートにすること。詳細部分に1行分の出力したい商品
の情報コントロール(連結コントロール)を作成すること。
754735:2007/02/22(木) 02:25:47
>>753
説明不足ですみません。
受注テーブルは他には顧客テーブルと関連させる顧客IDやらなにやらありますが
商品には関係ないので省略させていただきました。

ちなみに、このテーブルを作ったのはマイクロソフトです。
新規作成でテンプレートから作りましたので。

755753:2007/02/22(木) 08:28:13
>>754
> このテーブルを作ったのはマイクロソフトです。
そんなの知らんよ。サンプルなんて見る気も起きねぇから、インストール時に
除外してるもの。
で、クエリ使えばできるでしょって話でうまくいったのか?
756名無しさん@そうだ選挙にいこう:2007/02/22(木) 08:34:59
>>751
リスト外入力時のイベントで処理したらダメなん?

>>752
テンプレートからMDB作ってまで解釈してくれる人は少ないかと。
それに、単純にすべての…ってわけでもないんだろうし
レコードソースとかどのように表示したいのかも分らんからレスに困る。
757名無しさん@そうだ選挙にいこう:2007/02/22(木) 14:06:20
ControlオブジェクトにはControlTypeなるプロパティがあるんですが、
これはオブジェクトブラウザには表示されていません。
このような隠しプロパティを全て表示するにはどうすればいいでしょうか?
758名無しさん@そうだ選挙にいこう:2007/02/22(木) 14:23:07
DoCmd.RunCommand acCmdObjBrwShowHiddenMembers
という一文を実行すると、

実行時エラー '2046':
コマンドまたはアクション 'オブジェクトブラウザ隠しメンバの表示'は無効です。

と表示されて終わります。
VBAのオブジェクトブラウザでは機能的制限があり表示できないのでしょうか?
759名無しさん@そうだ選挙にいこう:2007/02/22(木) 19:37:35
>>751
リストボックスってあるだろ
760名無しさん@そうだ選挙にいこう:2007/02/22(木) 20:01:10
>>759
リストボックスで通常は選択された一行のみ表示で、
選択時はドロップダウンされたリストからって出来るの?
761名無しさん@そうだ選挙にいこう:2007/02/22(木) 21:00:12
>>757
とりあえずマウス右クリックしてみる。そこからは見れば分かる。

ただし、「ControlオブジェクトにはControlTypeなるプロパティ」など
ないと思う。

何が目的なのか吐いたほうが楽になれるかも。
762名無しさん@そうだ選挙にいこう:2007/02/22(木) 21:34:59
>>760
桐にしといたほうが良いと思うよ
763名無しさん@そうだ選挙にいこう:2007/02/22(木) 21:38:48
listbox と textbox の combination が combobox だよ
764名無しさん@そうだ選挙にいこう:2007/02/22(木) 21:49:50
>>761
右クリックで出来たんですね。なるほど。

フォームをユーザーが作成できるようにする。
ごく簡単な独自のウィザードを作りたい。
その準備として、DBにフォームとコントロールのプロパティ値を保存して、
データを扱いやすく、かつビジュアル的に分かりやすい形にして保存したい。
で、そのときに

For Each aobj In CurrentProject.AllForms
DoCmd.OpenForm aobj.Name
Set frm = Forms(aobj.Name)
For Each ctl In frm.Controls
Debug.Print ">> " & aobj.Name & "." & ctl.Name & " type:" & ctl.ControlType
For i = 0 To ctl.Properties.count - 1
Debug.Print i & " " & ctl.Properties(i).Name & " " & ctl.Properties(i).Value
Next i
Next ctl
DoCmd.Close acForm, aobj.Name
Next aobj

こんなようなコードを実行してたら、オブジェクトブラウザで表示されない項目が出てくるので
これらをブラウザで表示するにはどうすればいいんだろうっていう疑問ですね。
765761:2007/02/22(木) 23:21:20
>>764
なんで存在しないプロパティを探しているのか不思議でしたが、了解です。

カスタムウィザードですか。。。
大変そうですが、がんばってください。
766名無しさん@そうだ選挙にいこう:2007/02/23(金) 01:39:12
>>764
アナタの知識では無理っぽいよ。
767名無しさん@そうだ選挙にいこう:2007/02/25(日) 13:21:14
エクセルでいくかアクセスでいくか、どっち?
768名無しさん@そうだ選挙にいこう:2007/02/25(日) 13:22:37
そういう人は桐が良いよ。
769名無しさん@そうだ選挙にいこう:2007/02/26(月) 09:31:38
parameters [table_name] text;
drop table table_name;

こういうパラメータクエリを作るのは無理でしょうか?
select,update,insert,delete,createのキーワードのどれかが入ってないといけないみたいで。
770名無しさん@そうだ選挙にいこう:2007/02/27(火) 00:52:53
>>769
何がやりたい?
見たまんま、テーブルの削除がやりたいの?だったら、素直にVBAに
すればいい。テーブル名を入力するフォームを作って、VBAでそれを
拾ってSQLにするなり、削除が目的ならSQLにしなくてもVBAでテーブ
ル削除できるし。
771名無しさん@そうだ選挙にいこう:2007/02/27(火) 01:19:21
桐だったらテーブルなんて簡単に消せるよ
772名無しさん@そうだ選挙にいこう:2007/03/01(木) 10:04:51
【 システム環境  . 】 WindowsXP, Access2000
【 VBAが使えるか .】 少しならいけます
【 VBAでの回答  】 少しならいけます

会社で顧客名簿を作っています。2台のパソコン(両方ともXP)をLANで接続しておりまして作った
mdbファイルを共有フォルダで共有しているのですが、クライアント側のパソコンからクリックすると
「*****を開くことができませんでした。ほかのユーザが排他的に開いているか、データを
読み取る権限がありません」と表示され開くことができません。直接アクセスを起動させて
当mdbファイルを開くと「データベースファイル******が見つかりません。」と表示され、やはり
開くことができません。ただし、サーバ側の共有フォルダから一旦、mdbファイルを出して再び
共有フォルダに入れなおすとクライアント側から開くことができます(読み込みだけで書き換え
はできません。)が、一時的なものでサーバ側からmdbファイルを開くとまたクライアント側
から開くことが出来なくなってしまいます。また、別のmdbソフトを作って共有フォルダに
入れたのですがそれは、何の問題もなくクライアント側からアクセスできます。いろいろ調べた結果
共有フォルダのアクセス権限やmdbファイルのアクセス権等の問題があるのではないかということが
わかったのですが、どれを試してもうまくいきません。どうすれば常にクライアント側のパソコンから
常に顧客名簿mdbファイルを開くことができるようになるでしょうか?初歩的な質問で申しわけないのですが
宜しくお願いします。
773名無しさん@そうだ選挙にいこう:2007/03/01(木) 17:46:37
Microsoft 社の Lead Program Manager である Clint Covington 氏が自身のブログで明かしたところによると、
Access 2007 の Developer Extensions とランタイムが無償提供されるそうです!

これは、今までアプリケーションの開発・配布に Office Developers Edition や Visual Studio Tools for Office
の別途購入を余儀なくされていた Access 開発者にとって、まぎれもない朗報でしょう。

提供時期や詳細はまだ未定ですが、すでに MSDN において正式な告知がされています。
774初心者:2007/03/01(木) 20:48:23
【 システム環境  . 】 WindowsXP, Access2002

最近、できるaccess2003,2002でアクセスを勉強し始めたのですが、グラフの挿入を
しようとしたら、「Microsoft accessではこのウィザードを開始できません。この機能は現在インストール
されてません。インストールしますか?」と表示されたので、OKを選んでもインストールしようとしたのですが、
このパソコンにWINDOWS XPをインストールした時のCD-Rを紛失してしまったので、インストールできないみたいです。
このような場合は、新たにACCESSを購入するしかないのでしょうか?

775名無しさん@そうだ選挙にいこう:2007/03/01(木) 21:15:29
>>774
> このパソコンにWINDOWS XPをインストールした時のCD-Rを紛失してしまったので、

CD-R?
776名無しさん@そうだ選挙にいこう:2007/03/01(木) 22:31:53
>>774
> このような場合は、新たにACCESSを購入するしかないのでしょうか?

一度買えば、新たに買わなくても良いよ。
777774:2007/03/01(木) 23:35:43
>>775
CD-Rかどうか良くわかりませんが、Windows XPのことです。

>>776
インストールしようとしたら、「"Microsoft Office XP Professional with FrontPage"ディスクを挿入し、
OKをクリックせよ。」と出るのですが、このディスクを今持っていません。
778名無しさん@そうだ選挙にいこう:2007/03/01(木) 23:41:03
なくしたから、ただでよこせ、と。
779名無しさん@そうだ選挙にいこう:2007/03/02(金) 01:58:15
with FrontPageっていうと、Dev持ちなのか?
ほかにあったっけ。
780名無しさん@そうだ選挙にいこう:2007/03/02(金) 10:49:20
>>772
解決にはならないと思うけど
複数のPCでデータベースを扱うなら、データ用のファイルと操作用のファイルを作っておくといいよ
同時にアクセスすることも可能だし、ファイルが破損しておしゃかになる危険性も減るしね
781名無しさん@そうだ選挙にいこう:2007/03/03(土) 01:41:49
マイクロソフト ソフトウェアまたはハードウェア製品の紛失、破損、または欠品の際の交換方法
http://support.microsoft.com/kb/326246/ja
782名無しさん@そうだ選挙にいこう:2007/03/03(土) 05:10:11
Access2000
VBAを使わず、クエリフィールド内の関数で
100の位を四捨五入するにはどうしたら良いのでしょうか。
ROUND([hoge],-2)
とするとエラーになってしまいます。
783名無しさん@そうだ選挙にいこう:2007/03/03(土) 06:04:05
Roundは仮に使えたとしても「丸め」であって「四捨五入」とは違う。
無理やりやるならこう。

=Fix(([hoge]+IIf([hoge]>0,500,-500))/1000)*1000
784名無しさん@そうだ選挙にいこう:2007/03/03(土) 10:03:10
>>782
ちょっと説明が違う気がする。VBA(の関数)は絶対使う必要があって、
自前で用意した関数は使いたくないって事ではないのだろうか。
785名無しさん@そうだ選挙にいこう:2007/03/03(土) 14:01:45
女性は働きたければ働いて、働きたくなきゃ働かない、辛くなったらやめていい。
そもそも女性に辛い仕事を押し付けないこと。かといって雑用やらせるのもダメ。
それで給与も昇進も平等にね。ただし残業、転勤、深夜当直させたら女性差別だよ。
間接差別禁止規定って知ってるでしょ。なんでも平等にね。髪形と服装は女性の自由だけど。
それからアファーマティブアクションと管理職30%目標もね。産休育休もね。当然給与40%保障で。
主婦と言っても、家事を強制される言われはないし、出産するかどうかは女が決めること。
でも産まれたら育児を女性に押し付けないでね。二人の子供なんだから当然でしょ。
ただし離婚したら親権は母親のものだよ。育児は女性のほうが向いてるんだし。

それから働く夫を妻が支えるなんて時代遅れの女性差別。
これからは働く妻を夫が支えなきゃ。
あ、もちろん収入は夫の方が多くて当然だけどね。妻には扶養請求権だってあるんだから。
それと夫は妻に優しくね。妻が望まないセックスは家庭内レイプだよ。
夫が妻のセックスの求めに応じないと離婚事由になるけどね。
離婚したら慰謝料とか財産分与とかまあ当然だけど。
女性はか弱いから母子手当ても生活保護も税金控除も当然だよね。足りないぐらい。

それと女性に女らしさを押し付けないでよ。
そんなの窮屈で面倒だし、いまさら男尊女卑ですかって感じ。
でも男はやっぱ男らしくないとね。
いつになったらレディーファースト覚えるの?ワリカンなんてありえないし。
少子化だって男のせいでしょ。男がだらしないから女性が結婚できないんだよ。
え?レディースデー?あれはいいの。
別に私たちが頼んだ訳じゃないし。店が勝手にやってるんでしょ。
786名無しさん@そうだ選挙にいこう:2007/03/03(土) 16:26:36
>>785
かしこましりました
そちらの条件すべて呑みます
787名無しさん@そうだ選挙にいこう:2007/03/03(土) 16:58:30
>>785
結婚してください
788名無しさん@そうだ選挙にいこう:2007/03/04(日) 04:00:29
>>785
桐にしとけ
789名無しさん@そうだ選挙にいこう:2007/03/04(日) 10:48:59
>>782
桐なら簡単確実だよ
790名無しさん@そうだ選挙にいこう:2007/03/04(日) 10:52:36
【 システム環境  . 】 WindowsXP, Access2007
【 VBAが使えるか .】 はい
【 VBAでの回答  】 可
【 検索キーワード 】 ACCESS サブレポート

サブレポートに対象となるレコードがない場合
サブレポートが親レポートの印刷プレビューで
表示されません。

親レポートのレイアウトビューや
サブレポートの印刷プレビューでは対象となる、
レコードがなくても、表示され合計値なども0として
ひょうじされるのですが・・・。

何とか親レポートの印刷時にも表示されるように
する方法はないでしょうか?
791名無しさん@そうだ選挙にいこう:2007/03/05(月) 00:08:52
レポートにて、グループ化したデータを段組にして出力したいのです。
こう出力したいのですが、

-------------------
表1   表2   表3
[ ] [ ] [ ]

表4   表5
[ ] [ ]
-------------------

こうなっちゃいます。
1枚目
-------------------
表1   表2   表3
[ ] [ ] [ ]



-------------------
2枚目
-------------------
表4   表5
[ ] [ ]



-------------------

用紙2枚にまたがらないで、表3の後折り返してくるにはどうしたらいいすでか?
792名無しさん@そうだ選挙にいこう:2007/03/05(月) 01:10:10
質問の意味を理解したかどうか自信を持てないまま無責任に答えてみる

レポートの「ページ設定」→「レイアウト」あたりを見てみると
何かいいことがあるかもしれない
793名無しさん@そうだ選挙にいこう:2007/03/05(月) 12:55:17
>>780
アドバイスどうもありがとうございます。
試行錯誤を繰り返してるのですが、何をしてもうまくいきません。
794名無しさん@そうだ選挙にいこう:2007/03/05(月) 20:45:01
・DAOのみ
・RDOとDAOの併用
・RDOとRDOX
Access単体の場合、みんなデータベースアクセスはどれでやってるの?
バージョンは2000以降ってことで
795名無しさん@そうだ選挙にいこう:2007/03/05(月) 20:52:06
ADO
796名無しさん@そうだ選挙にいこう:2007/03/05(月) 21:12:48
Form
797名無しさん@そうだ選挙にいこう:2007/03/06(火) 19:25:31
大企業はoracle、中小企業は桐
Accessは中途半端
798名無しさん@そうだ選挙にいこう:2007/03/06(火) 23:18:32
>中小企業は桐
ほんまか
799名無しさん@そうだ選挙にいこう:2007/03/07(水) 02:22:24
たとえばあれだよ
スターリンをスータリンとか書くと急にお茶目になっちゃうみたいな
800名無しさん@そうだ選挙にいこう:2007/03/07(水) 03:20:27
801名無しさん@そうだ選挙にいこう:2007/03/07(水) 04:47:09
Access2007になってDAOが変わってたって
添付ファイル型とか他で使ってもランタイムとして配布とかダメなんだろうね。

ttp://isawseashell.blogspot.com/2007/02/attachment-dao-access2007-dao-dao-3.html
802名無しさん@そうだ選挙にいこう:2007/03/07(水) 11:35:40
2003
xp
条件付き書式が印刷時に反映されない俺はどうしたらいい?
すごいひと教えてくれ
803名無しさん@そうだ選挙にいこう:2007/03/07(水) 15:32:05
SQL Server 2005 Compact Edition ってAccessで使える?
804シゴト中に2ch …org:2007/03/07(水) 16:59:30
【 システム環境  . 】 WindowsXP SP2, Access2000
【 VBAが使えるか .】 少々
【 VBAでの回答  】 可

すいません。どのようにデータを合成すればよいでしょうか?
フォームで2つのテキストボックスに入力された数字を合成して
コマンドボタンで他のコントロールに入力したいです。
しかし思ったように合成ができません。
Dimやら、rightやらを使ったとしてもどうすればよいかが分かりません。

◆具体的に◆
 テキストボックスが2つあります。
 Box1: 070307 (日付を6桁の数値として入力)
 Box2: 01〜99 (作業部署の番号など)
      ↓
      合成
      ↓
 ◆理想◆<目標コントロール> 07030701,07030702,07030721,・・・,・・・,などなど
                 ↓   ↓    ↓
 ◆失敗している現実◆    00703071,00703072,07030721

<現在の方法>
   vbaで
dim x as variant
dim y as variant
x = Me!Box1
y = Me!Box2
Me!目標コントロール = x & y
  ・・・という記述です。  
Box2が一桁だとうまくいきません。(2桁だとok)
1桁の数値を二桁として取り込むにはどうすればよいでしょうか?
805804:2007/03/07(水) 17:36:20
試行錯誤してみましたが駄目でした。
(実際のデータ合成は4つの合成です。w & x & y & z)
 ↓
◆vbaコード◆
Private Sub コマンド16_Click()
Dim w As String
Dim x As String
Dim y As String
Dim z As String
w = Me!日付
x = Me!品目
y = Me!作業工程No
z = Me!作業部署
If (x < 9999) And (y < 10) And (z < 10) Then
x = "0" & x
y = "0" & y
z = "0" & z
End If
Me!作業工程Logコード = w & x & y & z
End Sub

◆方向性◆
if式使えば出来るかな、という気はしてきました。
けどif式でやると8通りの記述をしないといけないみたいで・・・。
(年月日以外で)2×2×2

どなたかお願いします。

806名無しさん@そうだ選挙にいこう:2007/03/07(水) 18:13:39
>>804
全部書かないけど、変数に入れる値を

w = Format(Me!日付, "00")

みたいにして組み合わせたらどうだろ?
807名無しさん@そうだ選挙にいこう:2007/03/07(水) 18:28:14
>>804
こんなんでいいんでない?

Private Sub コマンド16_Click()
Dim w As String
Dim x As String
Dim y As String
Dim z As String
w = Format(Me!日付, "00)
x = Format(Me!品目, "00)
y = Format(Me!作業工程No, "00")
z = Foramt(Me!作業部署, "00")
Me!作業工程Logコード = w & x & y & z
End Sub
808名無しさん@そうだ選挙にいこう:2007/03/07(水) 18:29:44
↑の訂正
w = Format(Me!日付, "00) → w = Format(Me!日付, "00")
x = Format(Me!品目, "00) → x = Format(Me!品目, "00")
809名無しさん@そうだ選挙にいこう:2007/03/08(木) 02:25:27
まずは、むやみやたらにvariantを使うな。少しは型を意識しろ。
それが根本の間違いだ。それを補って目的の答えが出せるの
は、既にみなさんがレスしてる。
810804:2007/03/08(木) 09:01:30
>806>807>809
ありがとうございます。出来ました!
variantも勉強してみます。

・・・レス遅くなってしまいすいませんでした。
家でインターネットが出来ない状態なので会社からカキコミしてます(汗

中途半端な知識が少しだけついてしまっているので
いつもAccessで苦労しています。

自分で出せる有益な情報はあまり無いんですが、
「谷尻かおり」という人の本はなかなか役に立つと思います。
入門本の類ほど基礎過ぎず、かといって読みづらい高度な書物ほど難しくなく。

受験本でいったら「実況中継シリーズ」に近いカンジの本です。
自分のように基礎的な知識が無く、
それでもAccessやExcelのvbaを使っている人にお勧めします。
811名無しさん@そうだ選挙にいこう:2007/03/08(木) 09:19:37
>>810
VBAの辞典持っていると結構いいよ
自分は秀和システムのVBA辞典にお世話になってる
逆引き使用例があるから、やりたいことのヒントになってる
812804:2007/03/08(木) 10:13:43
「AccessVba辞典」という本ですね。

調べて、さっそくセブンアンドワイで購入しようとしました。
しかし、在庫無しでした。残念。

週末に本屋でも寄ってみます。
813>>735 >>736:2007/03/08(木) 23:43:30
【 システム環境  . 】 Windows**, Access**
【 VBAが使えるか .】 はい・いいえ
【 VBAでの回答  】 可・否
【 検索キーワード 】 Googleやヘルプでの検索キーワード

先月、正規化について質問させていただいた者です。ご返事が遅れてすみませんでした。
これからは、会社にとってデータベースは必須との意気込みだったのですが、社内で
「データベース?何それ(笑)。」みたいな言い方をされて、やけっぱちになっとりました。
「仕事ができない奴は、そういうことやるんだよね?」みたいな言い方。
そうやって自分の存在意義をみつけようとするんだよね、みたいな・・・・

やっとこさ気持ち的に復活してきました。
これからもデータベース作成をやっていきます。
レスをくれた方々に感謝します。




814>>735 >>736:2007/03/08(木) 23:59:19
【 システム環境  . 】 WindowsXP, Access2003
【 VBAが使えるか .】 いいえ
【 VBAでの回答  】 否
【 検索キーワード 】

正規化の件ですが、自分はきっちり分けていこうと思います。
正規化を第三正規化までやっていこうと思います。
なぜなら、正規化をきちんとすると拡張性が高まるとのご指摘があったからです。
じつは、顧客管理は第一弾にすぎず、ゆくゆくは経営データベースまで拡張していきたいからです。
で、さっそく質問させていただきます。

たとえば(たとえ話で恐縮ですが)、会社・工場・工場内の建物というデータベースを作りたいとします

  会社テーブル→工場テーブル→建物テーブル

それぞれの会社はいくつかの工場を持ち、各工場にはいくつかの建物があるという具合です。
この場合、住所は各工場に割り振られるので簡単です。

ところが、顧客の中には工場内の各建物に住所が割り当てられています。
この場合に、困難が生じます。
なぜなら、正規化をきちんとやった結果、会社・工場・建物ごとにテーブルが作成されているからです。
ある会社は工場テーブルに住所フィールドを必要としますが、
別の会社では建物テーブルに住所フィールドが必要になっていきます。
工場テーブル・建物テーブルの両方に住所入力が必要になるかもしれないのです。

自分なりに考えましたが、空欄が大量に生じる覚悟で、
工場テーブルと建物テーブルにそれぞれ郵便番号フィールド(及び、郵便番号以下の住所フィールド)
を作るしかないのでは?と考えました。

この作り方は間違えているでしょうか?
それともそういう作り方もありなのでしょうか?
ご教示のほど、よろしくお願いします。
815名無しさん@そうだ選挙にいこう:2007/03/09(金) 01:35:57
たとえば運送業か何かで
配送先が一軒家かマンションの一室か、みたいな話かな

配送先CODE 会社CODE ADDRESS1 ADDRESS2
00000001 9987 xx町123 xx工場 西xx号棟
00000002 4534 xx町345 xx工場 (空)
00000003 8675 xx町567 xx工場 xx部研究室

これで会社CODEとADDRESS1にあんまり同じものが並ぶようなら、工場テーブル作る意味もあるかもしれないとは思う
どっちが気持ち悪いか気持ち悪くないかみたいな選び方でいいんじゃない


とか
無責任なことを書いた俺は、実のところ正規化の意味が良く分かっていない素人だったりする
816名無しさん@そうだ選挙にいこう:2007/03/09(金) 02:16:47
住所テーブルつくっちゃえば?
817名無しさん@そうだ選挙にいこう:2007/03/09(金) 02:42:56
>>814

>空欄が大量に生じる覚悟で、工場テーブルと建物テーブルに
>それぞれ郵便番号フィールド(及び、郵便番号以下の住所フィールド) を作るしかないのでは?

こういうときこそ住所マスタテーブルを作るもんじゃないの?
正規化の勉強してないからよく解らんが。


818名無しさん@そうだ選挙にいこう:2007/03/09(金) 02:45:05
文面推敲している間に被った…
819名無しさん@そうだ選挙にいこう:2007/03/09(金) 05:34:17
> 正規化の件ですが、自分はきっちり分けていこうと思います。
> 正規化を第三正規化までやっていこうと思います。
> なぜなら、正規化をきちんとすると拡張性が高まるとのご指摘があったからです。

正規化、正規化、第三正規化 って 掛け声だけ出してダメだよ。

DB設計での正規化とは何かをちゃんと学ばないと。
言葉だけではなくて、理解してよ。

そしたらこんな質問は出てこねぇよ。
820名無しさん@そうだ選挙にいこう:2007/03/09(金) 09:56:49
建物に住所割り当てるだけでよくないですか?

建物すべてが同じ住所(工場での一括住所)のトコロの「住所」を活用する時には
建物として「ALL」とかテキトーな建物を作っておいてソコの住所使うとか。
あるいは、「建物名」をクエリとかで入れなければその工場の住所はグループ化されて一つしか出ないと思うけど・・・
821名無しさん@そうだ選挙にいこう:2007/03/09(金) 10:08:53
>>735
現代ではメモリーもHDDも安価になり気兼ねなく使えます。
正規化は死語です。
運用のしやすさを優先してください。

桐でシステムを構築するのが近道です。
822名無しさん@そうだ選挙にいこう:2007/03/09(金) 15:53:59
>>821

やっぱ正規化ってそれが第一だったのか。
テーブル分けすぎると、レポート1枚出すのも苦労するよね。
823名無しさん@そうだ選挙にいこう:2007/03/09(金) 17:30:15
(*‘∀‘)<・・・
824名無しさん@そうだ選挙にいこう:2007/03/09(金) 18:14:37
【 システム環境  . 】 WindowsXP SP2, Access2000
【 VBAが使えるか .】 少々
【 VBAでの回答  】 可

フォームにてイベントプロシージャで困っています。

データが移動した時、
Dlook等を使ってコード番号から名前を読み出すテキストボックスを作っています。

 *******************
  Private Sub Form_Current()
   〜〜云々カンヌン〜〜
  End Sub
 *******************
 
ただしこれだと、新規レコードを入力した時にエラーが出てしまいます。
対策としては → 新規レコード入力用のフォームを作る。
       → 既存レコードの修正は別のものを用意する。
といった対策が考えられます。

しかし、現在フォーム自体の作りこみ中でフォームを分派させてしまうと
コードの書き直しなどが増えてしまいます。
(フォーム内にサブフォームを3つ持つ構造で、
複雑になっているのでますます避けたいです。)

新規レコードへの移動時に、イベントを中止する、
あるいは別のイベントを起こして逃げるようなことできないでしょうか?
皆様方、ご教示のほど、よろしくお願いします。  
825824:2007/03/09(金) 18:18:53
真ん中あたり(12行目を)訂正します。

*******************
  Private Sub Form_Current()
   〜〜云々カンヌン〜〜
  End Sub
 *******************
 
ただしこれだと、新規レコードに移動した時にエラーが出てしまいます。
(新規レコードは空白データなのでデータ参照が出来ないので)

・・・「カキコミの確認」見て直そうと思ったら、
すんなりと確認・同意無しで書き込めてしまいました。
すいません。。
826名無しさん@そうだ選挙にいこう:2007/03/09(金) 20:31:46
827名無しさん@そうだ選挙にいこう:2007/03/10(土) 00:21:27
肝心の 〜〜云々カンヌン〜〜 の中身が判らないけど想像するに・・・

 Me!テキストボックス=DLookup("名前","テーブル","コード番号=" & Me!コード番号)

こんな感じで書いてて、新規レコード移動時はMe!コード番号の値がNullだから
結果として落ちるってこと? だったら問題の本質は「新規レコードだから」じゃなくて
「コード番号がNullだから」になるんで・・・

 If Not IsNull(Me!コード番号) Then
  Me!テキストボックス=DLookup("名前","テーブル","コード番号=" & Me!コード番号)
 EndIf

こうした方がよさげ。

個人的にCurrentイベントに頼るようになったら開発的には詰み寸前のような気もするけど、
まあ頑張って。
828名無しさん@そうだ選挙にいこう:2007/03/10(土) 00:35:08
【 システム環境  . 】 WindowsXP Profecional Access2000
【 VBAが使えるか .】 使用可
【 VBAでの回答  】 不可


何が原因かわからないのですが、いきなりAccessが使用できなくなりました。
症状としては、リンクが貼れなくなったり、今まで見れていた、テーブルが「不明」というエラーとともにみれなくなりました。
オフィスを入れ直してもだめでした。
OSから再インストールしないとアクセスは使用できないでしょうか?
829名無しさん@そうだ選挙にいこう:2007/03/10(土) 01:34:11
>>Currentイベントに頼るようになったら開発的には詰み寸前のような

同意wwwwwww
830824:2007/03/10(土) 09:44:42
>826>827
すいません。ホントありがとうございました。
827サンの手法でやらせてもらいました。
最初は826サンの手法が面白そうだったのでトライしてみたんですけど、駄目でした。
自分の力不足です。

現状はデータ入力の方法が完成したトコロです。
後はおおまかに作っておいたデータの出力と検索を、細かく見栄え良く作り込んでいく段階です。

Access構築やってると仕事時間外でも全体的なテーブル構造、リレーションシップ、
フォームでの効率よいサブフォームの挿入とか考えてしまいますね。
時間外労働、、長い!

けど、なんだかんだで楽しいです。

…ビルゲイツは偉い人だーとか思ってます。
831名無しさん@そうだ選挙にいこう:2007/03/10(土) 13:19:04
>>828

バージョン変えてしまったとかは無い?
データの方の問題じゃないかな、と思うけど。
832名無しさん@そうだ選挙にいこう:2007/03/10(土) 14:13:34
Accessってさぁ、残高計算できないから出納帳とか会計処理は出来ないよね。
VBAでレコードセットの更新掛けても、整列項目値が同じレコードの順番が指定できないから、正確な残高が保証されないよね。

桐だと論理レコード番号があるから、正確な残高計算できるからGoodだね。
833名無しさん@そうだ選挙にいこう:2007/03/10(土) 14:25:30
487 名前:ど素人 :2007/03/06(火) 21:37:03 ID:???
すいません。
関西の中堅ぐらいの印刷会社のものなんですが、
手書きの伝票が限界になり、
システムの導入を考えています。

要求仕様を考えているところなんですが、
ご相談に乗ってはいただけないでしょうか。

http://www27.atwiki.jp/printing
トップページ一番下のエクセルファイルが一番見やすいと思うんですが。

要は現在の手書きの伝票をシステム化したいということです。
834名無しさん@そうだ選挙にいこう:2007/03/10(土) 15:42:12
>>832-833
はいはい桐にしとけ桐にしとけ
835名無しさん@そうだ選挙にいこう:2007/03/10(土) 17:33:38
確かにAccessでは累計とか連番とかは結果が保証されない。
だから何?
836名無しさん@そうだ選挙にいこう:2007/03/10(土) 19:01:56
837828:2007/03/10(土) 20:08:16
>>831
バージョンは変えてないのですが、officeのUpdateは行いました。
参照dll等が変に書き変わってしまったのでしょうか。
838名無しさん@そうだ選挙にいこう:2007/03/10(土) 21:41:58
ええええーーーーーーーーーーっ!!!!!!!!!
accessで残高計算できないのーーーーーーーーーー
839名無しさん@そうだ選挙にいこう:2007/03/10(土) 22:23:18
できるように設計すればできるっつの
840名無しさん@そうだ選挙にいこう:2007/03/11(日) 00:59:12
霧って何?
841名無しさん@そうだ選挙にいこう:2007/03/11(日) 08:19:59
100m を 7秒で走れるようにしれば金メダルとれるっつの
842名無しさん@そうだ選挙にいこう:2007/03/11(日) 13:33:20
外部データの取り込み→インポート
でCSVを取り込みたいのですが
a,[半角スペースが10個],b,......
のように(クオーテーションで括ってない)半角スペースのみのデータがNULLに変換されてしまいます
このデータを半角スペース10個として取り込むには
どうすればよいでしょうか?

Access2000を使っています
843名無しさん@そうだ選挙にいこう:2007/03/11(日) 13:36:23
データ型何になってる?
844842:2007/03/11(日) 13:43:05
>>843
テキスト型です
845名無しさん@そうだ選挙にいこう:2007/03/11(日) 13:58:28
一度、桐でインポートしてからアクセスに再度インポート
846名無しさん@そうだ選挙にいこう:2007/03/11(日) 14:00:03
なんでここ桐使いがこんなに多いの?
847名無しさん@そうだ選挙にいこう:2007/03/11(日) 14:02:28
えっ、桐のスレでしょ?
848名無しさん@そうだ選挙にいこう:2007/03/12(月) 16:54:09
【 システム環境  . 】 WindowsXP Pro, Access2003
【 VBAが使えるか .】 いいえ
【 VBAでの回答  】 可

現在フィールドに 基本給料 手当て があり源泉を求めたいのです。
給料2000〜2500は源泉2 2501〜2600は源泉3と範囲が決まっていて
給料を打ち込めば自動的にその範囲内の源泉を表示させたいのです。

源泉データをテーブルにしたのですが、クエリでどうしたらいいのか
さっぱり分からなくなってしまいました。
849名無しさん@そうだ選挙にいこう:2007/03/12(月) 17:10:10
源泉区分はテーブルで用意してある?テーブル構成は?
850名無しさん@そうだ選挙にいこう:2007/03/12(月) 18:29:13
【 システム環境  . 】 WindowsXP Pro, Access2000、2003
【 VBAが使えるか .】 6年前に一度簡単なものは作りました。C言語は習得済みでASP初心者です。
【 VBAでの回答  】 可
・やりたいこと
 社員データ、取引先データの2つのExcel(orCSV)ファイルのデータをそれぞれ
 フォームのボタン一発でAccessのテーブルに取得させる。

 1 社員データ取得
 2 取引先データ取得

 1、2をそれぞれボタンだと仮定して、ボタンが押されるとExcelファイル参照先
 選択画面を出してOKボタンで取得
 これを社員データ、取引先データ毎に一回ずつクリックしてもらう。

 といった流れでASP上で表示されるデータ更新を、フォームを使って、
 パソコン初心者が触れるような簡単なものを 作りたいのですが、
 簡単なサンプル等おいてあるサイトはないでしょうか?

 ttp://www.friendlysw.com/knowhow/Knowhow.asp さんのところに有る
 「CSVファイルをAccessのテーブルに自動的にインポートするサンプルデータベース
 Access 2000 (04/17/2001)」
 
 がかなり理想に近いのですが、多機能すぎてちょっと解析に時間が掛かりそうなのです。
 触ってもらうExcelファイルはデータ入力形式がDBのデザインのままなので、テーブルの
 整合性チェック等は必要がないので、とにかくシンプルなものを希望してます。
851名無しさん@そうだ選挙にいこう:2007/03/12(月) 19:52:37
>>850
解析っつうほど複雑じゃないぞ。
ImportCsvFile_FS読め。

つかSQL勉強してADOから逃げろ。
そしてレコードが無い時のシステム固有の反応に苦しめ。
852850:2007/03/12(月) 20:23:32
テーブル構成は

 以上  未満  源泉
 9300  9400  3
 9400  9500  6
で、以下ずら〜っと続きます。
853名無しさん@そうだ選挙にいこう:2007/03/12(月) 21:05:54
たぶん>>848
SELECT hoge.*, Nz(源泉区分.源泉, "ね〜よ") AS hage
FROM hoge LEFT JOIN 源泉区分 ON ((hoge.給料 >= 源泉区分.以上) AND (hoge.給料 < 源泉区分.未満))
854名無しさん@そうだ選挙にいこう:2007/03/12(月) 21:08:32
>>852
2つのテーブルを単純にJOIN(テーブルを追加して線で結ばない)して、その中から
WHERE ((源泉マスタ.以上<=給与テーブル.給与) AND (給与テーブル.給与<源泉マスタ.未満))
で絞りこむと出るよ。
855854:2007/03/12(月) 21:12:41
あ、>>853が正しい。
856853:2007/03/12(月) 21:21:11
やっていることは基本的に同じなんだけどね
直積、WHERE条件で外部結合に当たるものができるかを考えると?
857854:2007/03/12(月) 21:27:15
>>856
考え方を掴ませるためにあえて崩したんだよ。
もう一回社員マスタとLeftJoinすればいいんだ。
これならSQLビュー使わなくても突破できる。

…嘘ですすいませんでした。
858名無しさん@そうだ選挙にいこう:2007/03/12(月) 21:41:42
全然OKサー
>>856は興味を持った人へのキーワードとしてさいたまでです
859名無しさん@そうだ選挙にいこう:2007/03/12(月) 21:43:44
レコード数増えると遅くて使い物にならないんジャマイカ
無理に正規化せずに源泉額をイベントで記入しちゃった方が実用的ジャマイカ
源泉額は数年に一度程度変更されるし
860名無しさん@そうだ選挙にいこう:2007/03/12(月) 22:08:33
社員数10万人以上とかだと厳しくなってくるかもしれん。
まあ>>848がそういう企業のシステム担当かどうかは
推して知るべしなんだがw
861名無しさん@そうだ選挙にいこう:2007/03/12(月) 22:17:11
はい、そこで無理に正規化せずに桐で処理しましょう。
源泉徴収額表の変更にも対応できます。
862名無しさん@そうだ選挙にいこう:2007/03/13(火) 01:12:08
どなたか教えてくださいませ。

R25に掲載されている”大人の合コン力検定”のようなソフトを作成するように指名されてしまいました。
(問題ごとにいくつかの選択肢が用意されていて、選んだ選択肢ごとに点数が設定されていて、最終的にその合計の値で判定するというもの)

当初、EXCELにて作成しておりましたが、設問に写真を掲載する要求があり、もしACCESSを使用したら前述の内容を満たす写真付きのものを作成できるのではと考え、ここでの諸先輩方のご意見を伺いたくカキコさせていただきました。

自分はデータベース初心者なので誠にお恥ずかしい限りなのですが可能であるなら
1.どのように作成したらよいか
2.参考にすべき書籍
3.参考にすべきWebサイト
などをご教授くだいませ。

頼み事ばかりで申し訳ありません(>_<)
863名無しさん@そうだ選挙にいこう:2007/03/13(火) 01:15:35
Excelの方が写真はるの簡単じゃね?
864名無しさん@そうだ選挙にいこう:2007/03/13(火) 02:27:58
>>862
俺に頼めば作るよ。

>>863
設問が次々出てきて、写真入りの設問もあるなんて場合は、
Excelじゃやってたられないだろ。
865名無しさん@そうだ選挙にいこう:2007/03/13(火) 09:44:30
>>862

回答2:
『Excel VBAに恋をした』
ttp://www.amazon.co.jp/gp/product/4774122149/ref=olp_product_details/503-3587564-8816759?ie=UTF8&seller=

これでも読んどけ。
866名無しさん@そうだ選挙にいこう:2007/03/13(火) 11:32:26
フォームについての質問です。
直前に入力したデータを新規登録するレコードに引き継ぐ方法を教えてください。
OS:windows2000、ソフト:access2000です。
よろしくお願いします。
867名無しさん@そうだ選挙にいこう:2007/03/13(火) 13:16:33
Ctrl + 7 じゃダメなん?

Access に 直前に入力した なんていう概念ないから、そういうのは 桐 か Excel でやれば?
それとも、非連結テキストボックスとかに入力データ退避しとくとか

まあ、桐にしとけ
868名無しさん@そうだ選挙にいこう:2007/03/13(火) 15:32:48
なんかスマートな方法ないの?
869名無しさん@そうだ選挙にいこう:2007/03/13(火) 16:51:25
適当な変数を用意
元テキストボックスのアフターアップデイトイベントか何かでその変数に値を入れる
次テキストボックスのエンターイベントか何かで変数に入ってる値を入れる
870名無しさん@そうだ選挙にいこう:2007/03/13(火) 17:21:03
途中のレコード訂正したりしたら困るな
871名無しさん@そうだ選挙にいこう:2007/03/13(火) 17:47:26
たしかに困るな
>>869=俺 orz

とすると DLast("","")か
これはもっと困った事態が起こりそうな気g

872名無しさん@そうだ選挙にいこう:2007/03/13(火) 18:34:25
>>866
桐にしとけ、バコバコ入力できるど
873名無しさん@そうだ選挙にいこう:2007/03/13(火) 18:42:29
AfterInsertイベントで行を特定するキーを保持、キーがなければ全項目退避しといて
BeforeInsertイベントで全項目をコピー。

まあ桐のほうが圧倒的に簡単らしいが・・・
874名無しさん@そうだ選挙にいこう:2007/03/13(火) 22:54:34
BeforeInsert の時点でインサートするレコードが存在してるのか?
やってみてないけど
875862:2007/03/13(火) 23:08:44
返事遅れて申し訳ありません(^^ゞ 節約でまとめレスお許しください。

>>863
それがよくわからないのです...トホホ! 当方Excelで作成したものはVBAのユーザーフォームで以下のような記述を何種類か組み合わせです。

'●●の値を代入する

If OptionButton1.Value = True Then
Range("b5").Value = "-1"
ElseIf OptionButton2.Value = True Then
Range("b5").Value = "0"
ElseIf OptionButton3.Value = True Then
Range("b5").Value = "5"
Else
OptionButton1.Value = False
OptionButton2.Value = False
OptionButton3.Value = False

End If

このユーザーフォームの設問に写真を張り付けたいのですが、VBAのツールボックスにある”イメージ”でユーザーフォームに画像をつけたら”大きすぎます”と怒られて貼り付けられません...。
Accessならば可能なのではと考えて質問させていただいたのです。 Excelだと、どのようにすれば簡単にできるのが教えてくださいませ。

>>864
本当は頼みたいとおもいますが、当方貧乏でそれこそビール券10枚程度の謝礼しかできません。
ですので生意気とは思いますがヒントというかご指導だけでもなどと考えた次第でして...。

>>865
明日にでも本屋でチェックします! 情報提供に感謝いたします(^^ゞ
876名無しさん@そうだ選挙にいこう:2007/03/13(火) 23:25:43
>Excelだと、どのようにすれば簡単にできるのが教えてくださいませ。

・・・
877名無しさん@そうだ選挙にいこう:2007/03/14(水) 03:29:43
Access2000
ファイルインポートにてテーブルを新規作成する際、
1.インポートしたファイル名
2.インポート日時
を表示するフィールドを作成したいのですがどのようにしたら良いでしょうか。
878名無しさん@そうだ選挙にいこう:2007/03/14(水) 08:36:02
Access2007ではコマンドボタンへのショートカットキー割当てが出来なくなったのですか(>_<)
879名無しさん@そうだ選挙にいこう:2007/03/14(水) 12:22:24
>>877
VBAで読み込むしかないと思う。
880名無しさん@そうだ選挙にいこう:2007/03/14(水) 12:22:37
Access2007で一つのカラムに複数の値が入ったりするのって?誰か試した?
881名無しさん@そうだ選挙にいこう:2007/03/14(水) 12:23:54
最近どっかで試してる人のブログ読んだけど何処だか忘れた・・・・・orz
882名無しさん@そうだ選挙にいこう:2007/03/14(水) 12:33:12
>>875
ユーザーフォームに直接貼り付ける?

ユーザーフォームにImageコントロールを貼って、
それのpictureプロパティで写真のファイルをしたら?
883名無しさん@そうだ選挙にいこう:2007/03/14(水) 12:36:50
>>877
2007だとインポート操作を保存できるよ
884名無しさん@そうだ選挙にいこう:2007/03/14(水) 13:15:35
885865:2007/03/14(水) 13:21:22
>>862

いや、すんません。ごくごく初心者向けの本です。
そして875の文章から、862サンには全然必要のないものでした。

わりと
【 VBAが使えるか .】
でいいえと書く人もいたから紹介してみました。

まあ、幅広く情報を共有しようということで。
VBAとは何ぞや、という初心者の方にはオススメしますよ。
サクッと読めちゃいます。
886名無しさん@そうだ選挙にいこう:2007/03/14(水) 14:06:56
>>885
ネタにマジレスされて、慌ててフォローw
887名無しさん@そうだ選挙にいこう:2007/03/14(水) 14:07:28
>>884
なんで英語版やねん。
888862:2007/03/15(木) 00:27:24
>>882
ありがとうございます(^^ゞ
画像の貼り付けできました!
このスレでというのが皆様に申し訳ないのですが、Excelで何とかなりそうです。
(機能的に実際どうなのかは私にはまったく不明ですが)

ただ、今持っているOffice2007にAccessが付いているので、これを使ったほうがスマートなのかと素人考えで...すみませんでした。

でもこのままだと正に”宝の持ち腐れ”ですね...。

しばらく皆様のカキコを拝見させていただきますので、もしアドバイスがありましたらよろしくお願いいたします。
889862:2007/03/15(木) 00:31:03
連投お許しください

>>885
かえってお気を使わせて申し訳ありませんでした。
当方も参考書片手にやっと形にしてる程度の知識しか持っていないのです。

今後ともよろしくお願いいたします。
890名無しさん@そうだ選挙にいこう:2007/03/17(土) 12:47:30
tech:プログラム技術[レス削除]
http://qb5.2ch.net/test/read.cgi/saku/1031353962/292
292 名前:Nimura Takashi[] 投稿日:07/02/27(火) 09:14 HOST:p7128-ipbf201yosida.nagano.ocn.ne.jp<8080><3128><8000><1080>
削除対象アドレス:
http://pc10.2ch.net/test/read.cgi/tech/1162813293/346-347
削除理由・詳細・その他:
操作ミスで、会社名がわかるプログラムのソースコードをアップしてしまいました。
お願いです。早急に削除してください。
本当によろしくお願いいたします。
891名無しさん@そうだ選挙にいこう:2007/03/18(日) 00:10:06
SQLServerからインポートしてID列が追加されたデータを
もう一度SQLServerに戻したいのですが何か楽をする方法はないでしょうか?

現状では一列ずつ対応させたクエリを作っているのですが列数が100以上ある
データベースが数十個あるので作業量を減らす方法を模索しています
892名無しさん@そうだ選挙にいこう:2007/03/18(日) 12:05:12
>>891
たとえば、@tablenamefromに指定されたテーブルから列名を抜き出して、
@BangColname以外の列を@tablenametoに突っ込むクエリを書くクエリ。
(SQL鯖側でしか動かんのでアクセスからリンクテーブル貼らんと動かんが。)
これをストアドにして各テーブル毎の設定をどっかテーブルに置いてバッチで流す。

Access側でやるなら、確かADOは列名が取得できたはずなのでそれを同様に組み立てる。

Declare @tablenamefrom nvarchar(512),@tablenameto nvarchar(512),
@BangColname nvarchar(512);
Set @tablenamefrom = 'db1___tbl1';
Set @tablenameto = 'dummy';
Set @BangColname = 'key';
DECLARE @tmptable TABLE
( TableQ sysname, TableO sysname, TableName sysname,
ColumnName sysname, DataT smallint, TypeN sysname,
Prec int,Length int,Scale smallint,
Radix smallint, NULLABLE smallint,REMARKS varchar(254),
CULUMN_DEF nvarchar(4000),SQL_DT smallint,SQL_DS smallint,
COL int,OP int, ISNULLABLE varchar(254),SS_DT tinyint);

INSERT INTO @tmptable exec sp_columns @table_name = @tablenamefrom;
893続きだよん。:2007/03/18(日) 12:05:46
DECLARE @Cur Cursor,@CurrentColName nvarchar(512),@Str nvarchar(4000);
Set @Str = '';
Set @Cur = Cursor FOR SELECT Columnname From @tmptable;
Open @Cur;
Fetch Next From @Cur Into @CurrentColName;
While (@@FETCH_STATUS = 0)
BEGIN
if @CurrentColName <> @BangColname
BEGIN
Set @Str = @Str+','+@CurrentColName;
END
Fetch Next From @Cur Into @CurrentColName;
END
Close @Cur;
Deallocate @Cur;
if Len(@Str) > 1
BEGIN
Set @Str=RIGHT(@Str,Len(@Str)-1); /*最初1文字を消す。*/
END
Select ' INSERT INTO '+@tablenameto+' ( '+ @Str+' ) ' + ' SELECT ' +@Str+ ' FROM '+@tablenamefrom;
894名無しさん@そうだ選挙にいこう:2007/03/18(日) 21:12:14
【 システム環境  . 】 WindowsXPSP1, Access2000
【 VBAが使えるか .】 いいえ
【 VBAでの回答  】 可
【 検索キーワード 】 Csv 取り込み access

Access2000でCSVを取り込みたいです。
参照ボタンを押してCSVを選択。(テキストボックスに参照したCSVを表示させます。)
その後、取込ボタンを押して、予め決めておいた定義でCSVを取込む。

上記の方法を使わず取り込むことはできたのですが、上記の方法で取り込む方法が思いつきません。
何か方法はないでしょうか?
895名無しさん@そうだ選挙にいこう:2007/03/18(日) 23:50:47
>>894
お前>>850じゃねーか?basImportCsvFileの75行目から121行目読めよ(w
違ったら>>850参照。

Recordsetとかが判らんのなら、とりあえず汎用性とエラー処理を捨てて、
0.必要なら、挿入先テーブルの内容を綺麗サッパリ削除する(76行目)。
1.ファイルから1行読んで、ばらす。(81行目〜92行目。strFileNameがファイル名、avarBuffがバラした結果だ)
2.「INSERT INTO テーブル名(列名、列名…) Values ('値','値'…)」ってSQL文をVBで根性と泥縄ででっち上げる。
3.そいつをExecuteする(76行目みたいな感じ。)
4.1.に戻る(85行目、119〜120行目)。
以上を書けばとりあえず動く。がんばれ。
896名無しさん@そうだ選挙にいこう:2007/03/19(月) 00:56:16
間違いなく>>850だろ。
そして間違いなく>>895の内容など理解不能なわけで・・・
897名無しさん@そうだ選挙にいこう:2007/03/19(月) 08:15:57
ここって○投げほぼ許容してないし次スレからこれでいいんじゃない?

▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【 システム環境  . 】 Windows**, Access**
【 VBAでの回答  】 要・可・否
【 検索キーワード 】 Googleやヘルプでの検索キーワード
898名無しさん@そうだ選挙にいこう:2007/03/20(火) 10:01:29
マルチポストお疲れ様です>俺
Access使うことになったんだけど、どうやってこれリビジョン管理するの?
お奨めをおせーて。

899名無しさん@そうだ選挙にいこう:2007/03/20(火) 15:55:44
【 システム環境  . 】 WindowsXP, Access2003
【 VBAでの回答  】 可
【 検索キーワード 】 Access 印刷 プレビュー アイコン プレビュー内 レポート メニューバー

Accessのレポート表示時に、レポートウインドウ(最大化してないと仮定)の方に、
印刷のショートカットアイコンを表示することは出来ないのでしょうか?
Accessのメニューバーにはついてると思いますが、レポートの方につけたいので・・・。
900名無しさん@そうだ選挙にいこう:2007/03/20(火) 22:09:22
>>899
めんどくさがらずに
アクセスのメニューでしとけ
901名無しさん@そうだ選挙にいこう:2007/03/21(水) 00:27:19
>>899
そこまでのカスタマイズを望むなら選択肢は桐しかないよ。
902名無しさん@そうだ選挙にいこう:2007/03/21(水) 00:39:58
>>899
こだわりが強いなw
ググってみたがACCESSでは無理かも知れない
903名無しさん@そうだ選挙にいこう:2007/03/21(水) 07:10:48
>>899
フォームの中にレポートを表示じゃだめなのかね?
駄目なんだろうなぁ、、、
904名無しさん@そうだ選挙にいこう:2007/03/21(水) 08:38:15
>>899
素直に桐にしとけ
905名無しさん@そうだ選挙にいこう:2007/03/21(水) 13:14:48
>>899
正攻法の報告が無いね〜。
邪道技としては、API呼んでフックして強引に
ボタンが張り付いてるように見せかける事はできる気がする。

但し、その手間賃で有償帳票印刷コンポーネントを確実に買える。
906名無しさん@そうだ選挙にいこう:2007/03/22(木) 22:06:14
Vista Ult64 + ACCESS2007なんだけど
文字入力中に”TABキーを押すと予測候補を表示します”
ってポップしてそのメッセージが消えると入力中の文字が
変換できないんだけど
教えて
Word NOTEPADは問題ないんだけど

907名無しさん@そうだ選挙にいこう:2007/03/22(木) 23:30:47
>>905
有償帳票印刷コンポーネントのおすすめ
おしえて
908名無しさん@そうだ選挙にいこう:2007/03/23(金) 13:16:16
【 システム環境  . 】 WindowsXP, Access2000
【 VBAが使えるか .】 はい
【 VBAでの回答  】 可
【 検索キーワード 】 Access ファイル 容量 軽減 肥大
Accessにデータを取り込んだらインポート前のテキストデータに比べて
2倍以上の容量になってしまいました(110Mbyte>260Mbyte)
何か容量を削る策や設定、注意すべき点などは無いでしょうか?

データは200万件、すべて項目はテキストに設定、メモは使用していません
インデックスは20byteほどの英文字のみのフィールドにのみ設定
半角カナを使っているフィールドもありますが1箇所だけで長さも短いです
元データにインデックス領域とかレコードの情報が付加されると考えても
2倍以上になるのがちょっと納得出来てません、なにか容量を抑えるアイデアがあればお願いします
909名無しさん@そうだ選挙にいこう:2007/03/23(金) 13:18:55
フィールドサイズを弄れ
910908:2007/03/23(金) 13:39:43
>>909
内容の最大長から必要なサイズにまでは削っています
ほとんどが10〜20桁程度なデータです
911名無しさん@そうだ選挙にいこう:2007/03/23(金) 13:41:30
じゃ、しょうがねえだろ
それ以上削ると必要なデータ飛んじゃうんだろうから
912名無しさん@そうだ選挙にいこう:2007/03/23(金) 17:10:01
>>908

最適化してみるとか。
実は、テキストデータのほとんどは半角(1バイト)文字というオチだったり。
913名無しさん@そうだ選挙にいこう:2007/03/23(金) 20:02:57
windows2000SP4+access2003SP2(adp)+MSDE2000SP3

なにやら突然、単票フォームでの並べ替えに指定したID列の並び順が
1,2,51,52 … 1000,3,4, … 49,50
と、3-50 番目の ID が最後にくるようになってしまったのだけれど、
何でだろう… 結果が例えば60件だと、
… 59,60,3,4, … というようになってしまう。

 直前にやったことといえば、
(1)MDAC2.7 とそれにかかる修正プログラムの導入
(2)ビューの更新(ただし、問題のフォームでは呼び出していない)
 並び順はフォームのプロパティで指定したけどだめ。
レコードソースで指定するとDocmd.Openform でエラーがでるので不可。
 ID列は主キーではない。

なにかよい解決策、無いだろうか?
914名無しさん@そうだ選挙にいこう:2007/03/23(金) 20:15:22
>>907
VB.Net+ADO.Netになるんでちょっとアレだけど、
やはりメジャー所が無難ではないかと。無料で試せるし、追加ライセンス要らない。
ttp://www.grapecity.com/japan/support/database/P7_331.htm
印刷ボタン付いてるぞ(w
ttp://www.grapecity.com/japan/images/powertools/dotnet/activereports2/WinViewer.png

プログラムから逃げ回るとしたらこういう感じ(使ったこと無いけど)。
ttp://www.hitachi.co.jp/HAND/SOFTPAGES/7658.html
流石に高い。
915名無しさん@そうだ選挙にいこう:2007/03/23(金) 21:43:42
>>908
それ当然
916913:2007/03/23(金) 21:56:39
とりあえず解決しますた。フォームのレコードソースに ORDER BY ID とつけたら ID 順になりますた。
はじめは ORDER BY A.ID というように別名付きで書いていたからだめだったみたい。
917名無しさん@そうだ選挙にいこう:2007/03/23(金) 22:26:07
>>908
こういう話を聞くとACCESS2000のMDB内部は本当にUNICODEで
データ格納してるんだって実感できるな。
918名無しさん@そうだ選挙にいこう:2007/03/23(金) 22:32:25
何の為にフィールドサイズを設定するのかと小一時間
桐だとテキストフォールドは可変長だけどな
919名無しさん@そうだ選挙にいこう:2007/03/23(金) 22:39:56
918がどれに対するレスなのか知らんが
Accessのフィールドサイズは文字数で、
バイト数ではないよ。
920名無しさん@そうだ選挙にいこう:2007/03/24(土) 01:30:45
>>918
Accessも可変長で格納してます。一応、定義として最大文字数を設定する
礼儀と考えれば良いかと・・・。
921名無しさん@そうだ選挙にいこう:2007/03/24(土) 06:13:56
>>908
マルチユーザーによる同時アクセスが絶対に無い(バックエンドDBだったりしない)
のであれば、ツール-オプション-詳細タブの「レコードレベルでロックして開く」を
オフにしてから最適化してみる。

ちなみに、英文字のみであればUnicode圧縮(既定でオン)が効くので、単純に倍に
なったりはしないはず(オフであれば当然ASCII/SJISの倍)。

AccessのGUIから作成したテキスト型であれば、フィールドサイズを削っても、
>920 さんの指摘どおり、容量削減の観点からは無意味。
922名無しさん@そうだ選挙にいこう:2007/03/24(土) 09:03:27
アクセスのフィールドサイズってハッタリかよ藁
923名無しさん@そうだ選挙にいこう:2007/03/24(土) 09:36:48
>>922
設定した文字数制限ができるからハッタリまでは落ちぶれてないよ。
バイト数じゃなくなったので非常に使いづらいけど。
924908:2007/03/24(土) 09:56:05
>921
この回答を見たときに小躍りしながら試してみました。
「レコードレベルでロック」>すでにチェック入り
一度テキストに出力しレコード定義にUnicode圧縮を設定してから取り込み直し>ほとんど変わらない

>912さんのお察しの通り内容はほとんど1バイト英数文字です。
内部がUnicodeとは言えさすがに全部の文字に2バイトずつ割り当てないだろうと
思っていましたがどうやら甘かった様ですね・・・・。
925921:2007/03/24(土) 11:31:29
>>924
おはようございます。

> 「レコードレベルでロック」>すでにチェック入り

えーと、一応確認ですけど、チェック入りだったからチェックを
外して最適化した、という意味でおk?
926921:2007/03/24(土) 12:59:40
情報追加。
ttp://support.microsoft.com/kb/239527/ja
関係なかったらスマソ
927908:2007/03/26(月) 10:10:59
>925
焦ってて書き方がおかしかったですね
「レコードレベルでロックのチェックボックスを外すのはチェック済み」です
>>926を見る限りUnicode圧縮の設定のON/OFFで容量が変わるはずなのに
ほとんど変わらないのが気に掛かってます
ちょっと別の環境で同じ処理を試してみます
928908:2007/03/26(月) 16:57:24
Unicode圧縮有りでテーブルを再定義しでデータを追加し直ししてみましたが変わらず
MDBファイルをバイナリエディタで開いてみたんですがフィールド内容と思われるACSII文字列に
しっかり00が付加されてました(1バイトごとに)
圧縮かかってないですよね、これ
929908:2007/03/26(月) 19:51:18
Unicode圧縮がかからない点から調べて引っかかった情報
ttp://oshiete1.goo.ne.jp/kotaeru.php3?q=1767673
これはメモ型の話みたいですがテキスト型にも影響があるんでしょうか?
930名無しさん@そうだ選挙にいこう:2007/03/27(火) 23:50:16

ttp://www2.moug.net/bbs/acm_v/20070327000012.htm

>Excelで開くと決まった位置にデータが並んでいるので、セル位置として指定
>しやすいからという理由です。

>>わざわざExcelを使う必要はないと思います。

>逆にわざわざExcelを使わない必要はあるのでしょうか?

これってどうなん?
俺は素人さんがcsvの中身を確認できるように
Accessに取り込んでExcelにエクスポートしているが。
つうか、絶対開くなと言っているのだが。
931921:2007/03/28(水) 01:21:12
ちょっとAccess 2003でテストしてみた。

空のMDBを作成し、そこに英数字のみ32文字×1万行のCSV(ASCIIで保存)を
新規テーブルとしてインポート(当然テキスト型フィールド)。

1. インポート前のdb1.mdbのサイズ
  →96.0kb(98,308byte)
  インポート前のtest.csvのサイズ
  →332kb(340,000byte)

2. test.csvをインポート直後のdb1.mdbのサイズ
  →900kb(921,600byte)
  ※1フィールドのみ、インデックスなし、Unicode圧縮なし

3. 2の状態からそのまま最適化した直後のdb1.mdbのサイズ
  →908kb(929,792byte)
932921:2007/03/28(水) 01:23:20
4. 2の状態からUnicode圧縮を「はい」にして最適化した直後のdb1.mdbのサイズ
  →588kb(602,112byte)

5. 4の状態から[レコードレベルでロックして開く]をオフにして最適化した直後のdb1.mdbのサイズ
  →588KB(602,112byte)

結論。
このテストに限れば、[レコードレベルでロックして開く]は容量と関係なかった。
スマン。

単純に考えるとUnicode圧縮なしで元ファイルの2倍、有りだと1倍で済む
ような気がするかもしれないが、実際はUnicode圧縮なしで3倍近く、圧縮
ありでやっと約2倍に抑えられている模様。

なんかいろいろやってるんでしょう、としか自分には言えません。w

なお、バイナリエディタで確認してみたけど、Unicode圧縮後はちゃんと
ASCIIになってました(00なしの1バイトで格納されてた)。
933908:2007/03/28(水) 09:34:16
Unicode圧縮が出来るケースと出来ないケースがあることを確認しています
メモ型で4K以上は出来ないとありましたがそれ以外にも何かありそうです
まだ原因を絞り込めてないのですが20万件の同じデータ(並び順だけ違う)を
使用して出来た場合と出来なかった場合で今の時点発見している違いは

・ファイルが違う
 (片方は他テーブル有りで圧縮がかかっていなかったファイル
  成功したのはテーブル構造をコピーして単独のテーブルに切り分けしたファイル)
・インデックスの指定の有無(成功した方には無かった)
・空文字を許可しているかいないか(成功した方は許可、実際に空のデータ有り)

レコードでは無く項目を削るとUnicode圧縮が出来たのを確認したんで
徐々に調整しつつ項目を増やしていったのですが全部Unicode圧縮がかかるファイルと
かからないファイルが出来てしまいました
ファイル側で何か要因があるんでしょうか・・・
934名無しさん@そうだ選挙にいこう:2007/03/29(木) 00:57:47
アクセス97 にSR-2を当てタイのですが、
SR-2のダウンロード先ありますか?
935名無しさん@そうだ選挙にいこう:2007/03/29(木) 02:30:25
936名無しさん@そうだ選挙にいこう:2007/03/30(金) 02:21:32
あのー2002なんですが、win2000からXPに乗り換えたというか壊れたので入れ直したのですが、
既に登録済みですとなってユーザー登録ができません。
もうあきらめるしかないものなんですか?
それとも2000のaccessをアンインストールする時にMSになにかコードを送っているのですか?
もう2000はまともに起動しないのでアンインストールできません。
937名無しさん@そうだ選挙にいこう:2007/03/30(金) 02:25:32
あと、タイトルの桐にしとけってどういう意味ですか?キリ?
インストールできなくて気力ほぼゼロです・・・・日本語になってなくてすいません。
とにかく試用解除ができないんです。アドバイスお願いします。
938名無しさん@そうだ選挙にいこう:2007/03/30(金) 02:29:32
939名無しさん@そうだ選挙にいこう:2007/03/30(金) 09:27:19
>>937
桐にしとけ
940名無しさん@そうだ選挙にいこう:2007/03/30(金) 13:09:10
どもです、ACCESS2000+WINDOWS2000す。

テーブルと連結したフォームで、以下のよーなテキストボックスを持ったとき、
フッタ部に金額の合計を表示したいのです。
 ・単価:テーブル連結、入力可
 ・数量:テーブル連結、入力可
 ・金額:テーブル非連結、入力不可、コントロールソースに『=[単価]*[数量]』って設定

ポイントは、
カレント行を移動しなくても(=テーブルのデータが更新されなくても)
単価や数量からフォーカスが無くなったときに金額の合計を最新にしたいんす。

遍歴
 ・金額の合計のコントロールソースに『=[金額]』→カレント行の金額だけが表示。。
 ・金額の合計のコントロールソースに『=SUM([金額)]』→"#Error" だって。。
 ・金額の合計のコントロールソースに『=SUM([テーブル].[金額]*[テーブル].[数量])』だと、
   テーブルの行が更新されるまで変わんないのん。。

金額の合計のコントロールソースの設定だけで実現可能で初夏。
VBAで組まなきゃムリかなぁ、
単価と数量のフォーカスが無くなったときレコードセットぐりぐりループさせてさ。

よろしくです〜
941名無しさん@そうだ選挙にいこう:2007/03/30(金) 13:42:17
[Shift]+{Enter] 押してごらん
942名無しさん@そうだ選挙にいこう:2007/03/31(土) 08:45:42
>>940
桐だとそんなのデフォでできるよ
943名無しさん@そうだ選挙にいこう:2007/03/31(土) 12:07:03
>>937
桐 Ver.5 の事
ttp://www.fuku3.com/~habata/kiri5.htm

それ以降の桐は地雷なので注意
944名無しさん@そうだ選挙にいこう:2007/03/31(土) 13:24:46
桐V9最高だよーーー
945名無しさん@そうだ選挙にいこう:2007/03/31(土) 23:28:31
そういえば、Access97が出てから、丁度10年経過するんだなぁ・・・・・
今でも現役で使ってるのにw
946名無しさん@そうだ選挙にいこう:2007/04/01(日) 00:50:31
ジャストシステムのつかえ
947名無しさん@そうだ選挙にいこう:2007/04/01(日) 08:41:26
ACCESS2007で、フォームを使っている時にクエリやテーブルを使いたい場合は
どうやって選択したらいいの?
948947:2007/04/01(日) 10:14:31
自己解決スレ汚謝々
949940:2007/04/02(月) 00:30:18
>>941
ありがとね、でも使う人はタブで移動させるんだって。
やっぱレコードセットぐりぐり回すしかないんかなぁ。。

>>942
MS-DOSまでOSダウングレードしなあかんのん(笑)?

>>946
三四郎?

>>946、947
ガンバッタナ!
950名無しさん@そうだ選挙にいこう:2007/04/02(月) 20:44:10
>>949
何を解らねえ事言ってんだ、イベントでレコード更新掛けりゃ良いだろ
951名無しさん@そうだ選挙にいこう:2007/04/02(月) 23:10:11
何だかレコードセット回しは最後の手段とか勘違いしてるみたいだけど
レコード更新前の状態でレコードぐるぐる回しても合計欄に表示されてる
使えない合計しか得られないと思うんだが。

レコード更新後なら意図した合計は得られるけど、そもそもその時点なら
レコード回すまでもなく合計欄は意図する数字になってるはず。

よって>>950が普通に正解。
それ以外の脳内仕様にこだわるなら桐。
952名無しさん@そうだ選挙にいこう:2007/04/02(月) 23:48:07
うん、桐は項目訂正で更新されるよ
953名無しさん@そうだ選挙にいこう:2007/04/03(火) 00:57:27
勝手に更新が嫌なら、姑息だけど別の方法はあるな。
=SUM(〜)は非表示にして、カレントレコードの目的フィールド
の差異(現在の値とOldValueでいけるだろ)を求める。
これで、非連結フィールドに合計表示ができるだろ。VBA必須。
954940:2007/04/03(火) 13:14:42
>>950、951
うん、それ思った。結局更新しなアカンのよね、ありがとねん。

>>951、952
桐ってもしかしてカユイとこにしっかり手が届く?

>>953
ありがとね、OldValue使えるね。
悩んだけどVBAでゴリゴリ書くとミスるから、連結フィールドにするわ〜
『=SUM([単価]*[数量])』 ※ 単価と数量はテーブルの項目ね
955名無しさん@そうだ選挙にいこう:2007/04/03(火) 13:26:27
このスレで出る質問の殆どは、桐なら容易に実現できるよ
Access みたいにバグ多くないし
でも値段が高いよ
956名無しさん@そうだ選挙にいこう:2007/04/04(水) 00:36:14
おまえ等本当に「桐」みたいなマイナーソフト使ったことあるんか
957名無しさん@そうだ選挙にいこう:2007/04/04(水) 08:13:24
中小企業は桐、大企業はOracleでしょ、他は不要
958名無しさん@そうだ選挙にいこう:2007/04/04(水) 10:31:39
>>957
DB2は?
959名無しさん@そうだ選挙にいこう:2007/04/04(水) 10:35:20
桐よりFileMakerのが多いんじゃなかろうか
960名無しさん@そうだ選挙にいこう:2007/04/04(水) 10:39:24
FileMakerだったらAccessで良いじゃん
961名無しさん@そうだ選挙にいこう:2007/04/04(水) 11:59:57
>>958
優良企業
962名無しさん@そうだ選挙にいこう:2007/04/04(水) 12:56:51
>961
んじゃ、SQL Serverは?
963名無しさん@そうだ選挙にいこう:2007/04/04(水) 12:59:57
お布施企業
964名無しさん@そうだ選挙にいこう:2007/04/04(水) 19:35:56
はじめまして
ACCESSのテーブルへの追加クエリをマクロに入れて名前を
AutoExecで定義してWindowsのタスク起動で1時間おきに
自動起動させて自動的にデータを更新させようとしています。
しかし追加クエリが動くとき”データ○件追加しますか”等のメッセージ
ボックスがでてしまって自動的に処理を完了してくれません。
こういった場合はどうすればいいでしょうか。
誰かアドバイスください。
965名無しさん@そうだ選挙にいこう:2007/04/04(水) 19:51:49
>>964
マクロに「メッセージの設定」というのがあるから、それを「いいえ」に設定すれば出てこない
これをクエリを実行するアクションより前に設定すればいい
966名無しさん@そうだ選挙にいこう:2007/04/04(水) 20:12:55
こんにちわ

Accessを最近入門したところです。
テーブルデータからレポートを作っているんですが例えば数値が100以上であれば字を赤色に、
フォントをゴシック体に・・・のように動作させたいのですがどこを触ればいいんでしょうか?
967名無しさん@そうだ選挙にいこう:2007/04/04(水) 21:14:34
>>965
有難うございました
968名無しさん@そうだ選挙にいこう:2007/04/05(木) 00:52:15
>>966

ACC2000以降であれば、フォント以外は条件付き書式で対応できる。
どうしてもフォントも変えたいと言うのなら、
VBAでテキストボックスだかラベルだか知らんが、
2つのコントロールを重ねて、条件によって可視不可視を
切り替えてやればいい。

要は、ヴァージョンぐらい書けって言うことだ。
969名無しさん@そうだ選挙にいこう:2007/04/07(土) 06:16:27
970名無しさん@そうだ選挙にいこう:2007/04/07(土) 18:56:58
レポートを印刷しようとすると最初のページに空白ページ(背景オブジェクトのみ)が入ってしまいます。
2ページ目以降ではデータがきちんと入ります。
データもとのテーブルには頭からデータが入っています。

このくらいしか書けないのですが、何か思いつく間違いありますでしょうか?
XPの2007です。
971名無しさん@そうだ選挙にいこう:2007/04/07(土) 20:04:49
次スレ

ACCESS総合相談所 その17 【桐にしとけ】
http://pc11.2ch.net/test/read.cgi/bsoft/1175943813/
972名無しさん@そうだ選挙にいこう:2007/04/07(土) 21:26:01
>>971
おつんつん、スレ立てご苦労様です。
973名無しさん@そうだ選挙にいこう:2007/04/08(日) 10:07:12
>>970
ページヘッダーも含め、どこかのセクションの改ページ設定が
関係してるはず。・・・レポートの頭に改ページコントロールが
あったなんてオチじゃないだろうな。
974名無しさん@そうだ選挙にいこう:2007/04/08(日) 20:42:57
ume
975名無しさん@そうだ選挙にいこう:2007/04/09(月) 06:46:10
うめ
976名無しさん@そうだ選挙にいこう:2007/04/09(月) 11:48:09
梅&次スレに質問きてるど
977名無しさん@そうだ選挙にいこう:2007/04/09(月) 18:44:59
>>973
ご意見ありがとうございました。
しかし色々と見てみましたがどうやらそれではありませんでしたorz
根本的解決はあきらめ、作り直してみたら何とかなりました。
978名無しさん@そうだ選挙にいこう:2007/04/10(火) 01:38:58
ちゃんと使い切ろうよ、これ
979名無しさん@そうだ選挙にいこう:2007/04/10(火) 07:35:50
埋め
980名無しさん@そうだ選挙にいこう:2007/04/10(火) 10:58:24
【 システム環境  . 】 Windows98, Access2000
【 VBAが使えるか .】 いいえ
【 VBAでの回答  】 否
【 検索キーワード 】 ヘルプは役立たず、検索にはヒットせず。

アクセスのクエリにてSQL(ユニオンorデータ定義)で右側の空白を削除するSQLを書いているのですがうまくいきません。
Rtrimは詳しくないのですが select rtrim(from フィールド)from テーブルとしています。
間違いがあれば指摘して貰えれば助かります。

また、PHP+SQLであれば問題なく動いていたSQLですが 新型 という文字を消去する際に
select trim(’新型’ from フィールド)from テーブル
というSQLもうまく作動しません。助けてください。
981名無しさん@そうだ選挙にいこう:2007/04/10(火) 11:04:52
・Dlast関数が最後に入力されたデータを持ってこれなくなってしまいました。
 (バージョン変換に伴い)

【 システム環境  . 】 WindowsXp, Access2007(昔ファイル 97?,2?)
【 VBAでの回答  】 可
【 検索キーワード 】 Dlast、Dend

1年前に前任者からの業務を引き継ぎました。
前任者がAccess2、3、97などで作っていたデータベースがありました。
交代時に1つのマスターファイルが変換できずver2(97?)のまま。
他の4つの実働ファイルは2000へと変換されました。

近頃、ver2であるマスターファイルへのリンクを差し替えて2000形式に変更しました。
 (テーブルのみの構造のマスターファイルだったので
  空のデータベースを作り、デーブルを全てインポートしました。
  そして、この新規ファイル名を旧ファイル名と入れ替えました
  リンクの張替えではないですが、実質的には張替えと同じく動いています)

けれども一部不具合が。
入力フォームで、『日付明細』をDlastで既定値として取得し日付入力の簡略化を行っていました。
しかし、このverUpに伴い、Dlastが最終入力データを持ってこれなくなってしまいました。
何故か理解に苦しみます。
さらに、『明細番号』はオートナンバーなのですが、空いた欠番にも番号が入ってしまいます。

スレの寿命もわずかなところ長文にて失礼しますが、どなたかお願いします。
982980:2007/04/10(火) 11:18:06
事故解決しますた
983名無しさん@そうだ選挙にいこう:2007/04/10(火) 18:50:00
>>981
DLast → DMax
984名無しさん@そうだ選挙にいこう:2007/04/10(火) 19:25:30
ウメ
985名無しさん@そうだ選挙にいこう:2007/04/10(火) 20:58:45
MicrosoftACCESS2003パッケージ版は一つで複数のパソコンで使用可能でしょうか?
986名無しさん@そうだ選挙にいこう:2007/04/10(火) 21:57:34
>>981
ヘルプを読めば解るがDLastは最終入力データを持ってくる関数じゃないぞ。
今までは運が良かったがこれを機に仕様を考え直せ。
987名無しさん@そうだ選挙にいこう:2007/04/11(水) 09:54:22
Access2000で個人情報やアンケートなどの管理をしています。
質問ですが、抽出結果のレポートを、
PDFなどの単独データに変換(出力)する事って出来ますか?
先方が印刷物だけでなく、データの提出を求めて来たので、
この数日、かなり悩んでいます。
988名無しさん@そうだ選挙にいこう
別にAccessに限らないけど、アプリケーションの印刷出力は普通にPDFにできます。