質問される方へ
・OS、ACCESSのバージョンを明記してください
・質問内容は具体的に書いてください
テーブル/フォームの構成、クエリ、VBAの内容など差し支えない
範囲で詳しく書くと、早く回答が得られるかもしれません
(聞き返さなくても詳細が把握できる質問が望ましいです)
・事前にヘルプ等で調べられる範囲は調べてください
・下記テンプレートの使用を推奨します。
---------- ここから ----------
【. 目 的 】 (何がしたいのか必ず記入。)
【. 条 件 】 (使用OS、ACCESSのバージョン など)
■試したけどうまくいかなかった処理
【. 概 要 】 (どんな処理を試したかを説明)
【駄目な理由】 (動作状況など)
■これだけはやりました
【
>>1 を読んだ】 はい・いいえ (読まない人が多いので必ず目を通してください)
【Googleで調べた】 はい・いいえ (大概の疑問は検索することで解決します)
【検索キーワードは?】 (全て列挙してください)
---------- ここまで ----------
前スレッド - ACCESS総合相談所 その11
http://pc5.2ch.net/test/read.cgi/bsoft/1089812359/ 過去スレッド/関連リンクは
>>2 以降
2だぜ
3 :
名無しさん@そうだ選挙にいこう :05/01/29 15:22:31
4 :
名無しさん@そうだ選挙にいこう :05/01/31 20:33:51
05/01/29 15:22:31 から無いの。寂しい。 所で質問です。 前任者が作ったものなんですが。 フォームとレポートでデザイン及び新規作成が出来ないように 設定されているのですが、どうしたら可能になるのでしょうか、教えて下さい。 パージョンは2000です。
新規mdbにテーブルとクエリだけ吸い出せば、フォームレポートともに新規作成 できるけど、たぶんそういうことじゃないんだろうな。 すでにそこにあるフォームやレポートの裏側を覗いたり触ったりなんかもしたい、 ってことだとしたら、きっと無理
6 :
名無しさん@そうだ選挙にいこう :05/02/01 02:28:45
そうですか、ありがとうございました。 いや、別にただ単にレポートの修正をしたかっただけなんですけど で フォームもデザイン及び新規作成が出来ないように 設定(なんと表現するんですか → クリック出来ない状態) テーブルとクエリは出来るのです。
>>6 ACCESSのセキュリティー使ったことで解らないですが、
ユーザー権限が設定されているという可能性はありませんか?
8 :
名無しさん@そうだ選挙にいこう :05/02/01 06:25:08
>>7 6です。 ありがとうございます。
今日 会社へ行った時、調べてみます。
9 :
名無しさん@そうだ選挙にいこう :05/02/01 09:19:34
>>6 もしかしてmde形式のファイルにでは?
拡張子はmdbでも中身はmdeというのは結構あります。
mdeファイルの拡張子を単にmdbに変更しても正常に動かせるので
ユーザーに配布する際によく使います。
Opendatabaseで「Properties("MDE")」を見ればどちらの形式か分かります。
10 :
RAID小僧 :05/02/01 18:38:19
******************************** サーバーOS環境 : Windows 2000 Server データベース環境 : SQL Server 2000 ******************************** クライアントOS環境 : Windows2000 クライアントIF環境 : Access2002(XP) で作成したADPファイル ******************************** 上記で何の問題なく稼動していたAccess2002 と SQLServer2000 でのC/Sシステムがあります。 ところが、クライアントのOSを WindowsXP に変更し、システムを起動し、数分ほっておくとSQLServer と Access2002 との間の接続が切れてしまう症状に困っています。 再度、ログオンか再起動をしないと再接続しません。 どなたか、解決方法をご存知ありませんか? 何卒よろしくお願い致します。
11 :
名無しさん@そうだ選挙にいこう :05/02/01 20:48:42
>>9 6です。
いろいろありがとうございます。
今 帰りました。
感謝します。
12 :
名無しさん@そうだ選挙にいこう :05/02/01 23:36:02
OS : Windows2000 Access : Access2000 SQLの記述について。 成績管理をしています。生徒ID、氏名、科目ID、点数をまとめたいのですが、SQLでどのように書けばいいのでしょうか? 生徒マスター ID Name 科目マスター ID Name テストデータ ID SeitoID KamokuID1 Tensuu1 KamokuID2 Tensuu2 KamokuID3 Tensuu3 上記テーブルから 生徒名 科目名1 点数1 科目名2 点数2 科目名3 点数3 とならぶデータの一覧を作成したいのですが、 生徒名は表示できました。ただ、科目名と点数のところがどうしたらいいのかわかりません。 丸投げのような形で申し訳ありませんが、よろしくお願いします。
生徒マスター SeitoID SeitoNM (Nameというフィールド名は避けたほうが) 科目マスター KamokuID KamokuNM テストの種類マスター(たぶん何年何学期末とか中間とかを表すような) TestID TestNM テストデータ TestID SeitoID KamokuID Tensu データはこんなふうにためといたほうがいろんな意味で得じゃないかなと >>生徒名 科目名1 点数1 科目名2 点数2 科目名3 点数3 >>とならぶデータの一覧を作成したいのですが についてはまあ次回ってことで
>>13 ありがとうございます。
テーブルを変更したいのですが、私個人にその権限がありません。
申し訳ありません。
苦肉の策で、
Select Dlookup("Name","科目マスター","ID=" & テストデータ.KamokuID1) as 科目名1 from 以下略
とやってみたのですが、この使い方をすると処理速度は加速度的に遅くなりますよね。
実は科目が7つとか9つとかあるんですよ_| ̄|○
何か、やろうとしていることの内容が変に思えてきた 山田 英語 20 数学 80 国語 70 鈴木 英語 55 数学 60 国語 45 佐藤 英語 80 数学 60 国語 30 こういう表をつくりたいのかな? ↓みたいのではダメなの?(つかこれが普通だと思うんだけど) /////英語 数学 国語 山田 20 80 70 鈴木 55 60 45 佐藤 80 60 30 どっちにしろ、出来ないことはないんだけど
>>15 はい、ズバリその表を作りたいのです。
1人1行で科目と点数が並んでいる表ですね。
おかしいとか見難いとか、そういう意見が通るものでもないのです(T_T)
>>16 どうせ今晩は徹夜になりそうなんで、合間みてやってあげる
ところで↓、気が向いたら誰か教えてください
たとえば、フォームF_0からフォームF_1を開き、F_1上のラベルキャプションを
F_0のラベルキャプションから取る場合だったら、
docmd.openform "F_1"
forms!F_1!labelhoge.caption=me!labelhoge.caption
でいけますよね。
これ、レポートの場合はどういうタイミングで書けばいいんでしょう
たとえば
レポートヘッダに貼り付けたラベルのキャプションを、すぐ下に開いている
フォーム上のラベルキャプションから取るには
KamokuID1には必ず1が、KamokuID2には必ず2が入るってことなら↓ SELECT 生徒マスター.Name, Q1.Name, テストデータ.Tensu1, Q2.Name, テストデータ.Tensu2, Q3.Name, テストデータ.Tensu3, Q4.Name, テストデータ.Tensu4, Q5.Name, テストデータ.Tensu5, Q6.Name, テストデータ.Tensu6, Q7.Name, テストデータ.Tensu7, Q8.Name, テストデータ.Tensu8, Q9.Name, テストデータ.Tensu9, Q10.Name, テストデータ.Tensu10 FROM ((((((((((テストデータ LEFT JOIN [SELECT ID, Name FROM 科目マスター WHERE ID=1]. AS Q1 ON テストデータ.KamokuID1 = Q1.ID) LEFT JOIN [SELECT ID, Name FROM 科目マスター WHERE ID=2]. AS Q2 ON テストデータ.KamokuID2 = Q2.ID) LEFT JOIN [SELECT ID, Name FROM 科目マスター WHERE ID=3]. AS Q3 ON テストデータ.KamokuID3 = Q3.ID) LEFT JOIN [SELECT ID, Name FROM 科目マスター WHERE ID=4]. AS Q4 ON テストデータ.KamokuID4 = Q4.ID) LEFT JOIN [SELECT ID, Name FROM 科目マスター WHERE ID=5]. AS Q5 ON テストデータ.KamokuID5 = Q5.ID) LEFT JOIN [SELECT ID, Name FROM 科目マスター WHERE ID=6]. AS Q6 ON テストデータ.KamokuID6 = Q6.ID) LEFT JOIN [SELECT ID, Name FROM 科目マスター WHERE ID=7]. AS Q7 ON テストデータ.KamokuID7 = Q7.ID) LEFT JOIN [SELECT ID, Name FROM 科目マスター WHERE ID=8]. AS Q8 ON テストデータ.KamokuID8 = Q8.ID) LEFT JOIN [SELECT ID, Name FROM 科目マスター WHERE ID=9]. AS Q9 ON テストデータ.KamokuID9 = Q9.ID) LEFT JOIN [SELECT ID, Name FROM 科目マスター WHERE ID=10]. AS Q10 ON テストデータ.KamokuID10 = Q10.ID) INNER JOIN 生徒マスター ON テストデータ.SeitoID = 生徒マスター.ID;
KamokuID1だからといって、3が入ったらいけないわけでもなく、KamokuID2だからといって7が入ったらいけないというわけでもないなら↓ SELECT 生徒マスター.Name, 科目マスター.Name, テストデータ.Tensu1, 科目マスター_1.Name, テストデータ.Tensu2, 科目マスター_2.Name, テストデータ.Tensu3, 科目マスター_3.Name, テストデータ.Tensu4, 科目マスター_4.Name, テストデータ.Tensu5, 科目マスター_5.Name, テストデータ.Tensu6, 科目マスター_6.Name, テストデータ.Tensu7, 科目マスター_7.Name, テストデータ.Tensu8, 科目マスター_8.Name, テストデータ.Tensu9, 科目マスター_9.Name, テストデータ.Tensu10 FROM (((((((((科目マスター RIGHT JOIN (テストデータ INNER JOIN 生徒マスター ON テストデータ.ID = 生徒マスター.ID) ON 科目マスター.ID = テストデータ.KamokuID1) LEFT JOIN 科目マスター AS 科目マスター_1 ON テストデータ.KamokuID2 = 科目マスター_1.ID) LEFT JOIN 科目マスター AS 科目マスター_2 ON テストデータ.KamokuID3 = 科目マスター_2.ID) LEFT JOIN 科目マスター AS 科目マスター_3 ON テストデータ.KamokuID4 = 科目マスター_3.ID) LEFT JOIN 科目マスター AS 科目マスター_4 ON テストデータ.KamokuID5 = 科目マスター_4.ID) LEFT JOIN 科目マスター AS 科目マスター_5 ON テストデータ.KamokuID6 = 科目マスター_5.ID) LEFT JOIN 科目マスター AS 科目マスター_6 ON テストデータ.KamokuID7 = 科目マスター_6.ID) LEFT JOIN 科目マスター AS 科目マスター_7 ON テストデータ.KamokuID8 = 科目マスター_7.ID) LEFT JOIN 科目マスター AS 科目マスター_8 ON テストデータ.KamokuID9 = 科目マスター_8.ID) LEFT JOIN 科目マスター AS 科目マスター_9 ON テストデータ.KamokuID10 = 科目マスター_9.ID;
>>19 ありがとうございました!
Right Join と Left Join の使い方が肝心だったんですね。
実のところ、矢印をあっちに変えこっちに変え、色々試していたのです。
しっかり理解するよう、これからも精進します。
21 :
名無しさん@そうだ選挙にいこう :05/02/03 04:51:04
OS : Windows XP HOME Access : Access2003 SQLの記述についての質問です ビルドで作った項目を、集計関数で最大値を求めたいのですが 構文エラーばかり出てしまいます (売り上げ合計値が最高値のものを、商品別に求めるという問題をしています。) まず、ビルドで 商品台帳!価格*売上台帳!販売個数 AS 売り上げ合計値 を作りました。これの最大値(MAX)を求めたいのです。 最初はMAX(商品台帳!価格*売上台帳!販売個数 AS 売り上げ合計) かと考えていたのですが・・・どうにも前に進めません。 もしよろしければ、ご指導お願いします。
22 :
名無しさん@そうだ選挙にいこう :05/02/03 09:21:50
Accessてファイルサイズ1Gまでじゃないですか。毎日レコード追加してくと、すぐその大きさになるわけですけど、これて皆さんどうしてるんですか?
23 :
名無しさん@そうだ選挙にいこう :05/02/03 10:41:34
>>21 SELECT 商品コード, 商品名, MAX([価格]*[販売個数]) AS 売上額最大
FROM 商品台帳
GROUP BY 商品コード, 商品名
>>22 SQL Serverに移行する
24 :
名無しさん@そうだ選挙にいこう :05/02/03 16:22:37
レコードセットやコネクションなんかで使い終わったらcloseしますが、 1つのプロシージャ内で何度も開け閉めするようなコードでなく 開く→編集→保存 で完結するような場合、closeしなかったら何か不都合はあるんでしょうか? いろいろ見て回ったのですが、closeする理由として、 closeしないと気持ち悪いっていうのが多かったので・・・。 めんどくさがらず閉じろって言われればそれまでなんですがw レコードセットはcloseしますが、コネクションは 閉じたり閉じなかったりすることが多いです。 みなさんはちゃんと閉じてますか?
25 :
名無しさん@そうだ選挙にいこう :05/02/03 18:09:44
22
>>23 いや、SQLサーバーでも同じ話じゃないですか、、、
少しずつテキストファイルかなんかにバックアップしていくって感じ
でしょうか?何か便利な方法あります?
26 :
名無しさん@そうだ選挙にいこう :05/02/04 10:51:40
>>24 やっぱり何らかの形でリソースを無駄遣いするんじゃないか?
接続先が最大接続数を制限している場合もあるし。
大きなシステムではなくて、わかってやってるんだったら
少々閉じなくても大丈夫だと思うけど
個人的には、openしたらcloseするのは
for〜nextとかfunction〜end functionなんかと同じ感覚だなあ
27 :
名無しさん@そうだ選挙にいこう :05/02/04 11:49:01
Access2000のレポートについて教えてください。 テーブルAをレコードソースにしてレポートを開きました。 テキストボックスにテーブルAのあるフィールド(コード)をキーに テーブルB(名前とコード)の名前を表示させたいのですが どうすればよいでしょうか。 テキストボックスは2箇所あり、それぞれコードを持っていて テーブルBの名前を表示させたいのです。
28 :
名無しさん@そうだ選挙にいこう :05/02/04 12:04:54
新しくクエリ作ってそれをレコードソースにすればいんじゃね? もしくはサブレポート作ればいいんじゃね?そゆ意味じゃなくて?VBA使って?
慣れてないものですみません。
>>28 >新しくクエリ作ってそれをレコードソースにすればいんじゃね?
テキストボックスのコントロールソースではなく、レコードソースでしょうか。
テキストボックスのコントロールソースに以下の文を書くと
[サブクエリの指定が不正です。
サブクエリはカッコで囲んで指定してください。]
と表示されます。
=SELECT 名前 FROM テーブルB WHERE コード=テーブルAのコード;
>もしくはサブレポート作ればいいんじゃね?
サブレポートを調べてみます。
30 :
名無しさん@そうだ選挙にいこう :05/02/04 13:07:11
Access2003ですが データベースにかけたパスワードを思い出すソフトが 以前こちらで紹介されていたと思うのですが 何度ググっても出てきません。うう・・なんでだろう?? シェアウェアのAdvanced Access Password Recovery以外で 何だったでしょうか??
31 :
名無しさん@そうだ選挙にいこう :05/02/04 13:28:06
これはVBAだた。ごめん。
>31 サンクス、 VBAだそうだけどこれはこれでもらっときます。 引き続き、Accessのほうもお願いします データベース開けなくて仕事が滞ってしまって。。。orz
35 :
名無しさん@そうだ選挙にいこう :05/02/05 10:10:05
次のようなテーブルがあります 1 東京 2 千葉 3 山形 4 東京 5 広島 6 東京 7 山形 8 千葉 9 千葉 10 東京 上記テーブルの回数の多いもの順に、コンボボックスで 選択出来るようにしたいのですが、どんな技を使えば 良いでしょうか? コンボで表示例 東京 千葉 山形 広島 お願いします。
SELECT 都道府県名 FROM 次のようなテーブル GROUP BY 都道府県名 ORDER BY count(*) desc
37 :
名無しさん@そうだ選挙にいこう :05/02/05 10:43:51
回数て何の回数?テーブルに回数持たせるフィールド追加して、その順番に 並べるようにすればいいだけじゃないの?
>>35 ルックアップの値集合ソースを
SELECT テーブル名.県名
FROM テーブル名
GROUP BY テーブル名.県名
ORDER BY Count(テーブル名.県名) DESC;
にしちゃえばいいんでね?
35です 36-39サンありがと!感謝します。
41 :
名無しさん@そうだ選挙にいこう :05/02/09 00:10:40
画像がいっぱい放り込まれているフォルダがあるとして、 その画像ファイルの属性をテーブルに取り込むにはどうしたらいいんでしょう C:\MyFiles\ひろみ.jpg 324166byte 2005/01/31 C:\MyFiles\あすか.jpg 354098byte 2004/12/02 C:\MyFiles\みちる.jpg 324166byte 2005/02/10 ・・・ テーブルに取り込む方法というより、何というか、データ取得の手順です。 ファイルの命名や作成日時に何か規則性があるわけでもないし。 たとえばテーブル中のデータだったら、まずMoveFirstしてデータ取りながらMoveNextして EOFまでいけばいいわけですけど、ファルダにただごちゃっと放り込まれたファイルってのは、 どういう順番で事を進めていいのかすらわかりません。
すみません 質問はなかったことにしてください ほぼ自己解決(たぶん) 以下のWSHでどうにかいけそうです Dim folderPath, fs, fl, fc, sf On Error Resume Next folderPath = "フォルダパス" Set fs = CreateObject("scripting.FileSystemObject") Set fl = fs.GetFolder(folderPath) Set fc = fl.SubFolders For Each sf In fc 属性いろいろ Next
43 :
名無しさん@そうだ選挙にいこう :05/02/09 04:31:12
こんな、97と2003など、バージョンが違えばまったく使い物にならなくなる糞DBソフトは 肥溜めにでも投げ捨ててしまいたいのですが、もっとマシなDBソフトはありませんか?
45 :
名無しさん@そうだ選挙にいこう :05/02/09 10:21:29
46 :
名無しさん@そうだ選挙にいこう :05/02/10 11:31:55
>>35 から
>>40 あたりを参考にして、私なりに使ってみようと試したのですが、
出来ませんでしたが、方法はありそうなので質問させてください。
T_顧客マスタに、A商事、B商事・・・J商事まで、10社登録してあるとします。
T_注文データより、注文回数の多い会社をコンボの上位に表示させようと思いま
したが、35〜40を参考に作成すると、注文が1回も無い会社が表示されません
(あたり前ですが)
それを、注文回数の多い会社順に並べ、その下に注文0回の会社を並べたい場合
どうすればよろしいでしょう?
いきなり顧客に話が変わってるけど面倒だから県名のままで。 SELECT 県名マスタ.県名 FROM 次のようなテーブル RIGHT JOIN 県名マスタ ON 次のようなテーブル.県名 = 県名マスタ.県名 GROUP BY 県名マスタ.県名 ORDER BY Count(テーブル名.県名) DESC; これでいけるんじゃないかな。 次のようなテーブルのフィールドは県名じゃなくても良いんだけど 県名マスタ.県名 次のようなテーブル.県名 イバァァァラギィィィ イバァァァラギィィィ 愛知 愛知 大阪 大阪 大阪 大阪 名古屋 (Null) 青森 (Null) 新潟 (Null) みたいなテーブルにして次のようなテーブルの方をカウントすれば出てない県名は0になる。
48 :
名無しさん@そうだ選挙にいこう :05/02/10 13:39:32
住所入力支援の住所ってバージョンアップできないんですか? 市町村合併とかで古い住所が出てくるんですが・・・。
49 :
名無しさん@そうだ選挙にいこう :05/02/10 16:49:15
50 :
名無しさん@そうだ選挙にいこう :05/02/10 17:10:01
こんにちわ 固定長のテキストデータで作られた受注データを取り込みたいのですが テキストデータがマルチレイアウト?になってまして・・・・ イメージとしては下のようなテキストデータになってます。 FHhogehoge Hhogehoge Bhogehoge Bhogehoge Thogehoge H B B B T 以下続く H・B・Tの構成で1枚の伝票のデータになっているのですが それぞれ、レイアウトが異なってます。 これをうまく取り込んで1枚の伝票としてテーブルで管理したいのです OS:WinXP SP1 Access2003 是非、ご教授ください。
38さんありがとうございます 参考にしながら作ってみました、上手に出来たと思いましたら 回数の1回が0回と同じになってしまい、2回〜が上位に表示 されるようです。 私の間違いだと思いますので、もう少しがんばってみます。
53 :
名無しさん@そうだ選挙にいこう :05/02/10 17:28:17
>>50 よく分からないのだが、、、多分書き込みの際に、スペースが消えて、ずれてない?
全角スペースいれてくれ。
>46 説明不足でごめんなさい。 受注データとして固定長のテキストデータがあるのですが 行毎に取り込むべき桁(レイアウト)が違っているために普通に固定長インポートすると 桁ずれが起こってしまいデータとして利用できないわけです。 しかも、複数の行で1枚の伝票データとして扱われるわけで・・・・ 1枚の伝票を構成するための識別子がテキストデータの行の先頭にあって ---例--- FH(テキストデータの先頭に1つだけある) H・・・・・・hogehoge(伝票番号や得意先名等の情報のデータ) L・・・・・・hogehoge(商品の明細行) L・・・・・・hogehoge(商品の明細行) L・・・・・・hogehoge(商品の明細行) T・・・・・・hogehoge(伝票の金額合計等の情報のデータ) H・・・・・・hogehoge(伝票番号や得意先名等の情報のデータ) L・・・・・・hogehoge(商品の明細行) L・・・・・・hogehoge(商品の明細行) T・・・・・・hogehoge(伝票の金額合計等の情報のデータ) ・ ---以上H/L/Tの繰り返し--- つまり、伝票として"H"から始まって"L"のデータをとりつつ"T"までを一区切りの伝票として テーブルに取り込みたいわけです。 "H""L""T"にその伝票のユニークNoがあれば識別子毎にインポートしてクエリで1つの伝票に出来そうですが・・・ それがないので(´(・)`)クマッタ・・ まだまだ説明不足だと思いますがお願いします。
>>50 1. インポートするテーブルのケツにオートナンバー型(主キー)のフィールドと
数値型のフィールド(データの塊を識別するため)を作っておく。
2. VBで"T"が現れると加算するようなコードを書き、
それを数値型のフィールドに書き込む
なんて感じでテーブルを作ってしまえば?
インポートするテーブルのフィールドが多い分には、
特に問題はないと思います。
56 :
名無しさん@そうだ選挙にいこう :05/02/11 02:03:57
住所編集をするのに良い方法ってないですか? 「愛知県名古屋市3−9−20」と入力されている場合 「愛知県名古屋市,3−9−20」と言う風に数字の前で区切る とかスペースの前で区切るなんて出来ないでしょうか?
>55 ありがとうございます。 なんとか理解できました ですが2の部分のコードをどうやって書こうかorz 良い例がありましたらご教授下さい あと、HとLとTはそれぞれ桁のレイアウトが違うのですくなくとも3つのテーブルにリンクさせないと いけないですよね!?
>>57 各行が255バイトを超えないならば、ひとつのフィールドで取り込んでしまうのも手。
特に計算とか必要もなさそうなので、クエリーとかレポートとかで
Left・Mid・Right関数など使って文字列を切り分けても良いかも。
テーブルの構造が決まったら、コードを載せます。
(Hが現れると伝票番号を書き込むというもの手か…)
>58 ありがとうございます。 各行は128バイトでおさまります。 たしかに計算等の必要も特に発生しないと思われます。 それでは一度、ひとつのフィールドに行毎取り込み そこから、H・L・Tを判断してそれぞれのテーブルに分けていく方がいいですか?
【. 目 的 】 機器のリスト一覧に「個別コード」という外部キーのフィールドが012-3456の形でありますが、
このコードの左3桁012で別のテーブルを指定し、右4桁3456がそのテーブル内のIDとなっています。別テーブル
のフィールド内容、数は機器により異なります。
これを一つのフォームで表示、選択できるようにしたいと思っています。
具体的には、ある機器を選ぶとそれに応じたフィールド名称とその詳細情報 が表示されるviewerとしての機能。
また、機器に情報を登録できるように、それら詳細情報を選択できる機能をつけようとしています。
【. 条 件 】 OS:winXP personal, access2000
■試したけどうまくいかなかった処理
外部キー012-3456のコードをleft3桁とright4桁に分離して、別テーブルのフィールド名称を
For C = 0 To rst.Fields.Count - 1
フィールド名称 = rst.Fields.Item(C).Name
Me.機器情報.RowSource = "フィールド名称"
Next
として取得し、別テーブルの詳細情報はSQL文で取得できましたが、これをリストボックス
に表示しようとしたところ、行き詰ってしまいました。ご教授よろしくお願いします。
■これだけはやりました
【
>>1 を読んだ】 はい
【Googleで調べた】 はい
【検索キーワードは?】 rowsource リストボックス
ControlSource リストボックス
>>59 その方が簡単だと思いますよ。
あと、255バイトじゃなくて255文字の間違いだった(全角・半角問わず)。
データ溜め込んでいくつもりなら、最初に言った方法では駄目ですね。
データの塊を識別するためのフィールドには"H"が現れると伝票番号を書き込んでいく方が良さそう。
ただし一意性は高いけど、絶対というわけではないので
さらにデータ取込日も加えれば、重複する可能性は皆無でしょう。
それに伴い、フィールドはテキスト型にするべきですね。
setfocusでフォームヘッダーから帳票タイプのテキストボックスへフォーカス移動させているんですが、 一番上のレコードに移動してしまいます。一番下のレコードに移動させる方法はないでしょうか?
DoCmd.GoToRecord , , acNewRec
作業用PC;ソフトAccess2002SP3 OSwindowsXPPro メモリ128MB CPU1133MHz サーバー;ソフトSQLバージョン8.0 OS;windowsserver2000 この環境で鯖のSQLから引っ張ってきたデータを作業用PCのAccessでレポートとして抽出し、 そのレポートをSnapShot形式でエクスポートすると9割の確立でAccessが応答なしになってしまいます。 違う作業用PCでも確認したんですが同じようにとまってしまいました。 作業毎に応答なしになってしまい作業効率が非常に悪いです。 よい改善方法はないでしょうか?
環境を再現できんからなんとも言えんが メモリーが足んないじゃない?
>>65 一応使ってるパソコンは会社のあるIBMのシンクパッドなんですが、
同じ環境にあるシンクパッドでメモリが256MBあるやつと
シンクパッドではないけど512MBあるやつでも試してみたんですが
両方だめでしたorz
フィールドのIME入力モードを半角カタカナにすると、別のフィールドに移動しても半角カタカナのままで 激しく不便なんですが、これをなんとかする方法はないでしょうか? IME入力モード「オン」だと「半角カタカナ」の方が優先されて設定残るようです。 環境は Access2002 win2k ATOK17 です。 MS-IMEだと元に戻るんでしょうか……?
68 :
名無しさん@そうだ選挙にいこう :05/02/14 20:09:45
教えて下さい。 URL及びメールで、 テキストボックスで、ハイパーリンクで URLは飛んで、接続されるのですが、 メールはどのようにすると接続されるのでしょうか。 Outelook Expressを先に開いておけば、自然と、宛先に 入るのですか、教えて下さい。入らないのです。
前に伺った方法ではちょっと僕の理解度を超えていたのでorz 再度質問です。 前回の問題点と同じなのですが、今回は一度固定長のテキストを1行につき 1フィールドに取り込み、mid関数を使い識別できる部分を取り出します。 ↑伝票の頭を示す"H"と伝票明細行を示す"L" そして伝票の終わりをしめす"T"です。 イメージとしては 種別 システム伝番 H 1 L 1 L 1 L 1 T 1 H 2 L 2 L 2 T 2 H 3 ・ ・ と続く内容で、"H"が表示されたらシステム伝番と名づけてそこに数値が加算されるように できないでしょうか? 以上のイメージです よろしくお願いします。
70 :
名無しさん@そうだ選挙にいこう :05/02/15 16:23:34
すいません。只今ACCESS学習中で猿同然な質問とは思うのですが・・・ 複数のパラメータをAND条件ではなくてOR条件としてデータ抽出することは 可能でしょうか? OS:Windows2000、ACCESSのバージョン:2000です。 顧客マスタテーブルに 顧客ID、顧客名カナ、顧客名漢字、受注日・・・等があり、 例えば、「IDは分からないけど漢字は分かる」とか、 「何もわからないけど何月何日に受注のあった人」とか、限られた情報を 抽出条件にしたいのです。
72 :
名無しさん@そうだ選挙にいこう :05/02/15 17:26:30
>>71 できるけど、、、検索条件の入力はどうするつもり?あとVBA使う?
>>72 え?VBAが必要になるんですか?
ちっと私には荷が重い・・・
ダイアログボックスにズラーっと入力欄が並んでるイメージだったんですが・・・。
頭悪い回答で申し訳ないが、それぞれのフィールドの抽出条件を Like "*" & [パラメータ] & "*" にして、Null値の時は全部抽出にしちゃえばいいんでないの?
>>74 ありがとうございます。試してみました。
おかげさまでLike"*"&[顧客名カナを入力]&"*"で結果としての目的、
判っている情報から抽出することは達成しました。
・・・しかし、
>>72 氏のご指摘はこれのことでしょう。一つずつパラメータ
聞いてきやがる・・・orz
76 :
名無しさん@そうだ選挙にいこう :05/02/15 20:58:54
>>75 そそっ。全部のパラメータ聞かれるので、フォーム作って、
検索条件入れるテキストボックスを各フィールドごとに作って、
like "*" & Forms!フォームの名前!テキストボックスの名前 & "*"
とか、条件に入れれば良いです。
でこれだと、正直検索に時間がかかると思うので、何も条件が入って
いない部分は検索しないようにしたり、先頭一致、後方一致検索など
選べるようにしたりするといいんじゃないかなぁと。その場合はVBA
が必要なんじゃないかなと。そういうわけです。
>>77 ありがとうございます。VBAもちょっと調べてみますが、おそらく俺には
無理ぽ。できればカコイイのですが・・・。
検索メニューを豊富に作って(w)、後は運用で乗り切ろうかと思います。
>>69 難しいといっても、制御文なんてDo〜Until分と
If文くらいしか使いませんよ。
せいぜい、30ステップぐらいじゃない?
80 :
名無しさん@そうだ選挙にいこう :05/02/16 01:21:33
【. 目 的 】 レコードの再抽出がしたい
【. 条 件 】 win2000,access97
【. 概 要 】
Set rs=db.openrecordset( _
"SELECT *" _
& " FROM table" _
& " WHERE [フィールド1]=" & [条件1])
で、だした rs に更に[フィールド2]=[条件2]をかけてみたいのです。
例:rs で、[条件2]=nullでなければ、抽出する。
初心者ですいませんが、よろしくお願いします。
【
>>1 を読んだ】 はい
【Googleで調べた】 はい
【検索キーワードは?】 access、vba、レコード、再抽出
>>80 Set rs=db.openrecordset( "SELECT * FROM table WHERE [フィールド1]=" & [条件1],dbOpenDynaset)
rs.Filter = "[フィールド2]=]=[条件2]"
Set rs =rs.OpenRecordset
If .EOF And .BOF Then
Msgbox "ないよ"
Else
Msgbox "あるよ"
End If
以下略
あちゃ... > rs.Filter = "[フィールド2]=]=[条件2]" 正 rs.Filter = "[フィールド2]=[条件2]" > If .EOF And .BOF Then 正 If rs.EOF And rs.BOF Then
Access2002で、クエリの抽出条件に [Forms]![フォームB]![テキスト1(別のテーブルと連結している)] と入れてレコードの絞り込みをしていたのですが、 このフォームBをフォームAのサブフォームしてからエラーが出るようになってしまいました。 サブフォームとして、フォームAからBを開いている時は、どのような指定の仕方をすればいいのでしょうか? ■具体例■ フォームA(単票) 氏名 住所 年齢その他 フォームB(帳票・サブ) Aの申込商品(テキスト1) 値段 個数 受注番号 〃 〃 〃 〃 フォームフッター [商品毎の番号の最大値](←絞り込みされた結果) (=Dlookup("最大値","クエリ名")) ↑をフォームBだけでやるとエラーは出ずに使えます。
自己(?)解決。 [Forms]![フォームA]![フォームB]![テキスト1(別のテーブルと連結している)] でいけました。
85 :
名無しさん@そうだ選挙にいこう :05/02/16 20:11:38
Accessで複数の列を一気に挿入する方法ってどうやるよ?
86 :
名無しさん@そうだ選挙にいこう :05/02/16 21:45:22
>>85 よく分からんが普通に挿入できるんじゃね?
87 :
名無しさん@そうだ選挙にいこう :05/02/16 22:13:36
挿入-列の挿入 では1列ずつしか挿入できないけど
88 :
名無しさん@そうだ選挙にいこう :05/02/16 22:14:35
コピーも複数セルを選択して貼り付けても1つのセルにしか貼り付かないんだが どうやったら複数セルに貼り付けできるよ?
89 :
名無しさん@そうだ選挙にいこう :05/02/16 23:32:39
SQLを勉強する
>>69 フォームでコマンドボタンを作ってからプロパティーで
「イベント」タブの「クリック時」を選択。ちなみにADOです。
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim i As Integer
Set cn = CurrentProject.Connection
rs.Open "テーブル名", cn, adOpenKeyset, adLockOptimistic
i = 0
Do Until rs.EOF
If Left(rs!データが入っているフィールド名, 1) = "H" Then
i = i + 1
End If
rs!システム伝番 = i
rs.Update
rs.MoveNext
Loop
rs.Close: Set rs = Nothing
cn.Close: Set cn = Nothing
追記 あと、絶対オートナンバー型のフィールドが必要だと思いますよ。 そうじゃないと誰かがインポートしたテーブル内を並べ替え、 且つ、保存してしまったら元に戻すの大変だよ。 つまり、オートナンバー型のフィールドでデータの取り込み順を 保証させるのです。 追記型(データを溜め込んでいく)にしたいのなら 一言いってくれればまたコード載せます。
92 :
名無しさん@そうだ選挙にいこう :05/02/17 22:45:12
>>88 ちょっと待て!スレはここでいいのか?Excelスレじゃねーぞここ。
[日付] [数] のフィールドがあって、月初めから各日にちごとの累計をクエリで出したいと考えています。 DSum("[数]","テーブル名","日付<=" & [日付]) を試してみたんですが、エラーが出てしまいます。 [日付]を数値型に変えると累計出してくれるんですが、それでは意味もなく……。へるぷみー。
>>94 DSum("[数]","テーブル名","Clng(日付)<=" & CLng([日付]))
でどう?
質問させてください。 テーブルに最大数と最小数というフィールドがあり、1つのレコードの中で、 最小数は最大数よりも小さくするという入力規則を設定したいのですが、 最小数の入力規則に < [最大数] で上手くいきません。 助言お願いします。
>>97 入力は、テーブル相手に直にやるつもりなのかな
なんかそんなふうに読めるけど。テーブルだけ相手にしてたら、やりたいことはほとんど出来ないよ。
(逆にクエリとフォーム使えば、やりたいことはたぶん全部できる)
そのテーブルを基にフォームをつくって。ウィザードでいいからさ。
で、最小値フィールドのプロパティ→イベント→更新後処理→イベントプロシージャ
3点ボタンクリックしてコード画面出したら、以下をコピペ
private sub 最小値_afterupdate()
if [最小値]>=[最大値] then
msgbox "値デカすぎ",vbokonly,"入力やり直し"
[最小値]=null
exit sub
end if
end sub
すいません、Access2000のレポートについて教えてください 日付 顧客 担当 ------------------------- 2005/02/01 海山商事 石塚 2005/02/02 海山商事 十勝 2005/02/02 海山商事 中島 2005/02/03 海山商事 田中 2005/02/03 山川物産 山田 2005/02/04 海山商事 中島 2005/03/01 海山商事 鈴木 上のようなテーブルから下のようなレポートを作るには どうしたらいいのでしょう? 月 顧客 1日 2日 3日 4日 --------------------------------------- 2月 海山商事 石塚 十勝 田中 中島 中島 山川物産 山田 3月 海山商事 鈴木
100 :
99 :05/02/20 02:16:51
書き直し・・・ 日付 顧客 担当 ------------------------- 2005/02/01 海山商事 石塚 2005/02/02 海山商事 十勝 2005/02/02 海山商事 中島 2005/02/03 海山商事 田中 2005/02/03 山川物産 山田 2005/02/04 海山商事 中島 2005/03/01 海山商事 鈴木 上のようなテーブルから下のようなレポートを作るには どうしたらいいのでしょう? 月 顧客 1日 2日 3日 4日 ------------------------------------- 2月 海山商事 石塚 十勝 田中 中島 中島 山川物産 山田 3月 海山商事 鈴木
101 :
97 :05/02/20 06:21:40
>98 ありがとうございます。できました。
どうも割り込み失礼します。 とある会社が発表するドキュメントがエクセルで作成されています。そこには たくさんのデータが記述されています(時刻表のような物です。) これを効率よくACCESSデータにするには、なにか得策ってありますかね。 アイデアが思い浮かばないんです。。抽象的な質問ですいません。 よろしくお願いします
エクセルにてCSV形式で保存->アクセスにインポート
>>100 もっと良いレポートの形式考えた方がいいような希ガス
>>100 こういうのって、ある意味FAQだったりするかもしれないんだけど、ヒントの与え方
教え方がとてもむずかしいね。
クロス集計クエリの守備範囲は完全に超えてるし。
VBAでレコードセット開くしかなさそう。
コピペでそのまま使えるコード丸ごと書いてあげるのも何だかなって感じだし
(
>>100 のケースではけっこう長いコードになりそう)
けっきょくADOかDAOでレコードセット開くやり方おぼえてくれってことになっちゃう。
それが面倒ならExcelでやってちょーだいなと。
それにしてもこのレポートの形、
>>104 のいうとおり、かなりダサくない?
>>104 >>105 どうもありがとうございます。
正直、自分としては下のようなレポートでいいと思うんだけど、
ユーザー部門の人が「日付が横軸じゃないと」ってきかなくて・・・
もう一度、下のレポートで押してみます。
日付 顧客 担当
-------------------------
2005/02/01 海山商事 石塚
2005/02/02 十勝
中島
2005/02/03 海山商事 田中
山川物産 山田
2005/02/04 海山商事 中島
2005/03/01 鈴木
>>107 例えばどんな感じがいいでしょうか?
なんか楽に作れておすすめのレイアウト教えてください。
109 :
109 :05/02/21 13:17:47
マイナーなDBを使っているのですが、以下の様な福袋表と内容表を項目[福袋番号] を使ってリンクさせて同一画面で入力出来るフォームを作りたいのですが今のDBでは 作る事が出来ません。 つまり複数のメインレコードとそれぞれのリンクされた複数のサブレコードを両方共に 表示・入力出来る入力フォームを作りたいのです。 ACCESSではこんな入力フォームは作成可能でしょうか? |福袋表|内容表| −−−−−−−−− |福袋1|りんご| | |ばなな| | |みかん| −−−−−−−−− |福袋2|すいか| | | | | | | −−−−−−−−− |福袋3|メロン| | |いちご| | | | −−−−−−−−− 福袋表の項目 内容表の項目 [福袋番号]←リンク→[福袋番号] [内容明細]
110 :
名無しさん@そうだ選挙にいこう :05/02/21 21:23:10
---------- ここから ----------
【. 目 的 】 他のユーザーが使用中でもフォームやレポートを更新したい。
【. 条 件 】 Win2003Server、WinXpPro Access2003
■試したけどうまくいかなかった処理
【. 概 要 】 開発者(更新者)以外は全て、更新権限をはずしたけど駄目。
■これだけはやりました
【
>>1 を読んだ】 はい
【Googleで調べた】 はい
【検索キーワードは?】 排他、更新、フォーム、Access
教えて下さい。
アクセス2003で開発者1名、使用者多数って環境で、
誰か1人でも使用されていると開発者はフォーム等の変更が出来ません。
使用者には更新権限は与えていません。
いつでも裏で開発者が開発出来る環境にしたいのですがご存知の方教えて下さい。
以前は97を使用しており、その時は平気で裏でバンバン変更出来ていました。
ちょっと考えたけど、
>>111 の1.はかなりドツボ。やるなら2.。
>>100 まずテーブルが以下の形になっているとして
顧客テーブル: [顧客ID] , [顧客名]
担当者テーブル: [担当者ID] , [担当者名]
履歴テーブル: [日付(日付時刻型)] , [顧客ID], [担当者ID]
下のようなテーブルをつくる
レポート用まとめテーブル : [何年何月(文字列型)],[顧客ID],[顧客名],[Fld1],[Fld2],[Fld3]・・・[Fld31]
あとは適当なフォームつくって適当にボタン貼り付けて、イベントプロシージャに
以下をコピペ
114 :
続き :05/02/22 03:03:37
Private Sub コマンド0_Click() Dim MyStrSQL As String CurrentProject.Connection.Execute "DELETE * FROM レポート用まとめテーブル" MyStrSQL = "INSERT INTO レポート用まとめテーブル ( 何年何月, 顧客ID, 顧客名 ) " MyStrSQL = MyStrSQL & "SELECT Format([日付],'yyyy年mm月') AS 何年何月, 履歴テーブル.顧客ID, 顧客テーブル.顧客名 " MyStrSQL = MyStrSQL & "FROM 履歴テーブル INNER JOIN 顧客テーブル ON 履歴テーブル.顧客ID = 顧客テーブル.顧客ID " MyStrSQL = MyStrSQL & "GROUP BY Format([日付],'yyyy年mm月'), 履歴テーブル.顧客ID, 顧客テーブル.顧客名" CurrentProject.Connection.Execute MyStrSQL Dim MyRst0 As New ADODB.Recordset Set MyRst0 = New ADODB.Recordset MyRst0.Open "レポート用まとめテーブル", CurrentProject.Connection, adOpenKeyset, adLockOptimistic If MyRst0.EOF Then MyRst0.Close Set MyRst0 = Nothing Exit Sub MsgBox "データがない" End If Dim NanNichi As Integer Dim MyRst1 As New ADODB.Recordset Set MyRst1 = New ADODB.Recordset MyStrSQL = "SELECT Format([日付],'yyyy年mm月') AS 何年何月, Day([日付]) AS 何日, 履歴テーブル.顧客ID, 担当者テーブル.担当者名 " MyStrSQL = MyStrSQL & "FROM (履歴テーブル INNER JOIN 顧客テーブル ON 履歴テーブル.顧客ID = 顧客テーブル.顧客ID) " MyStrSQL = MyStrSQL & "INNER JOIN 担当者テーブル ON 履歴テーブル.担当者ID = 担当者テーブル.担当者ID" MyRst1.Open MyStrSQL, CurrentProject.Connection
115 :
続き :05/02/22 03:05:04
MyRst0.MoveFirst Do Until MyRst0.EOF MyRst1.MoveFirst Do Until MyRst1.EOF If (MyRst1![何年何月] = MyRst0![何年何月]) And (MyRst1![顧客ID] = MyRst0![顧客ID]) Then NanNichi = MyRst1![何日] If IsNull(MyRst0("Fld" & NanNichi)) Then MyRst0("Fld" & NanNichi) = MyRst1![担当者名] Else MyRst0("Fld" & NanNichi) = MyRst0("Fld" & NanNichi) & vbCrLf & MyRst1![担当者名] End If End If MyRst1.MoveNext Loop MyRst0.MoveNext Loop MyRst0.Close Set MyRst0 = Nothing MyRst1.Close Set MyRst1 = Nothing MsgBox "終わったよ" End Sub まとめテーブルに吐き出されるデータはたぶん順番がバラバラなので あとは適当にクエリでソートしてね
116 :
109 :05/02/22 11:14:34
>>111-112 リプライありがとうございました。
テーブルをクリックして明細部を表示するという事が出来るのは知っていたのですが、
最初から表示中の全ての福袋の内容も同時に表示したいと思っていたので今回の希望
には添いませんでした。
グリッドコントロールという言葉は今一良く分からないのですが、F1カーのスタート位置・・・
じゃなくてフォーム上での位置を把握して表示や入力を制御するVBで作ったプログラムの一種
という意味なのかな?と理解しました。
しかも買わなければならないと言うことは素人が簡単に作れるプログラムでもなさそうですし、
こういうフォームはAccessでもやはり簡単ではなさそうですね。
>>113-115 どうもありがとうございます。
vbCrlfは思いつかず、別行にしなきゃならないっていう先入観でハマってました。
実際はもうちょっと複雑なのですが、これでいけそうです。
118 :
名無しさん@そうだ選挙にいこう :05/02/26 13:29:10
日付経過関数で質問です。 Dim d As Variant d = RS!年 & " / " & RS!月 & " / " & RS!日 MsgBox DateDiff("d", d, Now) でうまく出ません。 テーブルは年、 月 、日の別フィールドで数値になってます。 おねがいします。
どういう出力結果を望んでいるのかよく解らないけど、 dが2005/2/27 Now関数で得られた値が2005/2/26だとすると、 メッセージボックスには-1が表示されるよ。
120 :
名無しさん@そうだ選挙にいこう :05/02/26 17:47:41
コンボボックスでフィールドが2列あるテーブルから選択して、 コンボボックスの連結列は2列目でしたのですが、テキストボッ クスの表示は1列目でしか表示されません。 表示を2列目にしたい場合は順番を変えるしかないでしょか?
>>120 コンボボックスは、ひとつのフィールドしか表示できないよ。
プロパティーの列幅で表示したい場所の値を>0cmにすればOK。
それ以外は0cmね。
122 :
名無しさん@そうだ選挙にいこう :05/02/26 19:10:16
121さんありがとうございます。 例で言いますと、コードは一列目と金額は2列目の表があって、 コンボボックスのリストで両方表示しコードは参考だけ、 、テキストに金額を計算用に入力したいのです。 私がやるとテキストには1列がそのまま表示、計算はきちんと2列目で おこなってはいるのですが・・・。
各カテゴリーから1つずつ候補を選択した全ての組み合わせを出したいのですが。 以下のテーブル(tbl商品)があります。 ID 分類 定価 1 1 100 2 2 150 3 3 100 4 2 120 5 3 130 (IDはオートナンバー) そして以下のような結果が欲しいのですが、 分類1のID 分類2のID 分類3のID 定価の合計 1 2 3 350 1 2 5 380 1 4 3 320 1 4 5 350 これを最終的にクエリまたはテーブルで出したいのですが、一番シンプルに出来る方法 が何かありましたら、ご教授ください。 テーブルを作り直すのも可です。 (OS:winXPhome access2003)
日本語って難しいね
なにをしたいのか途中までは分かったけど 最終的にどういう形になるのを狙っているのか非常にイメージしずらい。 分類は分類コード?分類名? であれば、分類名項目までも見せてもらわないとテーブル設計が適切か分からない。 分類名を1,2,3・・と数字で書くとコード自体と勘違いしやすい。 商品自体ではなく、分類自体に価格がついているイメージってどういうこと? それでいて同じ分類名でもIDが違うから価格が違うっていうのはおかしくない? 要は分類名と商品名の要素がごっちゃになったテーブルになってると見える。 最低でも分類名マスタテーブル、商品名マスタテーブルを別に作成してハッキリさせる必要があると思うが。
すいません。非常にわかりずらい書き方だったようですね。 例を出して説明します。 ある食堂の日替わり定食に掛かる材料費を計算します。 日替わり定食は、主食・おかず・デザートという、3種類の料理の分類の組み合わせで、 必ずそれぞれの分類から1種類ずつで、日替わり定食を構成します。 ・分類テーブル 分類ID 分類名 1 主食 2 おかず 3 デザート それぞれ、単体の料理と、その材料費を、メニューテーブルに入力してあります。 メニューID 分類ID 材料費 メニュー名 1 1 100 白飯 2 2 150 トンカツ 3 3 100 プリン 4 2 120 焼き魚 5 3 130 ケーキ
結局何がやりたいのかというと、 メニューテーブルのメニューの、全通りの組合せを一覧に出したいわけです。 下のような形でクエリとして得られれば目的が達成できます。 主食 おかず デザート 材料費の合計 1 2 3 350 1 2 5 380 1 4 3 320 1 4 5 350 こういうことですので >商品自体ではなく、分類自体に価格がついているイメージってどういうこと? というわけではなく、単に端折り過ぎてしまった為に伝わっていなかっただけです。 申し訳ございませんでした。
>>123 テーブル1にID,分類,価格のフィールドがあるとして、新規ビューの表示→SQLビューで以下を入力。
SELECT テーブル1.ID AS ごはん, テーブル1_1.ID AS おかず, テーブル1_2.ID AS デザート, テーブル1.価格+テーブル1_1.価格+テーブル1_2.価格 AS 材料費の合計
FROM テーブル1, テーブル1 AS テーブル1_1, テーブル1 AS テーブル1_2
WHERE (((テーブル1.分類)=1) AND ((テーブル1_1.分類)=2) AND ((テーブル1_2.分類)=3));
もしくは
SELECT 主食.ID AS 主食, おかず.ID AS おかず, デザート.ID AS デザート, 主食.価格+おかず.価格+デザート.価格 AS 材料費の合計
FROM [SELECT ID,価格 FROM テーブル1 WHERE 分類=1]. AS 主食, [SELECT ID,価格 FROM テーブル1 WHERE 分類=2]. AS おかず, [SELECT ID,価格 FROM テーブル1 WHERE 分類=3]. AS デザート;
>>128 教えて頂いたSQLの上の式を参考に、自分のを作ってみましたところ、完璧に動作しました!
ありがとうございました。
細かいつっこみで悪いんだけどさ しずらい じゃなく しづらい だよお二人さん
質問させて下さい。ACCESSは避けて通って来たのですが、避けられなくなり 悪戦苦闘しております。知識者の皆様、何卒お知恵をお貸し下さいませ。 【目的】 IDをキーとして、二つのテーブルに入力した内容を同時に開き比較演算する クエリを作りたい。(顧客別に売上合計-入金合計=売掛を演算させたい。) 【条件】 ACCESS2000です。 【概要】 [顧客マスタ]テーブル フィールド:顧客ID、氏名 [売上]テーブル フィールド:顧客ID、売上額 [入金]テーブル フィールド:顧客ID、入金額 リレーションシップ:顧客IDをキーに全テーブル 【作ったクエリ】 [売上、入金一覧]クエリ 顧客ID、売上額、入金額を同時に表示・・・ 【結果】 売上テーブルに6人6件、入金テーブルに3人3件を登録して実行したところ、 売上・入金の両テーブルに入力がある3人3件しか出力されませんでした。 【質問内容】 な〜んとなくダメな理由はわかるのですが、売掛残を演算させるためには、 避けて通れないような気がしています。これを演算させる手はありますでしょうか? ちょっと強引に、売上と入金を同じテーブルにおいて、初期値0にする手を 考えましたが、実際には商品マスタや売上明細テーブル等の十数個の テーブルがあり、うまく動いてくれませんでした。
SELECT 顧客ID, sum(金額) FROM ( SELECT 顧客ID, 売上額 AS 金額 FROM 売上 UNION SELECT 顧客ID, -入金額 AS 金額 FROM 入金 )
>>132 こ・・・これは・・・。レスありがとうございます。・・・しかし、通り一遍等の
テーブルとクエリがやっと扱えるようになった私には暗号に見える・・・orz
このヒント(ほんとは解答なのでしょうが・・・)を手掛かりに、解説書読み
漁ることに致します。
<<133 132さんの()内の式だけでとりあえずは一まとめになります。 クエリの「デザインビューでクエリを作成する」を選択し、 テーブルの表示は速攻閉じる。 メニューバーに「SQL」というのがあると思うからそこをクリックすると SELECT; という画面が現れるからそこに()内の文を貼り付ければOK。 ただし、先頭のスペースは取り除くように。 合計とかはできたクエリを元にすればいいっしょ。
135 :
名無しさん@そうだ選挙にいこう :05/03/01 11:33:44
>>135 ダウンロードしてみたけど、レポート死んでます…
>>132 ,
>>134 できました!!!ありがとうございました。
最初、そのまんま貼り付けたところ、何回やってもエラーが出てしまい、
おかしいおかしい・・・と結局、本屋に解説書買いに走り、貼り付けた内容が
何なのかを学習した結果・・・・
GROUP BY 顧客ID
がなかったんですね。ここに来るまで丸一日費やしました(笑)が、
本当にいい勉強になりました。
138 :
名無しさん@そうだ選挙にいこう :05/03/01 22:44:50
rounddownとかの小数点や1000単位にしたい場合の関数はありますか?
かけたり割ったり足したり切り捨てたり切り上げたりすればいいじゃない
規定値をそのフィールドのMAX+1にしたいんですが、規定値でSQL文使う方法はありますか? 別にMAX専用のクエリ作ってDlookupで呼び出す方が確実かな。
というかSQL使わなくても普通にMAX出せますね。オナニー失礼。
発注テーブルと発注明細テーブルがあって、[発注NO]と[発注明細NO]が、リレーションで一対∞になっています。 発注テーブル ・・[発注NO] [お客様名] 発注明細テーブル・・[発注明細NO][商品NO][個数] これをフォームの帳票フォームで、[発注NO] [お客様名] 発注明細1番目のレコードの[商品NO][個数] 発注明細2番目のレコードの[商品NO][個数] ・・・ というような参照用のフォームを作りたいのですが、可能ですか? ちなみに発注明細のレコードは[発注明細NO]1つに対して5件までしか入力出来ないようにしてあります。
>>142 できるよ。発注テーブルでフォームをまず作って、デザインモードで
サブフォームを入れれば、あとはウィザードが案内してくれる。
普段は入力不可の灰色で、チェックボタンをオンにした時だけ入力可能になる処理はどうやったらできますか?
>>143 レスありがとうございます。只・メインが帳票フォームでサブフォームの内容も同時に表示したいのですが、
1列目・・・[発注NO] [お客様名] 発注明細1番目のレコードの[商品NO][個数]発注明細2番目のレコードの[商品NO][個数]
2列目・・・[発注NO] [お客様名] 発注明細1番目のレコードの[商品NO][個数]発注明細2番目のレコードの[商品NO][個数]
3列目・・・[発注NO] [お客様名] 発注明細1番目のレコードの[商品NO][個数]発注明細2番目のレコードの[商品NO][個数]
というような感じにしたいのですが・・・・
>>144 Private Sub チェック123_BeforeUpdate(Cancel As Integer)
If チェック123.Value = True Then
何か.Enabled = True
Else
何か.Enabled = False
End If
End Sub
みたいな。灰色にならないけど。
>>145 邪悪な希望だな。更新できなくていいなら以下で可能。
発注明細テーブルにIncrimentなフィールドを付けて、
SELECT …, count(*)+1 as 明細番号 , … where 発注No= 自分の発注No and 某フィールド<自分の某フィールド From 発注明細テーブル
ってビューをまず考える。発注No毎の番号を付けたものを作るクエリ。
こいつを明細番号を元にバラバラにしてから一つに戻すよろし。望むテーブルが出来る。それをフォームに。
更新できるフォームを作りたいなら、VBで書くかそういうテーブルにしちゃうかになると見た。
148 :
初心者に毛が生えた :05/03/04 10:23:29
【. 目 的 】
業務報告書を作成したいのですが、ひとつのフィールドだけ長文を入れる必要があります。
A4一枚で入りきれない場合、次のページに出力させたいのですが、VBAを使わずに出来る方法はありますか?
またVBAを使う場合は、どのようなコードを用いればいいのでしょうか?
【. 条 件 】
windowsXP SP2、access 2003
■試したけどうまくいかなかった処理
【. 概 要 】
思いつかなかったため、手で別のフィールドに入れています・・・
■これだけはやりました
【
>>1 を読んだ】 はい
【Googleで調べた】 はい
【検索キーワードは?】 access、レポート、長文 etc...
>>148 テキストボックスの「印刷時拡張」を「はい」じゃだめ?
150 :
名無しさん@そうだ選挙にいこう :05/03/04 19:55:16
>>148 1 フィールドは 256だよ
正式には250 テーブルで これ以上を入れてみな
エラーになるはず
>>150 使ったことないから解らないけど、
メモ型だと2^16-1文字までいけるらしいよ。
>>146 レスありがとうございます。
でも、ちょっと難しくて・・・
もうちょっと勉強してから考えます。
ちなみに、
Incrimentなフィールドって行番号見たいな物を作ればいいんでしょうか?
>>152 インクリメント = 加算
デクリメント = 減算
154 :
名無しさん@そうだ選挙にいこう :05/03/05 14:13:12
Access2002の初心者です。よろしくお願いします。 現金出納帳の残高を計算するのは、クエリーでは無理でしょうか? 日付 摘要 入金 出金 のテーブルから 日付 摘要 入金 出金 残高 を作りたいのです。 (1件前の残高+現在レコードの入金−現在レコードの出金)の計算結果を 残高フィールドに入れたいのですが・・・ 出金をマイナスにして、入金欄と同じフィールドにおとし そのフィールドの累計金額を残高に入れるのもOKです。 クエリーだけですむなら、何個連結させてもかまいません。
>>152 ごめん、ローカルな用語使っちゃった。オートナンバの事。
明細番号、ってオートナンバ型のフィールドを作った上でこんな感じ。
SELECT 発注テーブル.発注番号, 発注テーブル.お客様名,
明細1.商品番号, 明細1.個数, 明細2.商品番号, 明細2.個数, 明細3.商品番号, 明細3.個数,
明細4.商品番号, 明細4.個数, 明細5.商品番号, 明細5.個数
FROM ((((([SELECT drv.発注番号, Sum(IIf(drv.発注内連番=1,drv.明細番号,0)) AS 明細1,
Sum(IIf(drv.発注内連番=2,drv.明細番号,0)) AS 明細2, Sum(IIf(drv.発注内連番=3,drv.明細番号,0)) AS 明細3,
Sum(IIf(drv.発注内連番=4,drv.明細番号,0)) AS 明細4, Sum(IIf(drv.発注内連番=5,drv.明細番号,0)) AS 明細5
FROM [SELECT 発注テーブル.発注番号, 発注明細テーブル.明細番号, (SELECT Count(*)+1
FROM 発注明細テーブル as tmp WHERE ((tmp.明細番号<発注明細テーブル.明細番号)
AND(tmp.発注番号=発注明細テーブル.発注番号))) AS 発注内連番
FROM 発注テーブル INNER JOIN 発注明細テーブル ON 発注テーブル.発注番号=発注明細テーブル.発注番号
GROUP BY 発注テーブル.発注番号, 発注明細テーブル.明細番号, 発注明細テーブル.発注番号
]. AS drv GROUP BY drv.発注番号 ]. AS drv2 LEFT JOIN 発注明細テーブル AS 明細1 ON drv2.明細1 = 明細1.明細番号)
LEFT JOIN 発注明細テーブル AS 明細3 ON drv2.明細3 = 明細3.明細番号) LEFT JOIN 発注明細テーブル AS 明細2
ON drv2.明細2 = 明細2.明細番号) LEFT JOIN 発注明細テーブル AS 明細5 ON drv2.明細5 = 明細5.明細番号)
RIGHT JOIN 発注テーブル ON drv2.発注番号 = 発注テーブル.発注番号) LEFT JOIN 発注明細テーブル AS 明細4
ON drv2.明細4 = 明細4.明細番号;
VB使ったほうが幸せになれるな、こりゃ。
>>154 1.日付で絞り込んで単票形式で該当の1レコードのみ表示する方法
2.累計出して計算する処理が重いクエリを使う方法
3.入金と出金一つのフィールドでいいじゃん方法
どれがいい? お勧めは3
>156 900件ぐらいあるので、単票は・・・ お勧めの3をお願いします。
900件だったら都度全部足せ。
追加や日付の修正が何度もありうるので、そこを何とか…
何か勘違いしてたようだ。表形式にするんだったら2しか思いつかないや。 入出金:[入金]-[出金]の列追加したクエリ(Q_現金出納帳)を用意して、 残高: DSum("入出金","Q_現金出納帳","日付 <= #" & [日付] & "#") もしくは、入金累計と出金累計出して-するか。 入金累計: DSum("入金","現金出納帳","日付 <= #" & [日付] & "#") 出金累計: DSum("出金","現金出納帳","日付 <= #" & [日付] & "#") 残高:[入金累計]-[出金累計] 900件あったら重そうだなぁ。
>160 1レコードづつ、テーブル全体から条件にあてはまるのを選択して集計する というイメージですね? 日付が重複するので、まず連番をふったテーブルを作成して その連番を索引キーにしたら少しは早くなるかもしれませんね・・・ 今からやってみます。 ありがとうございました。
日付の修正すらありえるんだったら累計出すたびに連番ふり直さないとおかしくならないか?
>156 できました!ありがとうございます 確定申告に間に合いそうです >162 ちょっとめんどくさいけど、その都度ふりなおしてます
Access2000を使用しています。 WEB上にアンケートを用意し、そのアンケートの結果を Accessに保存をしたいのですが、 そのような場合どの用にコードを書けばよいのでしょうか? あるテーブルから、データを取得し、その取得したデータを加工する。 といったやりかたはわかるのですが、同じようなやりかたで出来ますか? もし、出来るとしたら、どの様に記述をしたら良いのか、ご教授お願いします。
>>164 状況がわかんない。
そのアンケートっつーのがWeb鯖上のデータベースにアンケートの内容を反映させるものであり、
かつ、そのデータベースっつーのが外からODBC接続ができる種類のものである場合、
ODBCドライバを用意してからAccessでテーブルのリンクして完了だけど。
そこらへんのアンケートCGIだったりIISのプログラム話だったりすると話が変わっちゃう。
166 :
名無しさん@そうだ選挙にいこう :05/03/05 20:51:39
【目 的】
テーブルでは数値(長整数型)で持っている項目を、
選択クエリーを使って固定長のテキストへエクスポートした際、前ゼロを埋めたい
【条 件】使用OS:Win98(SE) ACCESSのバージョン:97
■試したけどうまくいかなかった処理
【概 要】
選択クエリーへ、Right("000" & [項目],3)という式を入れてみた。
Right("000" & CStr([項目],3)という式を入れてみた。
Format([項目],"000)という式を入れてみた。
【駄目な理由】
上記いずれも、クエリー上ではちゃんと前ゼロで表示されている(『001』『000』とか)
が、固定長テキストに吐き出すと、前詰め後ろスペースになってしまっている。
(『1__』とか『___』とか ※_はスペースとする)
■これだけはやりました
【
>>1 を読んだ】 はい
【Googleで調べた】 はい
【検索キーワードは?】
Access テキスト エクスポート 固定長 数値
よろしくです。
>>166 Access2002だと、少なくともFormat....について正常に前ゼロ埋めでエクスポートするよ。
(他は確かめてないよん。)
>>155 す・スゴイ!
!?!?
とにかくすみません。手間取らせて・・・
意味が分かるように頑張ります・・・
>>166 format関数で目的の結果が得られないのなら、関数を自作する。
モジュールを新規作成し、以下のコードを打つ。
Function rept(rep_chr As String, rep_time As Integer) As String
Dim i As Integer
Dim dummy As String
For i = 1 To rep_time
dummy = dummy & rep_chr
Next
rept = dummy
End Function
これでEXCELライクなrept関数の出来上がり。
次にクエリーで0埋めしたいフィールドで式ビルダを起動し
整形項目(ここの名は自分で考えて): rept("0",(4-Len([項目]))) & [項目]
と打ち込む。以上。
169訂正 整形項目(ここの名は自分で考えて): rept("0",((表示したい桁数-Len([項目]))) & [項目]
171 :
名無しさん@そうだ選挙にいこう :05/03/06 13:50:44
【. 目 的 】 オプショングループ(トグルボタン)選択時の再クエリ
【. 条 件 】 Win2000SP4 ACCESS2003
■試したけどうまくいかなかった処理
【. 概 要 】
下記のイベントプロージャを作成しました
1)
Private Sub ボタン1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
DoCmd.Requery ""
End Sub
2)
Private Sub ボタン1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Me.Refresh
End Sub
【駄目な理由】
再クエリが実行されると、トグルボタンが元に戻ってしまう。
他のイベントで再クエリした場合は、トグルボタンは元に戻らないで正常動作する。
■これだけはやりました
【
>>1 を読んだ】 はい
【Googleで調べた】 はい
【検索キーワードは?】ACCESS リストボックス 再クエリ
自己解決しました ボタンではなく、オプショングループの更新後に再クエリをかけたら 上手くいきました お騒がせしてすみませんでした
173 :
名無しさん@そうだ選挙にいこう :05/03/06 21:22:13
こんばんは、よろしくお願いします
【. 目 的 】
日付を管理番号にしたい。
【. 条 件 】
OS = WinXP
Office = officeXP
■試したけどうまくいかなかった処理
受注日フィールドの日付データを、管理番号として使いたいので
Me!管理番号 = Format(受注日, "yymmdd")
としました。
【駄目な理由】
自分のパソコンでは、日付2005/03/01が、管理番号に050301と
入ったのですが、他のOSもOfficeも同じXPのパソコンで動かしたら
クエリ式'Format([受注日],"yymmdd")'のこの関数は式では使用できません
このようなエラーが表示されてしまいます。
■これだけはやりました
【
>>1 を読んだ】 はい・
【Googleで調べた】 はい
【検索キーワードは?】 access format クエリ yymmdd
174 :
名無しさん@そうだ選挙にいこう :05/03/06 21:30:31
DateDiff関数で年数だけではなく、その年数のほか残りの月数や日数、 何年と何ヶ月何日というようにだせますか?
>>173 コンパネ→地域と言語のオプション
日付の形式が違うんじゃない?
なんかそんな気がする
>>174 無理だと思いますよ。
ただし、工夫(式の組み合わせ)すれば可能。
177 :
名無しさん@そうだ選挙にいこう :05/03/07 05:24:20
教えて下さい。 日付表示で、外国表示の 7-Mar-05と表示させるのは、テキスト書式 = なんと 入れればよろしいか、お願いします。 Access2000です。
Excelと同じ。 d-mmm-yy
179 :
名無しさん@そうだ選挙にいこう :05/03/07 05:48:11
早速の返事、ありがとうございます。 177です。
>>169-170 ありがとうございます。やってみました。
結果は・・・同じです。
クエリー上では前ゼロがちゃんと表示されているのに、
テキストにエクスポートすると前詰め後ろスペース・・・orz
テキストエクスポートウィザードまではゼロ付いてるのになぁ。
因みにCSVでやると前ゼロあります。
保存したエクスポート定義を使わずにやると前ゼロあります。だがしかしトンでもない所で切られてしまうのでアウト!
自己レスです。 再度エクスポート定義を新規に作成してやってみたところ、うまく行きました。 しっかしこの定義、最初に作ったやつと全く同じなんだけどなぁ・・・(謎
182 :
174 :05/03/08 03:12:04
>176さん ありがとうございます。 やっぱりそうですか。 月=DateDiff("m",x/y/z,x2/y2/z2) if z>1 then 日1=DateSerial(x,y+1,o)-z+1 elseif 月=0 then 日=DateDiff("d",x/y/z,x2/y2/z2) end if 日=日1+z2 この式はどうでしょうか。
単純に DateDiff("yyyy",[開始日],[終了日]) & "年" & (DateDiff("m",[開始日],[終了日]) Mod 12) & "ヶ月" & DateDiff("d",(Year([終了日]) & "/" & Month([終了日]) & "/" & 1),[終了日]) & "日" でもいいんじゃない? クエリの式ビルダーでもいけるから。
>>182 ダメだ…。検証できん。
その式で閏年とか対応できるの?
あと年の処理がないような。
183の方は2004/1/1から2006年12/31まで検証してみました。
「0」の処理をどうするかですが、
期間の計算だから別に必要ないのか。
185 :
174 :05/03/08 06:50:08
>>183 さん184さんありがとうございます。
開始日、終了日も月途中があり,
その分も日数に含む計算に
しなければならないので考えましたが・・・。
datediffは閏年はシリアル値で考えてくれて
いると思っていたのですが・・・。
185 ごめん。日付の代入間違ってた。 182で大丈夫だね。
187 :
名無しさん@そうだ選挙にいこう :05/03/08 20:03:49
すみません、教えてください! バージョンは2000で、パソコンも2000です。 「A部門」「B部門」「C部門」と3枚のテーブルがあります。 3つのテーブルにはリレーションができているのですが、 このそれぞれのテーブルに、同じ項目名「残高」というものがあり、 その合計を出したいんですが、 クエリにもってくると、 「残高(A)」「残高(B)」「残高(C)」と3つならんでしまい、 合計数字を算出できません。 どのようにやったら、3枚のテーブルの残高の合計を、1つにできますか? よろしくお願いいたします。。。。
A部門.残高+B部門.残高+C部門.残高
無事完成したのでご報告に参りました。 皆さんのおかげで実用に足るものが出来たようです。 本当にありがとうございました。
190 :
名無しさん@そうだ選挙にいこう :05/03/09 16:29:29
【. 目 的 】 顧客データベースの世帯毎の集計クエリの作成
【. 条 件 】 Access2000 Windows2000
【. 概 要 】 現在、個人別に登録されている顧客の購入履歴を、世帯毎に
集計したいと思います。
顧客マスタに「世帯主No」というフィールドを設け、Nullの場合は世帯主、
顧客Noが入っている場合は、そのNoを世帯主とみなします。
テーブル構成は、簡略化すると以下のとおりです。
【顧客マスタ】 【購入履歴データ】
[顧客No]============[顧客No]
[世帯主No] [購入日]
[氏名] [金額]
[住所]
上記のテーブルから、下記のような出力結果が得られるクエリを作成したいのですが
どのような式を書けばよいのか、検索しても適当な解説が見つかりません。
【購入総額クエリ】
[顧客No]
[世帯主No]
[個人購入金額合計]
[世帯購入金額合計]
■これだけはやりました
【
>>1 を読んだ】 はい
【Googleで調べた】 はい
【検索キーワードは?】 Access 世帯 集計 クエリ
>>190 >顧客マスタに「世帯主No」というフィールドを設け、Nullの場合は世帯主、
>顧客Noが入っている場合は、そのNoを世帯主とみなします。
えーと、これは
Aさん Bさん Cさんが同じ世帯で、Aさんが世帯主だとすると
氏名 世帯主No
Aさん Null
Bさん AさんNo
Cさん AさんNo
になるの?
だとすると、まず
世帯:IIf([世帯主No] is null,[顧客No],[世帯主No])
を作って、それをグループ化。
あとは金額をsumで合計すればok。
でもグループ化の邪魔になるから顧客Noは表示させられないか。
192 :
名無しさん@そうだ選挙にいこう :05/03/10 03:48:56
お願いいたします。 出席チェックボックスがあるとします。 非連結フォームで、チェックボックスをチェックしたかどうかを DBに入れたいんですが、 INSERT INTO TABLE名 (出席) VALUES 出席.value では、チェックしてないときに、NULLがはいってしまいます。 INSERT INTO TABLE名 (出席) VALUES NZ(出席.value,0) にしても、 「 追加クエリですべてのレコードを追加できません。 型変換エラーのため、、1個のフィールドをNULLに設定しました。また、0件の レコードで、キー違反、0件のレコードでロック違反、0件のレコードで入力規則違反 が発生したため、レコードを追加できませんでした。 アクションクエリの実行を続行しますか? このエラーを無視し、クエリの実行を続行するときは【はい】を クリックしてください。 これらのエラーが発生する原因については、【ヘルプ】をクリックし、 表示されるヘルプ トピックを参照してください。 」 という、システムエラーが発生しました。 ググっても、解決できません。助けてください。
193 :
名無しさん@そうだ選挙にいこう :05/03/10 16:14:15
【. 目 的 】 集計クエリの使い方を教えていただけますか
【. 条 件 】 winXP、access 2003
■試したけどうまくいかなかった処理
【. 概 要 】
VISITID DAY VALUE
0 -9 10
0 -8 15
0 -1 12
1 6 16
1 7 20
このデータを使って、[VISITID]でグループ化して、DAYが最大のときの、VALUEを求めたい。
上の表から以下の表を作成したい。
VISITID DAY VALUE
0 -1 12
1 7 20
【駄目な理由】 (動作状況など)
サブクエリで可能かと思ったのですが、ダメでした・・・
■これだけはやりました
【
>>1 を読んだ】 はい
【Googleで調べた】 はい
【検索キーワードは?】 サブクエリ
SELECT a.VISITID, a.MAX_DAY, b.VALUE FROM (SELECT VISITID, MAX(DAY) AS MAX_DAY FROM テーブル GROUP BY VISITID) a INNER JOIN テーブル b ON a.VISITID=b.VISITID AND a.MAX_DAY=b.DAY
196 :
名無しさん@そうだ選挙にいこう :05/03/11 10:18:44
【. 目 的 】 MDBが開かない
【. 条 件 】 使用OS=XP、ACCESSのバージョン=2002
■試したけどうまくいかなかった処理
【. 概 要 】 自分で作ったmdbです。
【駄目な理由】 mdbを開くと権限がないといわれる
■これだけはやりました
【
>>1 を読んだ】 はい
【Googleで調べた】 はい
【検索キーワードは?】 権限 access2003 セキュリティー
198 :
名無しさん@そうだ選挙にいこう :05/03/11 21:29:17
DateDiffってm、yでだすと実際まるまる1ヶ月経過していなくても 月や年を越えると1と認識するのですか?
なんで簡単に実験できることを、やってみもしないで質問するのだろうか。
201 :
名無しさん@そうだ選挙にいこう :05/03/15 21:43:57
フォームのテキスト上で計算させた結果を, テーブルのフィールドに入力したいのですがどうしたらよいですか。
DoCmd.RunSQL かと。
203 :
201 :05/03/16 03:08:07
>>202 さんありがとうございます。
VBAしかないですか。
単純に式ビルだの中でどうにかできないのですね。
後はクエリの組み合わせでしょうか。
1フィールドだけなので簡単の方にします。
会社のDBにODCBで接続しています。 仕様の違いからか、日付のデータが全て20050101とテキスト型で保存されているようで、 そのままでは日付として利用することができません。 現在はright left mid+dateserialで無理矢理日付型に直しているのですが、 もっと簡単で軽い方法はないでしょうか?
>>204 CDate(Format([日付文字列],"0000\/00\/00"))
余談 昔は、日付型ってのはDB間で仕様が違う場合が多かったので嫌われた事もあった。 実はただ単にDB設計者が古いCOBOL屋だっただけだったりして。 ただ、それは文字列ではなく数値のはず。 そうしないと計算できないから。
日付を文字型にするのは間違いなく糞コボラーの仕業
1月32日とか使ってなければ別にいいと思うけどね。
げー糞コボラーって日付を文字列で持ってたのかよ。 何のために・・・?
うちの取引業者からもらったデータベース、そんな感じだよ VB製インターフェイス側で、生年月日空欄のまま登録OK押すと、 mdbの名簿テーブル生年月日フィールドには"00000000"って入るの
【. 目 的 】 最適化がしたい
【. 条 件 】 使用OS:winxp ACCESS:xpから2003にバージョンアップ
■試したけどうまくいかなかった処理
【. 概 要 】 データベースの最適化
【駄目な理由】 最適化ができないエラーメッセージ
■これだけはやりました
【
>>1 を読んだ】 はい
【Googleで調べた】 はい
【検索キーワードは?】 「access2003 最適化できない」
213 :
名無しさん@そうだ選挙にいこう :05/03/18 01:32:52
コンボボックス(またはリストボックス)とコマンドボタンがあるとして、コンボボックス(またはリストボックス)で選択されている 値によって、コマンドボタンを押したときに違う処理を実行するには、やはりVBAを使わないといけないでしょうか たとえば、 コンボボックスの値 コマンドボタンを押したとき AAAAA マクロ1を実行 BBBBB マクロ2を実行 CCCCC マクロ3を実行 という感じです。
>>213 条件式(IF文やSELECT〜CASE文)ぐらいは必要だろうね。
マクロだけでも出来ることは出来るけれどVBAでやるより数倍面倒 マクロ1に対応するマクロ1_1をつくる アクション : マクロの実行 マクロ名 : マクロ1 実行回数 : 1 繰り返し条件式 : [Forms]![フォーム名]![リストボックス名]="AAAAA" マクロ2に対応するマクロ2_1をつくる アクション : マクロの実行 マクロ名 : マクロ2 実行回数 : 1 繰り返し条件式 : [Forms]![フォーム名]![リストボックス名]="BBBBB" な感じで必要分だけ対応マクロをつくり 仕上げに、その対応マクロの全てを連続実行させマクロをつくる アクション : マクロの実行 マクロ名 : マクロ1_1(実行回数と条件式は省略) アクション : マクロの実行 マクロ名 : マクロ2_1(実行回数と条件式は省略) ・・・・・ で、このまとめマクロをコマンドボタンに当てる いじょ
何バカなこと書いてんだろ、俺 対応マクロなんていらないじゃん アクション : マクロの実行 マクロ名 : マクロ1 実行回数 : 1 繰り返し条件式 : [Forms]![フォーム名]![リストボックス名]="AAAAA" アクション : マクロの実行 マクロ名 : マクロ2 実行回数 : 1 繰り返し条件式 : [Forms]![フォーム名]![リストボックス名]="BBBBB" ・・・・・ これの連続実行マクロで充分じゃん
ヘルプを見ながらVBAでやってみたんですが、うまくいきません Private Sub () If リスト0.Value = "AAAAA" Then GoTo 10 End If If リスト0.Value = "BBBBB" Then GoTo 20 End If If リスト0.Value = "CCCCC" Then GoTo 30 End If 10 DoCmd.RunMacro "マクロ1": GoTo 100 20 DoCmd.RunMacro "マクロ2": GoTo 100 30 DoCmd.RunMacro "マクロ3": GoTo 100 100 End Sub なぜか、選択されている(反転している)リストの値にかかわらずマクロ1が実行されてしまいます・・・
VBAっても、↓程度のことを書くだけだけど Private Sub コマンド1_Click() Select Case Me![リスト0] Cese Is ="AAAAA" DoCmd.RunMacro "マクロ1" Cese Is ="BBBBB" DoCmd.RunMacro "マクロ2" ・・・ End Select End Sub リスト内のデータが多い場合、同じようなことを何行も何行も書かなきゃならない。 それよりは、マクロ名のほうをちょっと変えて、"マクロAAAAA"、"マクロBBBBB" とかにすれば1行で済む DoCmd.RunMacro "マクロ" & Me![リスト0] ただ、マクロが何十個もあるようなら全部VBAでやっちゃったほうが手っ取り早い
リストが多い場合なんかは逆に条件式なんか使わないのも手だね。 コンボボックスに1〜nのキー列を作りマクロの名前もキー列と対応するように マクロ1〜マクロnという名前にすれば Private Sub コマンド1_Click() DoCmd.RunMacro "マクロ" & Me!コンボ1 End Sub とかできたと思うよ。
上に書いてあった…orz
221 :
名無しさん@そうだ選挙にいこう :05/03/18 04:17:23
複数の人で同じ入力はできますか? 出来るけどやめた方がいいのでしょうか。
なんで本を読んで作ると余裕で出来るのに 自分で作りはじめると、パラメーターを入れてくださいて画面ばっか出る?
>>218-220 なるほど、マクロ名をちょっと工夫すればいいんですね・・・
Private Sub コマンド1_Click()
DoCmd.RunMacro "マクログループ." & リスト0.Value
End Sub
マクロ名=リストの値にしてみました。結果はうまくいき、行数もたったこれだけで済みました。
いちいち分岐にIF文を書かなくて済むし、後からマクロやリストの内容を増やしてもコードを書き換える必要もないし。
大変参考になりました。どうもありがとうございます。
データベースまたはプロジェクトに、ファイル`JSCKLIST.OCX` version 1.1. を参照する切断された参照が含まれています。 データベースまたはプロジェクトに、ファイル`JSBTN.OCX` version 1.1. を参照する切断された参照が含まれています。 特定のデータベースを開き、コマンドボタンを押すと上記のようなエラーが出てしまいます。 データベースを開いて最初にボタンを押したとき出て、それ以降は出なくなりますが、再度閉じてから開くとまた最初だけでます。 コマンドボタンもマクロでフォームを開くだけの単純な物です。 環境は access2003 sp1 windowsXP pro SP2 googleで調べてみたのですが、よく分かりませんでした。
>>225 JS…ジャストシステム謹製コントロールかな?
そのデータベースのモジュールにそれっぽい参照があったらそれを削除、
もしくは一太郎をインストールしてみるってのでどうだ。
>>226 JSってJUSTSYSTEMだったんですね
それっぽい参照を探してみます。
ダメだったら一太郎インストールしてみます。
たしかにエラーのでないクライアントマシンは一太郎が入っていたような気もします。
まだ試していないですが、アドバイスありがとうございます。
【目的】最適化・修復・圧縮について
【条件】Windows95、ACCESS97
【概要】VBよりRepairDatabase,CompactDatabaseを行った
ACCESSのデータベースが、LHUT32で圧縮できません。
(lzhファイルはできるのですが、圧縮率100%となり、容量が減りません)
【
>>1 を読んだ】 はい
【Googleで調べた】 はい
【検索キーワードは?】CompactDatabase RepairDatabase
宜しくお願いします。m(_ _)m
OS : WindowsXP Access : Access2000 自分で作ったデータベースを人にあげようと思ったんですが データを消したうえで、オートナンバーのフィールドが最初の番号から 始まるようにする方法ってありますか? データベースの構造だけあげたいんですが。
たしかフィールドを一旦削除しペーストし直せばいいと思ったが・・・
>>230 オートナンバーになってるフィールドだけ
フィールドごと削除して作り直せばいいんですね。
ありがとうございます。
えーやってみたんですが、、、 少なくないテーブルで、オートナンバーのフィールドを主キーにして リレーションも設定していたので、当然のことながらそういうテーブルでは フィールドごと削除ができませんでした。 これしかないのであればリレーションシップもひとつずつ直して やってみようとは思うんですが、何か他の方法はないですかね、、、すみません。
>>232 フィールド削除じゃなくて、テーブルの構造のみコピー。
データそのものはいらないんだったらそれだけでいいじゃん。
>>233 インポートでテーブル構造のみを入れたらできました。
初歩的な質問かと思いましたが、答えて頂きありがとうございました。
235 :
名無しさん@そうだ選挙にいこう :05/03/19 14:49:23
すみませんがおしえてください。 クエリでテーブルを連結表示して入力したのだけど、 入力が出来るクエリと出来ないクエリがあります。 なんででしょうか? またフィールドデータをクエリにより &で一つのフィールドデータにし、 そのフィールドから連結したクエリに入力 (&前のフィールドおよびクエリで連結したそのほかのテーブル) したいのですが、これもムリですか?
> 入力が出来るクエリと出来ないクエリがあります。 その連結が 1:1 か、 1:n かの違いかと思われ 2番目の質問は ・ 表示 2つのフィールドを 連結して表示 ・ 入力 フィールド入力値をバラして2つのフィールドへ って事か? すなわち [姓 & 名] みたいな事をやりたいのか? 基本的に演算フィールドは編集できないと思われ。 やるんだったらフォームに非連結フィールドを作って、 イベントハンドラにロジックを書く。 異常値の処理とか面倒だがな。 俺ならやらない。
237 :
235 :05/03/20 02:53:26
ありがとうございます。 1:多だと、連結先が特定できないので 入力出来ないということですね。 注意してみます。 2番目のは[姓 & 名]みたいなことです。 イベントハンドラとはVBAで、 そのフオームの名のフイールドに入力されたとき、テーブルに updateさせるということでしょうか? ちょっと研究してみます。 またよろしくおねがします。
すでに解決済みみたいだけど オートナンバー戻すのって、べつに新規mdbにインポートとかテーブルのコピーとか しなくても、ただデータ全削除して最適化すればいいんじゃなかったっけ いや、Ac2000しか使ったことないんで他は知らないけど
239 :
229 :2005/03/21(月) 13:00:33
>>238 試しにコピーしたデータベースでやってみたらできました。
そういう簡単なやり方もあったんですね。
今後必要なときは使ってみたいと思います。
ありがとうございました!
240 :
名無しさん@そうだ選挙にいこう :2005/03/23(水) 13:13:37
【目的】 効率的なフォームの入力
【条件】 Windows XP、Access2000
【概要】 フォームの画面で、HTMLでいうフレームのような構造にしたいのですが、
方法がどうしても分かりません。
メニュー画面と単票形式のフォームを組み合わせて、
メニュー画面のボタンをクリックすると、同型式のフォームに
指定したクエリが中身だけ入れ替わる…という感じです。
実現可能でしょうか?
そういうのが載っている本の紹介だけなどでも構いません。
【
>>1 を読んだ】 はい
【Googleで調べた】 はい
【検索キーワードは?】 Access フォーム フレーム
どうかよろしくお願いします。
現在ACCESSで日報のような物を作成しています。 現在はクエリに特定の日付で抽出した物をレポートで印刷しています。 印刷する際に例えば 3/23の用に日付を入力して、今日または昨日以前の日報を 印刷しているのです。 パラメーターを入力する際にカレンダーで選ぶか、本日を基準にボタンなどで前日 以前を簡単に選択できるようにしたいのですが、VBAがほとんどできなくて、難儀 しています。 どのようにすればよいのでしょうか?
243 :
名無しさん@そうだ選挙にいこう :2005/03/23(水) 21:18:15
Date And Time Picker
>>243 VB6ランタイムをインストールしてとりあえずフォームに入れてみました。
フォームに配置して、コントロールソースを日付に設定すると
DTPicker コントロール呼び出し中にエラーが発生しました。
と出てしまいます。
コントロールソースを設定しないとエラーは出ません。
またクエリのパラメーターにこのコントロールをどのように、使用するんでしょうか?
245 :
名無しさん@そうだ選挙にいこう :2005/03/23(水) 23:14:58
コピーはできない? バソコンが壊れ、二代目のパソコンを買いました。 元のパソコンでACCESS2000(単体で買った)を使っていたのですが, これを新しいパソコンにインストールすのことはできないのでしょうか? どなたか教えて下さい。
246 :
名無しさん@そうだ選挙にいこう :2005/03/23(水) 23:15:36
access2000です。 今月からVBAでいろいろと作らなくてはならなくなりました。 今回は2つのコンボボックスで連動させようとしています。 本やWEBを参考になんとかクエリデータを元に、 重複データを表示せずに選択肢はフォーム上では (2つのコンボボックスとも)無事表示できるようになりました。 ところが、1つ目のコンボボックスで絞り込んだ後、 2つ目のコンボボックスの選択肢の中からデータを選ぼうとすると、 先頭データしか選択できず、2つ目以降はクリックしても、 値はなぜか1つ目のものに強制的に変更されてしまいます。 msgboxでも表示してみましたが、やはり1つ目しか選ぶことが できませんでした。 Accessは不慣れなので悪戦苦闘しています。 どなたかこのつたない説明で、心当たりの箇所がお解かりになる方 いらっしゃいませんでしょうか? 大きな本屋やNetでもいろいろ探しましたが、 見つけることができませんでした。
247 :
名無しさん@そうだ選挙にいこう :2005/03/24(木) 01:05:33
>>244 DTPickerで取得した日付は保存の必要がありますか?
単に一時的な抽出条件としか認識していなかったのですが・・・
DTPickerでのデータ抽出についてですが,
DTPickerで取得した日付をクエリの抽出条件にしては如何でしょうか?
例えば,テーブルに「処理日」というフィールドがある場合,これに対して
DTPickerで取得した日付を基に抽出をかけては如何でしょうか。
いずれにしても具体的な情報が無いのでちょっと分かりづらいです。
248 :
244 :2005/03/24(木) 10:00:33
>>247 レス遅くなりました
>DTPickerでのデータ抽出についてですが,
>DTPickerで取得した日付をクエリの抽出条件にしては如何でしょうか?
私もこれがやりたかったのですが、パラメーター入力ダイアログにDTPickerを
配置することが出来なかったのでGoogleで調べてフォーム配置して試してみま
した。
最終的にレポートをDTPickerで選択した日付パラメーターで抽出出来ればよいな
と思ってます。
デーブルには日付というフィールドがあります。それを元に抽出しています。
>DTPickerで取得した日付は保存の必要がありますか?
必要ないです。
生年月日から学年を出す関数を作りたいのですが、複雑で分からないので、 もし分かる方いらっしゃれば教えて下さい。 Access2003を使用しています。
>>249 >>1 の書式でもう一回書いてよ。
それじゃあんたが何の努力もせず
答えだけパッと教えてくれと言ってる
都合のいい人間に見えてしまうよ
251 :
249 :2005/03/25(金) 18:09:46
>>250 申し訳ありません。本当にそうですよね。ググったりAccess専用サイトで過去ログ検索したりも
したのですけど該当するのがなくて…
【. 目 的 】 生年月日から学年を計算する関数
【. 条 件 】 WindowsXP Pro SP1 Access2003
■試したけどうまくいかなかった処理
【. 概 要 】年齢を出すまではうまくいくのですが、4月1日になると自動で学年が繰り上がる処理がうまくいきません。
■これだけはやりました
【
>>1 を読んだ】 はい
【Googleで調べた】 はい
【検索キーワードは?】 生年月日 学年 Access
>>251 確か学年の基準は 4/1までで、4/2から次の学年だっけ?
生年月日からの日数をDateDiffで出して、365で割って年齢、
余りで4/1の判断できそう。
閏年の計算しないといかんが。
Year(生年月日)-IIf(生年月日<DateSerial(Year(生年月日),4,2),1,0)
レポートでTrimが使えなくて困ってます。 =Trim([内容]) [内容] というレコードを表示させようとしています。 のような感じでも、印刷プレビューで「エラー」となってしました。 Trimじゃなくても、文字列の数によってテキストボックスの大きさが変われば 他の方法でもかまいませんので、何かいい方法はないでしょうか。 あと Trimでテキストボックス内に改行があった場合、行が自動的にテキストボックスも 広がっていくんでしょうか?
>>254 ウィザード使うと、テキストボックスで式が使えなくなるね。
式を使いたい場合はそこだけ新しくテキストボックスを作成。
256 :
254 :2005/03/29(火) 11:08:41
>>255 ありがとう
出来ました、昔はこんな事がなかったんでびっくりしました。
>>255 もう一つ聞きたいのですが
表形式のレポートでテキストボックスを作って
=Trim([内容])
とした場合、[内容]レコードが1行だったり、2行だったり、それ以上だった場合に
テキストボックスの行は最大の行数分が表示されるようにするしかないのでしょうか?
出来れば1行の時は1行分のみ表示して、4行の時は4行と言った具合にはならないのでしょうか?
1行しかない場合にそのしたに3行分の空白が出来てします。
>>257 意味がよく解らないんだけど、
行数 = レコード数
ということでいいの?
それなら、レポートにテーブルなりクエリーなりをレコードソースに設定し、
レポートの詳細のところにそのテキストボックスを置けば
勝手にレコード数分の行を書き込んでくれるでしょ?
259 :
名無しさん@そうだ選挙にいこう :2005/03/30(水) 02:25:40
約5000件の顧客リストがあるとします(顧客IDは1番からの連番) Rnd関数を使って、言ってみれば「抽選」をしたいと思い dim MaxRecNum as long MaxRecNum=dmax("顧客ID","顧客リスト") で、IDのMax値を取り、 dim MyRtn as long MRtn=int((MaxRecNum*Rnd)+1) '1からMax値までの乱数 を10〜20回ほど繰り返してみたんですが、どうもばらつきが うまこといっていないような気がするんです (何となくですけど、デカいほうにかたよっているような気が・・・) どこかやりかた間違ってますか?
>>259 バージョンが解らないからなんともいえないけど、
ヘルプは見たの?
ああ、ごめんなさい、Access2000です int((最大数*Rnd)+1) ってのは、ヘルプで知りました この式からするとたぶんRndってのは、0-1までの数字をテキトーに 出してくれるんですよね。 もしかしてアレですか、小数点以下には限界があったりして 0.000何とかみたいな、思いっきり小っちゃいのは出してくれない、とか?
>>261 2002のRnd関数のヘルプより
意の範囲の整数の乱数を生成するには、次の式を使ってください。
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
この式では、変数 upperbound には範囲の上限の値を指定し、
変数 lowerbound には範囲の下限の値を指定します。
>>262 ありがとうございます
似てるっちゃ似てますけど、微妙に違う、か。
(ヘルプでRandmizeってのを見つけて、For Next繰り返しにこれ入れたら
ますます片寄っちゃった orz)
式書き換えてまた何百回か試してみます
何となくいい感じにばらついてきました。 ついでに、"Randomize" ってのが気になったので、こいつの有無でどれぐらい違ってくるのか、 ひとまず顧客リストは無視して、数字だけで実験してみました (1-5000までの乱数を5000回発生させて、何種類の数字が出てくるか) Dim i As Integer Dim Rs As New ADODB.Recordset Set Rs = New ADODB.Recordset Rs.Open "zzz", CurrentProject.Connection, adOpenKeyset, adLockOptimistic For i = 1 To 5000 Randomize '←ここにこれを入れるか入れないか Rs.AddNew Rs![Bangou] = Int((5000 * Rnd) + 1) Rs.Update Next i Rs.Close Set Rs = Nothing 結果、"Randomize"ありで、平均3250種類、なしで平均3150種類 差はけっこうはっきり出たみたいで、たぶん入れたほうが良さそうです
Randomizeは1回だけでいいのに。。。
266 :
257 :2005/03/30(水) 19:33:56
>>258 >>258 説明が下手で申し訳ないです
テキストボックスの大きさ自体が(行数)が、テキストボックスの
文字列の文字数に応じて増減して欲しいと言うことです。
テキストの文字数が少ないとき
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
|あいう |
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
文字数が多いときまたは改行が入っているとき
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
|あいうがががが |
|あいうががががあいうがががが |
|あいうががががあいうががががあいうがががが |
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
>>264 ちゃんとした独立試行の繰り返しによる期待値は3160.79個な気が。
5000*(1-(4999/5000)^5000)
268 :
我王 :2005/03/30(水) 21:33:25
タブ区切りのテキストが1枚ありまして、これを特定のテーブルに流し込みたい です。ただ、Access2000ランタイム上では、マクロによるインポートウィザードが 動かないため、VBAで実現しなくてはいけないのですが、何かいい手はありませ んか? どのような構文を書けば、流し込めるのでしょうか? ただ、このテーブルは一回流し込んで、次に同じような作業をする際に一度テーブルを 綺麗さっぱり消すようにしたいのです。追加という形ではなく。 環境:WindowsXP, Access2000
>>268 ファイル名およびファイル位置が固定なら、ODBCのテキストファイルドライバ使ってインポート、
そこにSELECT *ってのでどうだ。
管理ツール内の「データソース(ODBC)」ってところで定義してからAccessでインポート。
データ消すのはDELETEなSQL打てば良いわけで。
270 :
我王 :2005/03/30(水) 22:19:07
>>269 うむ。実はその手を考えたんですが、このファイル、不特定多数の人間に
配布しなければいけない代物ゆえ、mdbのファイルとランタイムを同梱した
形で渡すのですが
インストール時に何かセッティングしなければいけないのだろうかと考える
と躊躇しちゃうんです
どうでしょうか?この手で作りこんで相手に渡してもさしたる問題は発生
しないでそのまま使えたりできるでしょうか?
271 :
名無しさん@そうだ選挙にいこう :2005/03/31(木) 17:54:00
Access2000を使っています。 フォーム上で計算をしたい場合、データシート形式のフォームでは 計算することができないのでしょうか? フッターにテキストボックスを作って計算させようとしても フッター部分がビューに反映されません。 表形式フォームの場合はうまく行くのですが、、、、
272 :
271 :2005/03/31(木) 18:22:32
いろいろ調べてみたところ、どうやらデータシート形式の フォーム上で計算はできないようですね。 すみません、質問する前にきっちり調べるべきでした。
>>270 ADOで接続文字列と拡張子弄っても無理?(.tab使った経験ない。)
無理だったら素直にReadLine&Splitコースなんだろうけど。
274 :
273 :2005/03/31(木) 22:53:35
つうか、調べてみたらTransferTextってAccessにあるやんけ。 これのインポート定義さえきっちり指定してやればええんちゃうん?
275 :
名無しさん@そうだ選挙にいこう :皇紀2665/04/01(金) 14:38:07
【. 目 的 】 用語集をつくりたい。単語や、言葉の意味から検索できるようにしたい。 【. 条 件 】 OSはWindows98SE。ACCESSはバージョン2002。 当方、ACCESSの使用ははじめてで、ずぶの素人ですが 説明書等を見れば作成可能でしょうか? アドバイスお待ちしております。
>>275 とりあえずやってみれば。
書き込むのはつまずいてから。
278 :
名無しさん@そうだ選挙にいこう :livedoor06/04/02(土) 14:07:12
【 最終目的 】 全銀協指定形式のデータ(タブ区切りTXT)を作りたい(配当金振込) 【当面の目的】 配当金演算クエリの [株主マスタ]![株数] * [配当金]![配当単価] の結果を0000000000の書式にしたい。 以前はExcelでもの凄く強引なの(バイト数数えて加えるべき" "数を算出して加える) というのを作ってたのですがファイルが壊れてしまいました。 この際ACCESSで株式管理業務を全て行おうとしたのですが、ここで躓きました。 例えば、全銀協指定の形式では、 ヤマダタロウは"ヤマダタロウ"ではなく、30文字の "ヤマダタロウ "になる必要があります。 口座番号は123ではなく、7桁の0000123になる必要があります。 これだけなら、ちょっと手間ですが、入力規則を設定して手入力というのも考えましたが、 計算結果の方はそういう訳にもいかないもんで・・・。 初心者の私には無謀な挑戦かもしれませんが、どなたかご教授願います。
280 :
278 :livedoor6年,2005/04/02(土) 15:10:06
>>279 即レスありがとうございます。
このスレの中にあったとは・・・吊ってきます。
【目的】 エクセルファイルをコピーし、コピーしたファイルに対して処理したい 【条件】 Windows95/ACCESS2000 FileCopy 原本ファイル.xls , 2004.xls と、原本ファイルをコピーして新しいファイルを作っています。 その直後、2004.xlsにたいしてシートのコピー等の処理を行っているのですが そのシートのコピーの処理の時に 「オブジェクトが閉じている場合は、操作は許可されません」 とエラーが出ます。 しかしステップで実行すると問題なく処理が正常終了するんです。 この事から、ファイルのコピーが完了する前に、シートのコピー処理が実行されてる 為にエラーが発生してると思われるのです。 この場合、どういった回避方法があるのでしょうか? よろしくお願いします。
そら、ADOのレコードセット絡みのメッセージじゃねえかな レコードセット閉じてる状態でレコード単位の処理すると そんなメッセージでる
【. 目 的 】 サブフォーム間の連動
【. 条 件 】 WindowsXP, Access2000〜2003
■これだけはやりました
【
>>1 を読んだ】 はい
【Googleで調べた】 はい
【検索キーワードは?】 サブフォーム 連動 再クエリなど
あるメインフォームの中にサブフォームAとサブフォームBがあります。
サブフォームA,Bは、同じクエリ元を参照しており、
・サブフォームA … 新規追加用
・サブフォームB … 入力済み一覧(新規追加不可・編集削除可能)
といった構造になっています。
ここで、サブフォームAにて新規追加した後、
サブフォームBに、新規追加したレコードを反映(サブフォームBを再クエリ)させたいのですが、
なかなかその操作を実現できません。
どのようにすればいいか分かる方はいらっしゃいますでしょうか?
284 :
283 :livedoor6年,2005/04/04(月) 16:07:17
>>283 です。
上記ケースの場合は
サブフォームAのafterUpdateイベントにて、
Forms![メインフォーム名].[サブフォーム名].Form.Requery
で実現できました。
しかし、
>>283 のようなメインフォームを、
さらに上位のメインフォームのサブフォームとした場合、
Forms![さらに上位のメインフォーム名].[メインフォーム名].[サブフォーム名].Form.Requery
では動作しないようです。
こういったACCESSにおけるオブジェクト定義の考え方がよく分からないのですが、
なにか参考になるようなWEBページなどありましたら教えてもらえませんでしょうか?
>>284 Me.Parent.Parent.[サブフォーム名].Form.Requery
で通らない?
286 :
283 :livedoor6年,2005/04/04(月) 19:46:21
>>285 WEBや書籍で調べてもさっぱり分からなかったのですが、
数時間、適当にいろいろいじっている内に、
Forms![さらに上位のメインフォーム名]![メインフォーム名]![サブフォーム名].Form.Requery
だと、動きました。
…が、いまいち、!(エクスクラメーション)と.(ドット)の使い分けが分かりません。
VBAにてオブジェクト間を連結させる演算子(?)のルールを
詳しく説明しているようなページはご存じないでしょうか?
プロパティ、メソッドは . で コレクションは ! らしい。
>>283 Access2000のヘルプでは
「式の使用」→「式の入力」と辿って
「式で ! 演算子およびドット (.) 演算子を使用する」
の項目に詳しい説明があったけど
289 :
283 :livedoor6年,2005/04/05(火) 00:41:58
>>287-288 ありがとうございます。非常に参考になりました。
>>283 からの疑問は全て解決しました。
>>284 で正常に動いたのが少し不思議ですが、
ひとまずユーザー定義のアイテムは ! 、
ACCESSにて定義済みのアイテムは . という使い分けが正しいようです。
正直、VB(A)はJAVAとかよりクセが強くて難しいです…
290 :
我王 :2005/04/05(火) 18:43:48
もし分かる方がいらっしゃいましたらお教え下さい。 本社のAccess2003(DBサーバ)のデータファイルに、 VPN(PPTP)でWAN側からアクセスしようとすると、拒否されます(開けない)。 うまく回避する方法はない物でしょうか。 NBT、Microsoft-DSをルータ設定で空けたり閉じたりしていますが、駄目のようです
293 :
名無しさん@そうだ選挙にいこう :2005/04/06(水) 20:23:18
はじめまして<(_ _)> アクセス2000を使って学校の練習で『バイク屋の売れ行き管理システム』を作ろうとしています。 簡単な質問かもしれませんがお聞きさせていただきますm(__)m 上手く説明できないので、たとえ話で進めます。 バイク屋に"H","Y","S","K"というメーカーのバイクが置いています。 客がいずれかのメーカーのバイクを買うとそのメーカーのカウントが+1されます。 いずれのメーカーも数種類のバイクがあり、それぞれ値段が違います。 最終的に統計して H社製品 売れた台数(●台) 売れた合計金額(●●¥) Y社製品 売れた台数 売れた合計金額 S社製品 売れた台数 売れた合計金額 K社製品 売れた台数 売れた合計金額 と表示させるには、どのようにすればいいのでしょうか?
295 :
我王 :2005/04/06(水) 20:34:55
>>293 普通に売り上げを淡々とテーブルに書き込んでゆき、あとでクロス集計なり
はたまた、単純に集計クエリーでもつかえばかんたんじゃん
>>291 ・ネットワークは見えるのか
・名前解決は出来てるのか
・目的のファイルは見えるのか
・目的のファイルをローカルにコピーできるのか
・ローカルなコピーは開くことができるのか
・中のどこかにリモードデスクトップ接続できるか
・LAN内からなら開くことができるのか
あたりを確認して…もイマイチ切り分けできないし、やっぱシステム管理者行きかねぇ。
少なくともACCESSの話じゃないんだからスルーするなり誘導するなりさぁ
Accessで印刷処理をしようと思います。 Access2000とXPとでどちらを利用したらよいか悩んでいます。 処理内容は、日次、月次で集計処理して出力するものです。 こういう点はXPの方がいいとか何か判断材料はないでしょうか?
299 :
298 :2005/04/06(水) 20:54:01
間違いました。AccessXPではなくてOfficeXPに入っているのはAccess2002だったようです。 これとの比較です。
300 :
293 :2005/04/06(水) 20:55:38
>>294 ,295
ありがとうございます<(_ _)>
テーブルで売ってクロス集計というものをやってみます
301 :
296 :2005/04/06(水) 21:02:31
>>297 すまん…でも通信技術の奴らは素人には冷たいし、微妙に板違いだし。あと1レスだけ。
Officeファミリーの中でAccessだけがイントラネットの
ゾーン設定をしないと文句言う気がするんだよね。信頼できねー云々って。
もしこれなら、IEのツール→インターネットオプション→セキュリティ→イントラネット→サイト→詳細設定で
「このゾーンのサイトには全て…」のチェックをオフ、file://サーバ名を追加。これで通る。んじゃ。
302 :
我王 :2005/04/06(水) 21:09:35
>>301 もともと、スタンドアローンで使うことが前提のパーソナルデータベースなんだか
ら当たり前っていっちゃぁあたりまえだ。
でなかったら、MySQLでもなんでもサーバーをたててアクセスさせるようにするの
が本来のいわゆるデータベースの仕組みなんだから。
【 目 的 】 サブフォームのデータ表示 【 条 件 】 WindowsXP, Access2000 メインフォームに入れた値を元に、メインフォームに作ったコマンドボタンで マクロを実行し、サブフォームにデータを表示したいのですが マクロをどのように組めばうまくいくのかが分かりません。 サブフォームの元になるクエリの抽出条件は [Forms]![メインフォーム名]![テキストボックス名] のように作ってあります。 再クエリ、クエリの実行、オブジェクトの再描画、フォームを開く、等々 試して見たのですが、どれもうまくいきませんでした。 どなたか助けてください。よろしくお願いします。
>>303 「コントロールの移動」でサブフォームにフォーカスを移動して
サブフォーム再クエリ
サブフォームにフォーカスを動かさずに再クエリするには
VBAのRequeryメソッドじゃないと駄目だったはず(Access2000の話)
305 :
291 :2005/04/07(木) 19:31:14
みなさんありがとうございます。
一応ですね、
・ネットワークは見えるのか (IP直打で共有がみれる状態)
・名前解決は出来てるのか (↑出来ていませんね)
・目的のファイルは見えるのか (見えます)
・目的のファイルをローカルにコピーできるのか (出来ます)
・中のどこかにリモードデスクトップ接続できるか (出来ます)
・LAN内からなら開くことができるのか (もちろんOK)
といった感じです
>>297 それはクライアント(外)の設定でしょうか。
やってみます。
>>305 スレ違いだっちゅーのに(w
名前解決はとりあえずクライアント側のLMHOSTSを編集して有効化しる(キャッシュが残るんで混乱せんよ〜に)。
んで、
>>301 でも効果が無く、.xlsなんかは特に問題なく開けるならこのスレなネタ。
ACCESS自体が弾くんだよ。LAN外からのアクセスは信頼できない云々って。 知らんかった?
>>308 >>291 はそんなこと一言も言ってないじゃん。
最低限の説明責任も果たしてない奴に、どこまでご親切なの?
↓ここで蛆虫がまた質問レス
311 :
309 :2005/04/08(金) 10:57:49
>>309 え?おれね。
それってAccessの仕様なんだよね。
それに>305見たら分かるじゃん。
LAN内なら開けて、VPNでファイルの共有は可能って言ってるし。
どうみたってAccess側の問題なわけだろ?
↑すまんミスった308だ。
>>310 釣られてやるが、なんでそんなに必死なんだ?
蛆蛆って気持ち悪い。
>>309 あと確かに説明は足りんな。だから俺もアドバイスしてないじゃん。
テンプレ見ない奴には答える必要はない
315 :
303 :2005/04/08(金) 17:28:21
>>304 解決できました!
どうもありがとうございました。
テンプレ厨は蛆虫です
317 :
我王 :2005/04/08(金) 19:32:40
蛆云々が気持ち悪いからどうでもいいが、
>>291 は、
>>305 までを自分で判断して、
これはACCESSの問題だと自身で仮定もしくは断定してから
ここに書き込むべきだろう。
何らかのメッセージ(
>>308 のような)が出たのなら、それも書くべきだし。
必要な情報は書かない。でも、たまたま同じ経験ある人には分かっちゃった。
この状態でスレが進むと確実に荒れる。
パソコンが三分ごとにシャットダウンされてしまうようになったんですがこれはAccessのせいですか?
クマー
クマー2
XPHOMEでACCESS2000使ってます。 パラメータクエリで抽出条件を[AAA]と[BBB]のふたつを使っているとします。 この時、[AAA]では抽出条件を指定し[BBB]では抽出条件を指定せず [AAA]にあてはまるレコードだけ抽出する(またはその逆をする) ことはできないのでしょうか? 検索等で調べたところ、抽出条件を使うフィールドがひとつだけの時 「または」欄に[AAA]Is Nullと入れれば、条件を指定しないときに 全てのレコードを表示できることは分かったのですが、 抽出条件が2つ以上の場合に片方だけ指定なしでレコードを 抽出する方法が分かりません。 どなたかこれについてご存知の方いらっしゃいませんか?
323 :
名無しさん@そうだ選挙にいこう :2005/04/09(土) 17:48:46
VBAで、 全てのフォームで共通の動作をする関数を作ろうとして、 標準モジュールに下記の記述を加えました。 Public Function hoge() Me![サンプル] = "aa" End Function とすると、「コンパイルエラー: Me キーワードの使用方法が不正です。」と出ました。 調べてみると、標準モジュールでMeキーワードは使用できないようです。 全てのフォームで共通のコレクション名(でいいのかな? 上記コードで言う[サンプル]のことです)を 使用しているのですが、こういう場合はどのような記述方法をすれば良いのでしょうか?
324 :
323 :2005/04/09(土) 19:08:20
>>323 です。
自己解決しました。
Call hoge(Me.Name)でカレントフォーム名を引数として利用することで問題解決しました。
クエリの抽出条件で、
現在開いているフォームの特定のプロパティの値を指定する方法はありますでしょうか?
>>323-324 のようなことを抽出条件で実現したいのです。
>>325 抽出条件にForms![フォーム名]![参照項目名]
>>326 ご回答ありがとうございます。
しかし、その方法だと、特定のフォームのみでしか動作しなくなってしまいます。
複数の同じようなフォームで利用したいのです。
抽出条件を相対参照で指定できれば良いのですが、どうも出来ないような感じでして…
>327 323と同じ様な…と言うことはVBA使ってるってことが前提で アイデアを出すと、VBA内に一時テーブルにデータを吐き出す SQL文を書き込んで、そのSQL文の抽出条件でフォームの コントロール部分(またはその値)を変数にし、その変数に フォームのコントロール名(またはその値)を組み込むとかどう? 例えば、複数フォームで同じ抽出条件のクエリを使いたいが 開いている各フォームのコントロールの値を使いたい時、 変数にコントロールの値を代入してSQLで一時テーブルに 吐き出して結果を得る方法もある
329 :
我王 :2005/04/09(土) 23:09:36
ほんとAccessっていじりがいがあるソフトウェアだしょなぁ
Dim TestArray TestArray = ("Me.[テキスト入力欄1]", "Me.[テキスト入力欄2]") 上記のように、配列TestArrayにコントロールを組み込んで、 For i=0 To Ubound(Array) Array(0).value = "aa" Next のように複数のプロパティを同時変更したいのですが、どうにもうまく出来ません。 正しい方法をご存じでしたらご教授頂けませんでしょうか? Perl上がりなもんで、いろいろ厳しすぎて辛いですorz
331 :
名無しさん@そうだ選挙にいこう :2005/04/10(日) 00:24:38
>330ですが、 ループ内のArrayの部分は、TestArrayのtypoです。 すいませんです。
>>330 ヘルプの質問欄にControlType。
でもって「ControlType、"AllowAdditions/追加の許可"、"AllowDeletions/削除の許可"、"AllowEdits/更新の許可" プロパティの使用例」
というトピックがある(Access2000では。バージョンによっては違うかも。)ので、それを見れ。
VBAじゃそういう配列の使い方はできない。
>>332 ありがとうございます。確認しました。
VBでは出来るらしいのに…変な仕様ですね。
とりあえず各コントロールの名称を連番にして、配列+ループで無理矢理実現できました。
(あんまりこの手使いまくると、後で保守するのに地獄を見そうですが…)
334 :
名無しさん@そうだ選挙にいこう :2005/04/11(月) 20:08:33
【. 目 的 】 Excel2000シートのインポート
【. 条 件 】 Win2000,Access2000,Excel2000
■試したけどうまくいかなかった処理
【. 概 要 】 SAP/R3にて生成されるExcel2000シート(担当者が形式合わせの為、基地外なマクロ添付)を
取り込もうとしても取り込めない。(マクロを破棄しても取り込めない)
「ファイル〜の情報にアクセスできません。ファイルが存在し、形式が正しいことを確認してください。」
というエラーが出る。Excelシートはマニアックではあるが形式等に問題無し。当然存在している。
【駄目な理由】 Access97では問題無く取込めた。Access2000が糞にいppy(ry 生成マクロが妨害してるのかな?
Excel側からAccess側にテーブルを作成することは可能。CSV等に変換すれば取込可。
このシート以外のSAP/R3シートはマクロ添付等も無く問題無く取込可。
■これだけはやりました
【
>>1 を読んだ】 はい 過去ログに回答がありそうなんですが。。。逝けません。すいません。
【Googleで調べた】 はい
【検索キーワードは?】 ACCESS,EXCEL,シート,情報にアクセス,インポート,マクロ,取込,Jet4.0,マイクロソフト,マイ糞
MSの日本語のようで日本語で無い不親切なページから、最新の Jet 4.0 Service Pack に更新しました。
ttp://support.microsoft.com/default.aspx?scid=kb;ja;829558 状況は全く変わりません。
情報の担当者に確認しましたが、「分からない。原因不明」との返答。困りました。いちいちCSVにもできないし。
これ嫁。ヴォケ 「〜」でググれ。カス お前のような池沼には無理。 とかでも構いませんので解決法をご教授
下されば幸いです。
336 :
334 :2005/04/11(月) 20:37:53
>>335 感謝です。サービスパックは当てていたはずです。一応今回再インストールしてみた時にやったはずです。
明日出社後にもう一度見てみますが。サービスパックで対応されていますか。
337 :
334 :2005/04/11(月) 20:44:54
>>335 今ググって詳しい画面を見てみたら、あまり記憶に無い画面でした・・・。
申し訳ありません。出直します。明日ダウンロード後に更新してみます。
それでもダメでしたらまた来るかもしれません。すいませんでした。
【. 目 的 】最適化による破損の回避及びTransferTextによるエクスポート
【. 条 件 】 OS:Windows2000 Pro ACCESS95
■試したけどうまくいかなかった処理
【. 概 要 】
@ ACCESS95とWindows2000を用いた場合
ttp://support.microsoft.com/default.aspx?scid=kb;ja;418237 のような問題が発生するため、
ttp://support.microsoft.com/kb/151186/JA/ を参照して、MicrosoftJet3.0をバージョンアップしたのだが、解決しない。
⇒最適化するとmdbが破損する。
また、エラー内容が多少違い、レポートを開こうとすると発生する。
エラー内容「プロパティシートまたはマクロで指定したレポート名「xxx」が不正です。
なお、開けるレポートと開けないレポートが存在する。
A 上記のバージョンアップをした後にモジュールによるエクスポート処理(docmd.transfertext)を行うと
読み取り専用エラーとなる。
ファイル拡張子がサポートされていないものだと思われる(ファイル拡張子を.txt等にすると正常に出力される)
Access2000の場合は、JET4.0のレジストリを変更することで対応できたが
Access95においてのJET3.0ではレジストリを変更しても反映されない。
(レジストリキーが違うのか?)
【駄目な理由】 (動作状況など)
■これだけはやりました
【
>>1 を読んだ】 はい
【Googleで調べた】 はい
【検索キーワードは?】 ACCESS JET 3.0 レジストリ 不具合 95 ACC
2000に比べて、ACCESS95の情報がかなり少ないなあと実感しました。
なにぶん説明不足かと思いますが、どなたかご教授いただけると助かります。
関数についての質問、というか何というか そういう出来合いの関数があれば式が短く済んでちょっと助かるな みたいな話ですけど [field1], [field2], [field3] の値の中でいちばん大きいやつをとる なんてのはないですかそうですか なければイフイフ組み合わせてやるしかないですよねそうですよね
340 :
我王 :2005/04/13(水) 23:44:40
341 :
みゆき :2005/04/14(木) 09:59:45
WinXpでAccess2000を使ってます。 フォームフィルタで抽出されたデータを、新しいテーブルに書き込みたいのですが、どうやったらよいかわかりません。 フィールドが100個あって、そのテーブル(レコード数1000件)をフォームで単票表示させ、そこでフォームフィルタで、 例えば20件に絞り込んだとします。その20件のデータを、別の新しいテーブルに吐き出したい(フィールドの構造は全く同じ) 良い知恵がございましたらご教授くださいませ。よろしくお願いいたします。
>>341 フィールド100個って… ネタかぁ?
INSERT INTO TableA (FieldA1, A2, A3,.......)
SELECT (FieldB1, B2, B3,.......)
FROM TableB
WHERE TableBの検索条件
またはフィールド名省略して
INSERT INTO TableA
SELECT *
FROM TableB
WHERE TableBの検索条件
>>342 名前:みゆき
名前:みゆき
名前:みゆき
名前:みゆき
名前:みゆき
344 :
名無しさん@そうだ選挙にいこう :2005/04/14(木) 18:14:05
HTMLのテキストボックスやチェックボックスの内容を、直接ACCESSのテーブルに 書き込む事は可能でしょうか。ADOではなく、DAOだと嬉しいのですが。
DOMつかえ
ジェットストリームアタック
347 :
名無しさん@そうだ選挙にいこう :2005/04/19(火) 11:56:51
ちょっと教えて欲しいのですが、これってVBAじゃ書けないのでOK?if a = b then hoge = trueelse hoge = falseend ifをhoge = (a=b)って感じにできない?
[フォーム ヘッダー] __ 月日.| |  ̄ ̄ 日付 データ1 データ2… [詳細] .__ __ __ | | | .| | .|  ̄ ̄  ̄ ̄  ̄ ̄ [フォーム フッター] ------------------------------------------- ↑こんなフォームで、「月日」に4/20と入力すると以後「日付」レコードに自動的に 4/20と自動で入力されるようにしたいのですが、どうしてもうまくいきません。 試してみたのは以下の通りです。 ・「日付」のプロパティで規定を=[月日]に ×空白のまま。どうやら「月日」テキストボックスに入力してもそれが反映されず 文字を読みとってくれないらしい ・↑「月日」のプロパティ→イベントでフォーカス外れたとき、あるいは レコード全体のプロパティでレコードに移動したときにVBAで更新させる [DoCmd oMenuItem acRecordsMenu(acEditMenu),acRefresh(acSaveRecord),,acMenuVer70] ×イベント自体は実行されるようですが、[詳細]セクションしか更新されなかったり、 変なデータが更新されなかったデータとしてテーブルに保存されたり、VBAエラーが出たり ・マクロ・SQL式で ×適した命令が見あたらない 環境はWinXP、ACCESS2002です。
350 :
349 :2005/04/20(水) 21:28:16
↑書き忘れました。 「月日」テキストボックスは非連結、「日付」はテーブルのフィールドに連結させてます。
>>349 >・「日付」のプロパティで規定を=[月日]に
>×空白のまま。どうやら「月日」テキストボックスに入力してもそれが反映されず
> 文字を読みとってくれないらしい
月日の更新後処理でMe.requeryすりゃ反映するような
Private Sub 月日_AfterUpdate() [日付] = [月日] End Sub
353 :
名無しさん@そうだ選挙にいこう :2005/04/21(木) 11:17:48
Call 関数(Me.Name) フォームBで上記のように標準モジュールに作成した関数Func01を呼び出しています。 Public Function 関数(FormName) Forms(FormName)![コントロール].Enable = False End Function この状態だと正常に動作するのですが、 フォームBをサブフォームに持つフォームAを作成すると 関数が動作しなくなりました。 この場合、標準モジュールの記述は、 フォームAを基点とする絶対参照にしなくてはならないと思い、 Forms![フォームA]!Forms(FormName)![コントロール].Enable = False のようにしたのですが、どうしても動きません。 正しい記述はどのようにすれば良いのでしょうか?
354 :
ドラえも〜ん :2005/04/21(木) 15:03:25
経理関係の知識がないのに簡単な売上と仕入システムを作ろうとしています。 ※専用ソフトを買った方がいいというつっこみは無しでお願いします。 売上の入金と仕入の支払を入力する為のテーブルは 売上入金テーブルと仕入支払テーブルの様に2つ作るのが標準的なのでしょうか? それとも1つのテーブルに売上入金データと仕入支払データを入れるのが標準的なのでしょうか? アドバイスを御願い致します。
355 :
名無しさん@そうだ選挙にいこう :2005/04/21(木) 15:18:27
>>354 標準などないな。規模にもよるし
消費税の請求タイミング・締め処理のタイミング、掛け・手形・現金etc
詳細に仕様決め、詰めてかないとすぐ破綻する個所だ。
そんなものすらわからんやつが何を作ろうと?
>>354 何が標準なのか自分も分からないけど、自分だったら入出金テーブル一つにまとめるかな
357 :
ドラえも〜ん :2005/04/21(木) 16:01:46
>>355 規模は小規模スタンドアローンです。
消費税の請求タイミングは請求書発行時、締め処理は不定期(勿論締日前の0〜3日ぐらい前)
で請求書発行時に締めます。
掛売上と掛仕入のみのシステムを考えています。現金は全く別処理です。
>>356 やっぱりそうですか。
現在使用中の市販の振替伝票の形そのままで売掛入金と買掛支払の共通フォームを
作ろうとすると
(1)借方1レコード貸方複数レコード
(2)借方複数レコード貸方1レコード
の2つの入力&表示方法が出来る共通入力フォームの作り方が解らないので
2つそれぞれ別のメイン&サブフォーム(つまりテーブルも2つ)を作って
別々に入力しようかな?と思ったのですが・・・
(1)
[借方金額][借方科目][社名][貸方科目][貸方金額]
10,000 買掛金 山田梶@当座預金 9,580
振込手数料 420
(2)
[借方金額][借方科目][社名][貸方科目][貸方金額]
9,580 当座預金 山田梶@当座預金 10,000
420 振込手数料
358 :
353 :2005/04/21(木) 16:05:34
切ないので自己解決してみました。 Public Function 関数(FormName) Forms("フォームA")(FormName)![コントロール].Enable = False End Function 絶対参照の記述ルールが全然分からん。 なんでこんな整理されてないんだろう…orz
恋する
>>353 はせつなくてスレ住人を想うとすぐ自己解決しちゃうの
360 :
名無しさん@そうだ選挙にいこう :2005/04/21(木) 17:07:27
データアクセスページを作成するにはSQL Severっていうものがないとだめなようですが、 SQL Severのソフトとか別に買わないと使えないのですか?
361 :
名無しさん@そうだ選挙にいこう :2005/04/21(木) 17:21:17
SQLServerなくても普通にデータアクセスページ作れるだろ、、、 まぁ替わりにMSDEってのが無料で使えるから検索してみるといーよ。
362 :
名無しさん@そうだ選挙にいこう :2005/04/21(木) 17:34:02
>>357 中途半端な聞き方でなんかムカつくな。
そこまでわかるなら、試行錯誤して考えな。
まぁ数々のワナが待ち受けてるだろうが(w
363 :
360 :2005/04/21(木) 17:36:05
>>361 ありがとうございます。MSDE探してきます。
364 :
ドラえも〜ん :2005/04/21(木) 17:57:44
あっ一部間違えてました。 (2) [借方金額][借方科目][社名][貸方科目][貸方金額] 9,580 当座預金 山田梶@売掛金 10,000 420 振込手数料
365 :
名無しさん@そうだ選挙にいこう :2005/04/21(木) 18:15:57
>>364 仕分けそのものが間違ってる。
市販品買ったほうがよいな。
振り込み手数料は管理諸費
367 :
名無しさん@そうだ選挙にいこう :2005/04/21(木) 18:54:38
>>366 ヲイヲイ・・・
喪前もわかってないのか・・・
売掛金の入金で、手数料コッチモチデ振り込んだってパターンだ。
振り込み手数料は、相手方の口座に振り込んだときしか
発生しない。当然領収書もない。
この場合は、売上から差っぴくから、売上値引きだ。
368 :
360 :2005/04/21(木) 19:41:47
すいませんMSDEをダウンロードしてみたのですが動作をするには SAパスワードが必要といわれてその設定の仕方もよくわからなくて・・・。 ページウィザードを使ってデータアクセスページを作成した時に データリンクプロパティのダイアログが立ち上がって接続タブが 表示されるのですがSQL Severデータに接続するために、 サーバー名やログインのユーザー名、パスワード、 サーバー上のデータベースを入力または選択する項目が でてくるのですがどう入力したらいいかわかりません。
369 :
349 :2005/04/21(木) 20:21:14
テーブル/クエリのデータを元にしたコンボボックスのリストは通常、 1列目で昇順にソートされて表示されますよね。左のように。 ___ ___ ┃ |▼| ┃ |▼| |ギコ  ̄| |モナー ̄| |モナー .| |ギコ .| |モララー | |モララー .|  ̄ ̄ ̄  ̄ ̄ ̄ で、右のように任意の順でソートさせて表示させようと、 リスト元テーブルの一列目にIDフィールドを作成して(この場合はモナー行に1、ギコ行に2、モララー行に3)、 プロパティの列数を2に、連結列を2に、列幅を0cm;**cmとすると思い通りにソートされます。 ですが、このやり方だと入力チェックが強制的になされてリストにないデータ(たとえば 流石兄弟とか)を入力できなくなります。 かといってWeb上によくある「リストに無いデータを自動でリストに追加」の方法は 一回二回しか入力しないようなデータ(じゃがモナーとか)までリストに追加されるので避けたいです。 何かいい方法無いでしょうか。
372 :
名無しさん@そうだ選挙にいこう :2005/04/22(金) 23:00:44
質問させて下さい 以下のような用途で使いたいのですがアクセスが使えるかどうかを教えてください。 1.見積書のような様式の決まっている用紙に、毎回データの部分が異なる内容を 定位置に合わせて印刷する。 2.データ入力時にキーパンチャーが分かりやすいように、見積書の罫線及び文字が バックに見えるようにする 3.キーパンチャーが素人なので関係のない部分に入力しないよう、入力部分だけに 枠を設ける 以上の様な用途なのですがアクセスで可能か、もしくは簡単でいいのでそういう機能を 使うか教えて頂けますでしょうか?
>>372 1,レポート
2,フォーム
3,フォームとはもとからそういうものです
>>371 >入力チェックが強制的になされて
入力チェックはプロパティで外せないか?
あと、 >プロパティの列数を2に、連結列を2に、列幅を0cm;**cmとすると思い通りにソートされます。 とわざわざ列数連結数変えるよりも、値集合ソースにテーブルorクエリ名そのまま指定しないで 右側の「…」を押してコンボ用のクエリ作った方がいいんじゃないか? SELECT コンボ参照用.名前 FROM コンボ参照用 ORDER BY コンボ参照用.順番; にすれば連結数列数1のままで良いし。
376 :
371 :2005/04/23(土) 18:37:04
>>374 列数を2以上にすると外せませんぞ。
>>375 なるほど、クエリ文でソートさせればよかったんですね。ありがとうございました。
377 :
名無しさん@そうだ選挙にいこう :2005/04/24(日) 21:09:50
教えてください デザインビューなら全項目表示されているのに フォームビューに切り替えたら埋め込みピクチャしか 表示されません どうしたら全項目表示されますか?
全項目ってなんだ
379 :
377 :2005/04/25(月) 11:56:20
>>378 ご返事、ありがとうございます。
全項目っていうのは全部の項目っていう意味です。
>>379 378の質問を履き違えてますよ^^;
答えようと思ったけど馬鹿にしてるようなので止めますね
Access97のテーブルのインポートで、ある端末だけファイルの種類の 項目の中に、テキストファイルの項目が表示されません・・・ csvファイルを取り込みたいのですが、原因ご存知の方おられませんでしょうか?
>>381 >1 のテンプレ読んでから質問してくれ
!!私、377なんですけど、379で勝手に誰かがなりすましてる!! しかも折角380さんがお答えくださろうとしているのに 379のせいで私の悩みは更に長引くことになったではないかー!! 379のバカーーーーうわぁぁぁぁぁん!!!! 全項目というのはデザインビューで配置しているテキストボックスや ラベルや標題のことです。 ピクチャは背景のはずなのにフォームビューに切り替えると じゃじゃーんと前面に出ているかのようなのです。 作り直したりしましたがやはり結果は同じで三日くらい悩んでます。 もう助けてはいただけませんか?
表示対象が印刷のみになってたら俺はパンツ脱ぐ
【. 目 的 】グループで改行しないレポート&次ページグループヘッダ表示
【. 条 件 】 Windows2000,Access2000
■試したけどうまくいかなかった処理
【. 概 要 】
Access2000でレポートを作っています。
グループを2つ作りグループヘッダも2つ作りました。
このそれぞれのグループヘッダを次ページ以降の先頭でも表示したいので
「セクションの繰り返し」プロパティを「はい」にしました。
さらにこのグループヘッダを表示後改行せずに「詳細」データを表示したいので
2つのグループの内、上側をグループのFormatイベントでMoveLayout=falseにしました。
するとプレビューでこのFormatイベントを繰り返してしまい、CPUが100%になって
固まってしまいます。下側のグループだけMoveLayout=falseにしてた場合や、
グループが1つしかない場合は同様の現象はおこりません。
グループが2つ以上の場合に「セクションの繰り返し」と「MoveLayout=false」
を両立する方法を教えてください。
【駄目な理由】 (動作状況など)
グループのFormatイベントを繰り返して固まる。
■これだけはやりました
【
>>1 を読んだ】 はい
【Googleで調べた】 はい
【検索キーワードは?】MoveLayout,セクションの繰り返し
以上です。某所に投稿したのですが回答がありませんでしたので
こちらに投稿しました。よろしくお願いします。
>>385 少しは待てないのか?
質問する前にスレ読めば回答がすぐもらえるかどうか判断できる
それをしなかったお前が悪い
ここでも回答はもらえない
387 :
名無しさん@そうだ選挙にいこう :2005/04/26(火) 11:48:34
>>383 フォーカスが入ってしまってんだろ。
ピクチャコントロールのプロパティを使用不可またはタブストップ
いいえにしてみな、
383です
>>384 さん
>>387 さん
お答え有難うございます!!嬉しい!!
なるほど、そういう理由が考えられるんですね?!
今日は職場では違うことの指令を受けていたので手付かずのままでしたが
明日、早速トライしてみます。楽しみです。
また何かあったら助けてくださいませ。
本当に有難うございました。
389 :
385 :2005/04/26(火) 20:44:27
390 :
385 :2005/04/26(火) 21:42:15
>>386 ほんとはわかんなくて教えられねーだけだろ?
ネットの掲示板なんて"気がむいたら書き込んどくか"程度の モノだと思うわけよ。 んだから、質問投げたら即時に回答が返ってくると期待する のは、いかがなものかと。
392 :
385 :2005/04/26(火) 22:44:15
私の質問にも答えてください><
うんこはだまっとれ!
383も385も香ばしいな・・・ 4月って暇なんだっけ?
ここは説教野郎と嫌味野郎の巣窟かよ。 知らなきゃ黙ってろって。
【 条 件 】 Win98&Access2000 【 概 要 】 Jet4.0を用いてエクスポート及びインポートを行いたいのですが 色々な拡張子を指定して、レジストリを長く(約70文字)すると読取エラーが起こります。 レジストリに制限があるのか、JET4.0の仕様なのかが判断がつきません。 disabledextensionsで指定できる拡張子の数に制限はあるのでしょうか? また、制限がある場合、解除する方法を教えていただけませんか。 どなたかよろしくお願い致します。
>>385 理由はよく解らないけど、「セッション繰り返し」を「いいえ」にして
MoveLayout=false
にすればいけるんじゃない?
香ばしい383がまたやってきましたよ…ナキ お答えの通りプロパティを見てみたのですが探し当てる事ができませんでした フォームのプロパティや詳細、フッタープロパティなどぎっちり見たのですが… とんちんかんですみません もう少し丁寧に探してみます。まずは報告まで。
レジストリなんか手でいじらなきゃならないのは設計ミスだよ 1からやり直しな
401 :
名無しさん@そうだ選挙にいこう :2005/04/30(土) 04:59:52
過去ログを読んでいませんが、緊急に教えていただきたいことがあります。 OSはXP sp1 Access2003で作成したMDBに、Oracle9.2のテーブルをリンクする。 リンクしたテーブルに対して「標題」を追加したい。 〜〜.Properties("Caption").Value = "xx" では、プロパティが存在しませんと言われます。 同テーブルであらかじめ手作業で「標題」をつけておくと大丈夫です。 VBAの中で「標題」の付け替えを行いたいのですがどうしたらよいでしょうか?
402 :
名無しさん@そうだ選挙にいこう :2005/04/30(土) 12:45:47
>>401 こんなところで「緊急」に質問かよ。
サポート契約外カツ、休日・緊急手当て〆て
100万だな
過疎スレの明け方に緊急かw
404 :
名無しさん@そうだ選挙にいこう :2005/04/30(土) 14:07:22
ACCESSでOpenLDAPやApache Directory等オープンのLDAPサーバ を利用することは出来ますでしょうか。 ググってもよく分かりませんでした。 方法や参考サイト等アドバイスを頂ければありがたいです。
405 :
名無しさん@そうだ選挙にいこう :2005/04/30(土) 15:08:53
406 :
名無しさん@そうだ選挙にいこう :2005/05/02(月) 16:02:33
【. 目 的 】 法律の改正を年度ごと、項目ごとに詳細管理できたら
と思い、当初はエクセルで作っていたものをアクセスで作り直すことにしました。
ところがアクセスで管理するにはあまりに一つのフィールドが長すぎて
(短い物もありますが)レポートで表示するときに表示しきれないものが
あるのですが、それに合わせて列幅や行幅を変えると
全てのレコードにおいて反映されてしまいます。
その長い文章に関して、希望の位置で改行し、適当な行の高さを与える
機能はないでしょうか?
【. 条 件 】 (ACCESS97)
■試したけどうまくいかなかった処理
【. 概 要 】 とりあえずレポートのテキストボックス枠を拡大したものの
全てのレコードに反映される。テーブルのデータを改行しても、
レポートでは希望の位置で改行されない。
■これだけはやりました
【
>>1 を読んだ】 はい
【Googleで調べた】 はい
【検索キーワードは?】 access レポート 改行
ここは、誰も答えてくれないよ。ぼそっ。
>>406 希望の位置で改行はできないけど、
テキストボックスのプロパティの「印刷時拡張」と
「印刷時縮小」を両方とも「はい」にしておけば
それなりになるんじゃない?
97にそういう機能があるのか知らないけど。
409 :
406 :2005/05/04(水) 21:52:40
>>408 レス付けてくださりありがとうございます。
早速試してみましたら、それなりに体裁が良くなりました。
ありがとうございましたm(_ _)m
【. 目 的 】
レポートでバーコードのNW-7形式の数字
を非表示でバーだけで表示したい
【. 条 件 】 (ACCESS2003)
■試したけどうまくいかなかった処理
【. 概 要 】
プロパティの変更
■これだけはやりました
【
>>1 を読んだ】 はい
【Googleで調べた】 はい
【検索キーワードは?】 access NW-7 数字 等
411 :
名無しさん@そうだ選挙にいこう :2005/05/05(木) 13:40:17
>>410 ACCESS97だとバーコードコントロールのプロパティで
データの表示のチェックをはずすだけだけど
412 :
我王 :2005/05/05(木) 13:46:59
>>410 Googleで調べた = はい じゃなくて、 おまえのを調べたっていうのなら
世話ないわな
なんだよ そのキーワードは
バーコードコントロールのことわかってないのなら、使わなくていいよ・
そんな突き放さなくてもいいじゃんw
>>410 検索キーワードが悪すぎる
少し考えれば他に適切なワードくらい思いつくはず
目的にそのままのページがすぐ見つかりますよ
415 :
名無しさん@そうだ選挙にいこう :2005/05/06(金) 16:53:30
フォームでボタンを押したときに、フォーム上のある場所に円を描きたいのですが、 教本とおりに書いてもメンバーがどうたらで実行できません。 アクセス2000です。
416 :
名無しさん@そうだ選挙にいこう :2005/05/06(金) 18:58:20
>>415 メンバがどうたら、、、ってお前は画面に書いてある言葉すら理解できないのか?いや、理解できないのはともかく覚えることすらできないんか?というか質問の意味が分からんぞ。せめて、エラーメッセージくらいちゃんと書けっつーの。
その教本に何て書いてあるのかも分からないしな。 ↓エスパーよろ
>>415 必要なライブラリが「参照設定」されてないとか。
419 :
名無しさん@そうだ選挙にいこう :2005/05/06(金) 23:08:23
>>415 これはACCESS97でもACCESS2003でもCircle メソッドは
レポートでしか使用できないんだが、
ACCESS2000は、フォームに円がかけると書いてある本があるの?
以下 ACCESS97のヘルプ
Print イベントの発生時に、円、楕円、または円弧を Report オブジェクトに描画します。
構文
object.Circle [Step](x, y), radius[, [color][, [start][, [end][, aspect]]]]
このメソッドは、レポートのセクションのイベント プロシージャに指定したイベント プロシージャやマクロ、またはレポートの "OnPage/ページフォーマット時" イベント プロパティに指定したイベント プロシージャやマクロでのみ使用できます。
そういえば、出版社は失念したがVB6の解説本で フォーム上に円を描くサンプルがあった。 まさか、その本じゃないよな
アクセス解析のデータを日別に並べて分析したいんですけど どういうふうに作ればいいのかわかりません。 アクセス解析のデータは日々アクセスの多いページ順に 並べかえられて出てきます。 ページ | アクセス数 a.html | 800 r.html | 590 d.html | 360 上のデータを日別にまとめたいんです↓ ページ | 5/5 | 5/6 a.html | 600 | 650 b.html | 500 | 450 c.html | 400 | 700 手入力でひとつひとつ入れていけばできないこともないんですが ページ数が多く大変なので、インポートして分析したいのです。 やり方がわからないので、どなたか組み立て方を教えてください。
(゚∀゚)<・・・ ↓超頑張れ
かなり原始的な方法で無理やり解決させました。 Accessで仕分けするのは自分のような素人には無理そうなので まずデータをエクセルのマクロでまとめてから Accessに移すという方法で・・・。
使い方を全く分かってないようだし、入門本でも買ってくれば?
425 :
我王 :2005/05/08(日) 13:08:25
>>423 ねぇ それってExcelで全部やりゃぁいいじゃん
意味不明だよ
いやー「できるAccess2003」って本も買ってきたんですけど 基本的なことしか書いてなかったんでやり方がわかんなかったんです。 エクセルでもある程度やりたいことはできそうなんですけど ほかにも関連付けて管理したい情報があるので Accessでデータ管理した方がよさそうだなって思ったんですよ。 とりあえず他の本も買ってきて、もうちょい勉強してみます。
ちょ、ちょっと待て! 基本的なことすら理解してないだろwwwwwwwwwwwww
>>421 WEBページのアクセス解析ってのは見たことがないんだけど、
TXTかCSVかXLSあたりの形で出て来ると考えていいのかな
これをAccessのテーブルに↓の形で取り込むことは、たぶんできるよね。
2005/05/01 a 800
2005/05/01 b 600
2005/05/01 c 450
2005/05/02 a 600
2005/05/02 b 400
2005/05/02 c 250
このテーブルには、日付とページ名にまたがった主キーを設定しておくといいかも
後々どういう使い方をするにせよ、ともかくデータはこの形でためていくのが、たぶん無難。
これを加工して横に日付を並べた形にするのはもちろん可能だけど
レコードセット開くってのは・・・きっと今の知識じゃ無理だよね。
いや、別にこんな小手先テクは後回しでもいいんだけど。
クエリだけでもいけるよ。
クロス集計クエリを使うか。とんでもない数のクエリを結合させて集計させるか。
クロス集計のほうが楽な場合もあるけど、クエリの使い方としては、個人的には後者の方が好み。
以下、やり方っていうよりあくまで参考だけど
429 :
つづき :2005/05/09(月) 03:03:39
元テーブル(Hiduke, PageNM, AcCount) これをたとえばTbl0とする。 次に SELECT Tbl0.PageNM FROM Tbl0 GROUP BY Tbl0.PageNM これをクエリのSQLビューに貼りつけ、Q0として保存 (デザインビューの形で解説できれば分かりやすいんだろうけど、ここじゃ難しいんで 迷いながらでもとにかくSQLビューの使い方はおぼえてね) SELECT Tbl0.Hiduke, Tbl0.PageNM, Tbl0.AcCount FROM Tbl0 WHERE Tbl0.Hiduke=#5/1/2005# これをクエリのSQLビューに貼りつけ、Q1として保存 SELECT Tbl0.Hiduke, Tbl0.PageNM, Tbl0.AcCount FROM Tbl0 WHERE Tbl0.Hiduke=#5/2/2005# これをクエリのSQLビューに貼りつけ、Q2として保存 SELECT Tbl0.Hiduke, Tbl0.PageNM, Tbl0.AcCount FROM Tbl0 WHERE Tbl0.Hiduke=#5/3/2005# これをクエリのSQLビューに貼りつけ、Q3として保存 とりあえずこれぐらいでいっか そいでもって、 SELECT Q0.PageNM, Q1.AcCount, Q2.AcCount, Q3.AcCount FROM Q3 RIGHT JOIN ((Q0 LEFT JOIN Q1 ON Q0.PageNM = Q1.PageNM) LEFT JOIN Q2 ON Q0.PageNM = Q2.PageNM) ON Q3.PageNM = Q0.PageNM ↑がいちおう仮の完成形ね。 デザインビューで見ると、Q0を中心に放射状に結合された形になってるのが分かるかな。 じーっと見つめていると、何となく分かったような気分になってくると思う。 ホントはね、Q1,Q2・・・とか、一個ずつ保存しなくても、最後の一文一気書きでいけるんだけど、 今のうちはクエリ自体の使い方に慣れた方がいいと思うの。 この先もっと複雑なことやるようになって、クエリが増えすぎて困ったなんてことになったとき、 はじめて一気書き考えればいいんで。 ま、しばらくはクエリいじくり回して遊んでみるといいよ。
日付を下に増やすようにするだけで随分楽になるのに……
できました!見た瞬間解読不能かと思いましたが SQLビューに貼り付けてあれこれしてるうちに なんとなく意味がわかるようになりました。 慣れると直接書いて作れるんですね。 あとデータのため方もわかったので ピボットグラフでアクセス数の分析もできるようになりました。 いやー便利ですね。
毎日一つずつクエリ増やすくらいならクロス集計でいいじゃん TRANSFORM Sum(Tbl0.AcCount) SELECT Tbl0.PageNM FROM Tbl0 GROUP BY Tbl0.PageNM PIVOT Format([Hiduke],"Short Date");
DBパスワードはつけたいんだけど、 共有モードで利用したいmdbがあります。 一度排他モードにしてDBパスワードをつけ、 その後共有モードに変更したら、 DBパスワードが使えるままだったのですが、 このまま使っても良いものでしょうか。
>>433 個人的にそういう利用の仕方の場合には、MSDEをお勧めする。
あくまでもそのときはUIとしてAccessを使う。
接続さえできちゃえばあとは、Accessであーだこーだできるから
超おすすめ
敷居が高そうで辛いみゅー
>>435 敷居が高いのは最初だけ。
テーブルを作っちゃったらあとは、Accessで思いのままに
つくれる。MSDEはあくまで影でこそこそ動いているだけだ。
437 :
434 :2005/05/10(火) 09:13:18
>>435 は私じゃないっす;
>>434 私もMSDEが良いとは思ってるんだけど、
客がAccessオンリーでと言っているので…。
いくら影で動いてるだけとはいえ。
438 :
433 :2005/05/10(火) 09:14:02
間違った。437=433です。スマソ。
439 :
名無しさん@そうだ選挙にいこう :2005/05/10(火) 10:25:53
みなさんよろしくお願いします。 印刷をすると「通常使うプリンタ」に出力されます。 出力するプリンタを指定したいのですが、どうすれば良いでしょうか? 現在この「 DoCmd.OpenReport stDocName, acNormal 」で印刷しています。 ちなみに「通常使うプリンタ」は変更出来ません。というか事情により変更したくない。 何分初心者なものでよろしくお願いします。
>>439 複数のプリンタをその場その場で選択したいのであれば、
いったんプレビュー(DoCmd.OpenReport stDocName, acPreview)させて、
印刷コマンドから印刷させるのが楽かも。
プリンタが通常でない特定のプリンタ1台に固定であるなら、
レポートデザインのページ設定で、そのプリンタに設定しておく手もあります。
もう少し細かいことをやろうとするとPrinterオブジェクトを使うことになりますが
Access2002以前(97/2000)だとサポートされていないのでつらいかも。
>>439 通常使うプリンタとはOSで設定しているもの?
レポートのページ設定の「ページ」タブでその他のプリンタに
出力するようにしたら?
勘違いなら>440さんの書かれた通りでよいかと...
442 :
名無しさん@そうだ選挙にいこう :2005/05/10(火) 16:13:43
ちょと教えて下さい。 印刷するデータが無い時、NodataイベントにCancel = Trueとすることで、 レポートの印刷をキャンセルすることができるのは分かるのですが、これだと 大量に帳票を印刷していた場合、その帳票が印刷ミスか何かで出なかったのか、 データが無かったから出なかったのか判断がつきません。 できることなら、データが無かった時に、データが無いということをレポート に明示して印刷したいのです。何かいい方法は無いでしょうか?
443 :
439 :2005/05/10(火) 17:58:33
440,441さん ありがとうございました。できました! 「レポートデザインのページ設定で...」を設定したらできました。 プリンタを直接指定することができるんですね。気が付きませんでした。 ありがとうございました。
>>442 空のラベルを作って、NoDataイベントプロシージャに
(ラベル名).Caption = "データがないよ〜ん(w"
とでも書けばよいのでは?
他の項目名ラベル等を表示させたくなければ、
For Each ctl In Me.Controlsのループで
「データがない」表示ラベル以外のctl.Visible = Falseにすれば
白紙に「データがない」メッセージのみ表示されると思います。
445 :
名無しさん@そうだ選挙にいこう :2005/05/11(水) 21:52:46
ヘルプです。助けてください WinXPのAccess2000です。 クエリとフォームが開けなくなりました。 リレーションシップを20ぐらい使って作成したクエリなんですが 開こうとしても、そのまま応答なしになってしまいます。 データが入っているテーブルは開けます。 リレーションシップを4つ5つ程度削除するか、約2000件あるデータを 3分の1ぐらいにすると開けるようになるのですが‥ 自分では重い以外に考え付きませんでした。 フォームはこのクエリを使用した入力用フォームです。 よろしくお願いします。
別のPCで試してみれば?
何がしたいのか良く考えろ。 適切なインデックスを作れ。 副問合せは使うな。EXISTSか結合を使え。 SQL文とテーブル構造を晒せ。誰かが助けてくれるかも
たしかに SQL文晒してもらわなきゃ何とも答えようはないけど じっさい晒されても、それはそれでみんな困ってしまうような希ガス (゚∀゚)<・・・20個のリレーション・・・
>>445 もっとましなPCで動かせ
以上
普通ありえない症状である。たかだか2000件程度でしかもリレーションが20なんて
俺だってそのくらいのものなんざ使っているが、開けなくなるとか
ありえない。
つまり、それだけくそなりレーションをしているか、マシンが非力か以外のどちらかし
かない。
>>448 はぁ?
おまえみたいな馬鹿は得意げに(゚∀゚)<・・・20個のリレーション・・・とか
ほざくんだよなぁw
おまえみたいなカスは今後このスレッドでなく板にすらこなくていいよ。
役立たずの上にゴミ、さらには自分の無能さに気がつかないで脊髄反射
で書き込むあたりがもはや救いようがない
おれが経営者だったら明日にでもおまえみたいな穀潰しにはやめてもら
いたいくらいだ
451 :
名無しさん@そうだ選挙にいこう :2005/05/12(木) 08:28:16
>>449 >普通ありえない症状である。たかだか2000件程度でしかもリレーションが20なんて
>俺だってそのくらいのものなんざ使っているが、開けなくなるとか
>ありえない。
喪前の作ったクエリーも、そのうち動作不能になる気がする・・・
453 :
初心者 :2005/05/12(木) 15:22:05
始めまして。access2003のデータベースの内容を インターネット上で 検索そして 表示させたいです。よくある検索サイトのような仕組みを 実現したいのですが、さっぱりです。おおまかにで良いので 道を示して下さい。お願いします。
455 :
初心者 :2005/05/12(木) 18:58:34
>>454 さん そっちの方面の知識がほとんどないのですが
0からの勉強なら どれくらいの時間がかかると思いますか???
0.0078宇宙時間
457 :
名無しさん@そうだ選挙にいこう :2005/05/12(木) 23:38:32
MDEからMDB作った人いませんか?
458 :
名無しさん@そうだ選挙にいこう :2005/05/13(金) 00:03:25
クエリで 県名 店名 種類 金額 千葉 山田 野菜 10,000 東京 吉田 野菜 10,000 東京 佐藤 野菜 10,000 東京 鈴木 果物 10,000 千葉 渡辺 果物 10,000 千葉 高橋 野菜 10,000 東京 加藤 果物 10,000 の時、クエリの集計機能で店名を無視して県名と種類だけで金額を集計することは可能でしょうか? 県名 種類 金額 千葉 野菜 20,000 千葉 果物 10,000 東京 野菜 20,000 東京 果物 20,000 店名のフィールドを削除することなくのような結果を返したいのですが・・・・ よろしくお願いします
>>店名のフィールドを削除することなく の意味がよく分からないんだけど クエリに店名を入れないで、 県名 種類 金額 グループ化 グループ化 合計 とか、 そんな単純な話では、ない?
>>455 自分で何一つ調べようとしないやる気のなさから推測するに無限に等しい時間が必要と思われ
462 :
454 :2005/05/13(金) 12:48:52
>>455 習得時間の長短はどれだけ自分に合った資料を集められるかに因ると思うよ。
AccessのVBA + DAOやADOの組み合わせを触ったことが有れば
理解は早いと思う。経験が無ければ周りに聞きながらガンガレ。
周りに聞くのは迷惑です 教えて君増やすのやめようよ
454が自分のメールアドレス教えて対応するに決まってるじゃないか。
迷惑な質問には答えない自由を行使すりゃいいんじゃねえの。
BBSならいくらでも無視できるんだがリアルだと迷惑この上ないな。 聞かれる相手によるけどwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
コマンドボタンをクリックした時に、特定のファイルを関連づけとは別のアプリケーションで 開かせるにはどうしたら良いのでしょうか? 例としては、C:\AAAにあるbbb.htmlをC:\BBB\arueditor.exeで編集しよう、という場合です。
>>467 クリックイベントプロシージャに
Shell "C:\BBB\arueditor.exe C:\AAA\bbb.html"
と書く。
いずれにしても、arueditor.exeが起動引数ファイル指定でファイルを読込起動してくれるソフトであることが条件。
>>468 っていうかしごくスマートじゃねぇ命令文だな
かならずそのパスにあぷりがあればいいってんなら別にかまわんが、
それであったとしても極めてきたねぇ文。
472 :
名無しさん@そうだ選挙にいこう :2005/05/15(日) 13:18:48
すみません。お知恵を拝借させてください。 WIN XP OFFICE 2003使用 住所録データベースを作成しています。 作成した住所録からデータを抽出する画面で煮詰まっています。 データ元:T住所録 ID(オートナンバー)、都道府県、住所、氏名、TEL、FAX、趣味1、趣味2… 抽出画面に都道府県、氏名、趣味 等、検索項目のテキストボックスを作成しました。 1つの条件で抽出する事は出来ましたが 2つ以上の条件を同時に満たすデータを抽出するにはどうしたらいいでしょうか。 (条件は空欄の場合もあります) また、趣味の項目は趣味1〜趣味5まであり、そのうちのいずれかが合致するものをすべて 選ぶようにとのことです。 都道府県で抽出→テーブルを作成→作成したテーブルから更に氏名をキーにして検索 →テーブルを作成→趣味1で抽出… とやってみましたが、検索条件が最小1〜最大11件あるので果てしない道のりのように思われてめげそうです。 効率のいい方法がありましたら教えてください 宜しくお願いします
>>472 クエリーかまして作ればいいのでは?
何が言いたいかというと、
クエリーで検索に使われるフィールドを
全て"&"で結合してフィールドを作る。
そしてそのフィールドの抽出条件に
これまたフォーム上の検索ボックスを
結合して物を指定し"Like"文で抽出。
つまり
Like "*" & <検索ボックスを結合したもの> & "*"
でいけるんじゃない?
>>472 選択クエリのフィールド欄にIIF関数使用
表示のチェックをはずす
抽出条件に True
これを抽出画面の項目ごとに設定する
たぶんこれでいけると思う。
475 :
名無しさん@そうだ選挙にいこう :2005/05/16(月) 00:54:00
MDEからフォームとレポートを抽出できませんか?
477 :
名無しさん@そうだ選挙にいこう :2005/05/16(月) 13:24:37
別々のファイルに顧客データ1と顧客データ2があり、 その2つのテーブルを合体させたいのですが、 どうしたらよいでしょうか? Excelにcvsファイルとしてエクスポートしてコピーしてみましたが、 貼り付けエラーになってしまいました。 よろしくお願いしますm(__)m
UNIONクエリ
479 :
名無しさん@そうだ選挙にいこう :2005/05/17(火) 20:25:04
一覧表を a b c d 11 234 456 562 22 345 666 このようなレポートで印刷にしたいのです。 11 a 234 11 b 456 11 d 562 22 a 345 22 c 666 出来るのでしょうか?
480 :
479 :2005/05/17(火) 20:32:12
なんか元表がずれてしまいました。 下のアルファベット欄がフイールド名。 その右がそのデータです。
>>479 一度エクセルにエクスポートし、
エクセルで行列を入れ替えるという方法もありますが。
最近リレーションシップが増えてきました。 これらをもっとスマートな形にもっていきたいです。 どのような手段を使うと、りレーションシップでも管理 を減らして、同じような環境をたもてますか?
一概には言えん
>>482 のいうスマートじゃないリレーションシップというのが想像できないな。
ルックアップ用のコードと名称だけのテーブルが100個近くあるとか?
485 :
名無しさん@そうだ選挙にいこう :2005/05/17(火) 23:14:41
---------------------------------- 日付 店 りんご みかん 5/1 01 100 500 5/1 02 200 600 5/2 01 300 700 5/2 02 400 800 ---------------------------------- 上記のテーブルを以下のように印刷したいです。 <1ページ目> ---------------------- 店01 日付 5/1 5/2 りんご 100 300 みかん 500 700 ---------------------- <2ページ目> ---------------------- 店02 日付 5/1 5/2 りんご 200 400 みかん 600 800 ---------------------- WindowsXPとACCESS2000です。 列数を設定してもラベルの位置がうまくいかず途方にくれています。
486 :
472 :2005/05/17(火) 23:49:24
おかげさまで無事完成しました。 どうもありがとうございます
>>485 日付 りんご みかん
5/1 100 500
5/2 300 700
なら、簡単なんだけどね。
帳票タイプのフォームで、「詳細」部分にスクロールバーをつけることはできますか? ホイール上下でレコードスクロールしていると、一番上の1,2行が表示されなくなって PageUpキーを押さないと見えなくなってしまうので困ってます。
>>485 select
店,'りんご' As 商品,
sum(iif(日付=#5/1#,りんご,0)) as [5月1日],
sum(iif(日付=#5/2#,りんご,0)) as [5月2日],
...(31日分繰り返し)
from テーブル名
group by 店
order by 店
union all
select
店,'みかん' As 商品,
sum(iif(日付=#5/1#,みかん,0)) as [5月1日],
sum(iif(日付=#5/2#,みかん,0)) as [5月2日],
...(31日分繰り返し)
from テーブル名
group by 店
動かしてないんで何ともいえないが
こんな感じで・・
490 :
479 :2005/05/19(木) 20:48:20
>>481さん エクセルでぴぽっとテーブルで出来ますが、 データが0でも項目が作られてしまうようです。 vbaでするのならアクセスでも同じかな。読みとっていって 1以上ならテーブルにアップデートする。 でもレポートでしか使わないのです。
491 :
名無しさん@そうだ選挙にいこう :2005/05/20(金) 11:18:13
mdbに対してテキストファイルに書かれたSQLを次々と 発行していきたいんですけどなんかいい方法ありますか? とりあえず思いつくのがVBAでファイル読み込んで一行ずつ 実行する、くらいなんですけど。 こういう時ってどうしたらいいでしょうか?
493 :
491 :2005/05/20(金) 13:05:07
>>492 えー、なんかめんどくさくないですか?
INSERT INTO TBL VALUES(1)
/
INSERT INTO TBL VALUES(2)
/
みたいなのを貼り付けて実行できる環境とか
とにかく楽チンな方法ないですか?
イメージでピクチャを貼り付けると、強制的に低解像度になってしまい、荒い画像しかレポートで印刷できません。 元の解像度のままレポートに貼り付ける方法はないでしょうか?
495 :
485 :2005/05/21(土) 09:21:04
>>487 >>489 ご回答ありがとうございます。
データの日付は10年以上にわたって不定期に追加されていくので、
なかなか難しいです。
レポートに1レコード1列で印刷というような機能があればてっとり早いんですが…。
[店]でソートしてWordの差込。店の番号が変われば改ページを挿入みたいなことが
できないものかなとも考えております。。
>>495 487だけど、日付と品名の位置が逆になるだけで
あとはご希望通りにできるけどそれじゃ駄目なの?
住所録データベース作成中です。(使用OS WINXP ACCESSのバージョン 2003)
【. 目 的 】
住所録に写真を自動的に表示すること。
(県名と氏名から自動的にパス名を作成し、フォームに表示)
c:\住所録\写真フォルダに写真を保存(jpg方式)してあります(命名形式は [県名][氏名].jpg)
フォームを読み込んだときのイベントでパス名に一致する画像をリンクで表示します。
更新クエリで、パス名のフィールドに
レコードの更新:"c:\住所録\写真\" & T住所録!県名& T住所録!氏名 & ".jpg"と言うのを作りました。
再クエリを行なうと元テーブルT住所録の中のフィールド「パス名」に書き込みます。
これを自動的に行なう方法はないでしょうか?
流れで行くとこんな感じにしたいと思っています
1. フォームから「県名」「氏名」を入力する
2. 「県名」 「氏名」フィールド更新後のイベントでテーブルを更新(保存?)
3. 再クエリを実行
4. フォームを読み込みなおして写真を表示
1と3は出来ているのですが2と4で詰まってしまって先に進めません。
【. 条 件 】
■試したけどうまくいかなかった処理
ボタンを作成し、再クエリを割り当てて実行しても、テーブルに県名、氏名データが書き込まれていないので
再クエリが実行できません。
次のレコードに行って戻る動作を数回行なってやっと写真が表示されます。
【駄目な理由】 (動作状況など)
■これだけはやりました
【
>>1 を読んだ】 はい 【Googleで調べた】 はい【検索キーワードは?】 Accesss 写真 再クエリ update 更新
宜しくお願いします。
>>497 写真パス名をテーブルのフィールドに書き込まずに(使わずに)、
フォームのレコード移動時(Current)およびイベントプロシージャで、
県名と氏名テキストボックスの値を使って写真フルパス名をその都度構築し、
イメージコントロールのPictureプロパティにそのフルパス名を設定する
というのではだめでしょうか?(テストしてないんでなんともいえないが)
>>498 自己レス:「レコード移動時(Current)およびイベントプロシージャ」の「および」は削除
owc10.dllのエラーが出るようになってしまいました、 このowc10.dllは何者なんでしょうか?
>>500 参照設定を確認して「参照不可」のもののチェックを外す
>>500 呼んで字の如く
Office Web Controlの略だ。貴様のマシンに入っているOfficeXPかなにかの
コンポーネント。そんなものとっととはずしちまえ
503 :
497 :2005/05/25(水) 01:19:06
>498 ありがとうございます。早速変数を使ってフォームのレコード移動時のイベントを作成しました。 Private Sub Form_Current() Dim pic1 As String pic1 = "C:\住所録\写真\" & Me!県名 & Me!氏名 & ".jpg" On Error GoTo Form_Current_Err Me.写真なし.Visible = False ’写真がないときはラベル「写真なし」を表示する Me.画像1.Picture = pic1 Exit Sub Form_Current_Err: Me.画像1.Picture = "" Me.写真なし.Visible = True Resume Next End Sub これで、フォームを読み込んだときには無事表示されるようになりました。 済みませんがもう一つご教示下さい。 新規レコード、または既存レコードで県名と氏名を入力したとき、 氏名テキストボックス更新後のイベントで写真も自動的に更新されるように 変数を書き換えるにはどうしたらよいのでしょうか。 (県名と氏名を入力してenterを押したら写真がぱっと表示されるようにしたい) アドバイス宜しくお願いします。
504 :
名無しさん@そうだ選挙にいこう :2005/05/25(水) 06:45:11
ところで、画像(jpg)で1000レコード位で、動かなくなるのですが。 バージョン2000です。 どうしてでしょうか。どなたかアドバイスを。
505 :
500 :2005/05/25(水) 07:16:07
501-502さん ありがとうございます
>>504 埋め込みしてりゃまぁ、マシンパワー使い切って動かなくなるだろうなぁ。
どなたかご存知でしたら、できる・できない・できるならヒントを教えてください。 当方2000ですが、他のバージョンでも構いません。 (1)すでに作成済のMDBテーブルのフィールド型を VBAで(ADOXやDAOを使って?)変更することは可能でしょうか? 例えば数値型をテキスト型に変更するとか (2)すでに作成済のMDBテーブルのフィールドの並びを テーブルデザインUIを使わずに、VBAで(ADOXやDAOを使って?)変更することは可能でしょうか? 例えば最後のフィールドを先頭に持ってくるとか
できる
509 :
名無しさん@そうだ選挙にいこう :2005/06/01(水) 01:36:56
今フォームを作ってて、機能的には問題ないんだけど デザイン(見た目)がいまいちです。 コントロールのかっこいい配置方法やサンプルなど 掲載してるページってないでしょうか? ちなみに、単票でテキストボックス20個くらいのやつと 同じくそれの帳票バージョン作ってます。
背景塗りつぶしのラベル背面に置いてHTMLでいうところのテーブルみたいに配置とか。 余計なオブジェクト増えると管理面倒になるからオススメしないけど。
>>507 1) ALTER TABLE で出来る
2) VBAでSQL発行してやれば?
または、非連結フォームにして適当なコントロールに
RecordSetの値を代入してやれば?
現在支店の統括の作業をしているのですが、支店にはアクセスがなく本店の方にはCSV形式で提出させております。 本店ではアクセスで集計したいのですが、すべて同じ項目のテーブルをクエリを使って一つにまとめることができるのでしょうか?
VBAで、現在開いているフォームの名前を調べる関数と、自分のフォームで今フォーカスが どのフィールドにあるか調べる関数はありませんか?
516 :
名無しさん@そうだ選挙にいこう :2005/06/02(木) 22:25:11
助けてください(´・ω・`)
【 目 的 】 コンボボックスで表示される一行ごとに文字の色を変えたい
例えば コンボボックスで
A
B
C
と選択できるようになっていた時に
A→赤字表記
B→青字表記
C→黒表記
という感じで・・・。
【 条 件 】 Access2000 (OSも2000です)
■試したけどうまくいかなかった処理
【 概 要 】 全部まとめて「赤」や「青」には簡単にできるんですが・・・。
【駄目な理由】1条件ずつ変えたいのです・・・。
■これだけはやりました
【
>>1 を読んだ】 はい
【Googleで調べた】 はい。でもヒットしないのでもしかしたら「できないのか?!」と思い始めています・・・。
【検索キーワードは?】 Access+コンボボックス+書式、Access+コンボボックス+一行 等・・・
文字の色の変更ではなく背景色が変わる表記でもよいです。
A選択→表示時の背景が赤
B選択→表示時の背景が青・・・という感じで・・・。
>>516 ActiveXコントロールを使え
以上。コンボボックスのコントロールなんざほとんどどんなPCでも入って
いるので、さくっと使え
518 :
名無しさん@そうだ選挙にいこう :2005/06/03(金) 03:08:55
バーカ バーカ バーカ
*やりたいこと Access2003 のフォームで更新不可にしておいて[スペース]キーで更新可能にして、更新後また更新不可にする。 他のフォームでも使える汎用性のある方法が良い。 *やったこと 全ての連結テキストボックスの編集ロックをTrueにする。 ------------------------------------------ Public ctlCurrentControl As Control ------------------------------------------ Private Sub 手数料等_KeyPress(KeyAscii As Integer) Static ctlCurrentControl As Control If KeyAscii = 12288 Or KeyAscii = 32 Then Set ctlCurrentControl = Screen.ActiveControl ctlCurrentControl.Locked = False ctlCurrentControl.BackColor = 8421440 End If End Sub ----------------------------------------- Private Sub Form_AfterUpdate() ctlCurrentControl.Locked = True ctlCurrentControl.BackColor = -2147483633 End Sub ----------------------------------------- *知りたい事 Form_AfterUpdate()で「オブジェクト変数または With ブロック変数が設定されていません。(Error 91)」と出る。 変数ctlCurrentControlの値が保持されていないのか? 保持するにはどうしたら良いか?
520 :
519 :2005/06/03(金) 12:12:01
自己解決しました
521 :
名無しさん@そうだ選挙にいこう :2005/06/04(土) 15:39:06
WinXP Access2000 ちょっと質問させてください OracleのDBをACCESSで見ようとしたのよ で、テーブルにリンク張ったんだけど、スキーマがテーブル名の前に来ちゃうんですよ (AAA_(テーブル名))みたいな感じで これって一括で変換してスキーマだけ消すてこと出来ないかな?
Password 設定したアクセスファイルって、 Password 知らなくても、ADO だかDAO だかで接続するとデータ見えちゃうのですか?
やってみれば?
やりかた教えてくらはい
リッチテキストを管理したいのですがアクセスで出来ますか?
市町村合併による住所変更をしたいのですが、やり方がわからないので教えていただけませんか? Access2000を使っています。 郵便番号を入力すると自動的に番地以外の住所が出るように設定されています。 パソコンのできる人が退職し、いきなりアクセスの住所を合併した町だけ新しい住所に変換できるようにと、言われ困ってます。 パーフェクトガイドブックなどを読んでもやり方が書いてないようです。 ネットで調べても有料はあるようですが、予算がないので変更する町の住所だけ変える方法が知りたいです。 住所がアクセスに元から入れられていて変更不可能かどうかもよくわかりません。 もしよろしければお答えください。
>>527 『 更新クエリ 』 を使用すれば、
住所中のある文字列を指定して抽出し
任意の文字列に変更することができます。
詳しくは、HELPで 『 更新クエリ 』 をキーワードに探してみてください。
本の場合はガイドブックより、「作ってみようデータベース的」なもののほうが
現場にあった役立つテクニックが多く掲載されており、重宝するようです。
>>527 528さんが言仰っている通りなのですが、
そのデータが全国区なら非常に大変だと思います。
ACCESSの住所支援機能は郵便番号または住所が入力されたタイミングで
更新されるようなので既存のデータの修正はEXCELにエクスポートしてから
郵便変換ウィザードを使った方が楽。
但し、マイクロソフトが新しい郵便辞書出してくれないと話にならないけど。
会社がお金を出してくれるようなら、YUBIN7を買えば楽に変更できるらしいよ。
3万円強だと思ったから、変更に費やす時間を考えれば結局は安上がりになるんじゃない?
長文、失礼。
>>528 ありがとうございます。
パーフェクトブックの「更新クエリ」の項目を見ても、自分に必要な項目と気がつかなかったのが恥ずかしいです。
仕事帰りに本屋で探しても、アクセスの本が一冊も置いてなかったのでかなり焦ってました。
それからずっとネットで探したりして。
ここならと思い質問させていただきましたが、こんなにも早いお返事をいただけまして本当に気持が楽になりました。
早速ご返事どおり解決しようと思います。
531 :
529 :2005/06/06(月) 00:26:21
連続カキコですみません。 それかその仕事が急ぎ出ないようなら 勉強がてらそういうの作ってみたら? 恐らくそのデータには郵便番号があるでしょうから 「ゆうびんホームページ」で住所の郵便番号の最新版をDLして 郵便番号通しをを付き合わせれば、ほとんどの住所は更新可能じゃないかな。
>>529 528さんにお返事してる間に別の方にもご回答していただくとは。
そうなのですか。
状況によって違ってくるのですね。
頼まれたものは全国区ではなく、限られた地域だけですので大丈夫みたいです。
今後必要な時がありましたら、参考させていただきます。
お返事ありがとうございました。
>>531 実は急ぎの仕事をいくつか抱えた上で頼まれてしまいまして。
でも全国に対応できるようにしておくのも良いと思います。
時間がある時に挑戦してみます。
色々とありがとうございます。
534 :
名無しさん@そうだ選挙にいこう :2005/06/06(月) 02:06:46
「ゆうびんホームページ」で住所の郵便番号の最新版を見て 腹が立つのは、旧町名と新町名の対照表になっていないことです。 郵政省に電話しても作ってくれない。 「ご指摘ありがとうございました」とか、ぴんとはずれの回答が帰って くる。 あれ郵便番号簿作っている会社は天下りの会社らしい。 で ぜんぜん人ごとのような態度だよ。最近は郵便番号簿も 置いてない局も多い。腹立たしいことだよ。 郵便局は早く民間にしてほしい。
【. 目 的 】 コマンドボタンを押した時に別のフォームのコントロールを削除する。 【. 条 件 】 winXP ACCESS2002 【. 概 要 】 アクセスでフォームを2つ用意し(フォーム1、フォーム2とする。) フォーム1にコマンドボタン フォーム2にテキストボックスを16個作り フォーム1のコマンドボタンを押した時にフォームのテキストボックスを全て削除する コードは Private Sub コマンド0_Click() Dim frm As Form Dim ctl As Control DoCmd.OpenForm "フォーム2", acDesign, , , , acHidden Set frm = Forms!フォーム2 For Each ctl In Forms!フォーム2.Controls DeleteControl "フォーム2", ctl.Name Next ctl End Sub と記述 【駄目な理由】 半分の8個しか消えない。 これは何故なのでしょうか?
>>535 削除した時点でインデックスが変わるからだと思います。
For lngIndex = Forms!フォーム2.Controls.Count -1 To 0
DeleteControl "フォーム2" Forms!フォーム2.Controls(lngIndex).Name
Next
のようなコードでインデックスの後ろから削除していけば大丈夫かと。
>>536 事故レス
For lngIndex = Forms!フォーム2.Controls.Count -1 To 0 Step -1
DeleteControl "フォーム2", Forms!フォーム2.Controls(lngIndex).Name
Next
RichTextBoxコントロール 使えないのですか?
539 :
名無しさん@そうだ選挙にいこう :2005/06/08(水) 06:26:47
複数の「題名・掲載書籍名」から、一つの「作品情報」を調べられるようにしたいのです。 (作品は同じでも、掲載書籍により題名が異なるので) 「Access 2003 データベース構築基礎」という書籍を買ったはいいのですが、 リレーションシップの初歩の初歩で混乱しています… [題名・掲載書籍テーブル] 題名 掲載書籍名 [作品情報テーブル] 書出し 書体 制作時期 所蔵先 ↑といった感じです。 すごい初歩的な質問ですみませんが、 リレーションシップの取り方を教えていただけませんか? 必要ならばファイルもアップします。
[作品情報テーブル]に重複不可のID持たせて(数字でも英字でも日本語でも何でも可)、 [題名・掲載書籍テーブル]にそのIDを入れるフィールド作って入力すれば[題名]→[作品]の 連結でいけるんでないの? ただそれ以前に、そのデザイン自体が使いづらいような気がしないでもないけど。
会社で使っているユーザーレベルセキュリティ設定したMDBをコピーして自宅のAccessで開いたら パスワードなしで簡単に開いちゃうんですが、あってますか? こんなものなのですか?
>>541 ユーザーレベルセキュリティはPC毎の設定なのでそんなもんです。
Office製品のセキュリティはザルなので信用しない方が良いよ。
543 :
541 :2005/06/08(水) 09:35:04
d
544 :
539 :2005/06/08(水) 09:51:14
>>540 ありがとうございます。なんとなく解ってきました。
>ただそれ以前に、そのデザイン自体が使いづらいような気がしないでもないけど。
なにか、他にいいデザインはあるでしょうか? 意見お願いします
初歩的な(?)質問です。 [商品]テーブル *商品ID, 商品名 [売上]テーブル *伝票ID, 商品ID, 数量 なテーブルがあったとしてフォームを [データソース] SELECT 売上.売上ID, 売上.商品ID, 商品.商品名, 売上.数量 FROM 商品 INNER JOIN 売上 ON 商品.商品ID = 売上.商品ID; で作りました。 フォーム上でレコードを削除すると売上伝票のレコードだけ削除されますよね? これで希望の結果なのですが、これって1対多クエリの多側とACCESS が判断してくれた からでしょうか? こーいう場合はこうなるっていうのが説明されているところってないでしょうか。 (リレーションシップの有り無しとか、1対1の場合とか)。
546 :
名無しさん@そうだ選挙にいこう :2005/06/08(水) 12:14:15
【. 目 的 】テーブルのメール送信
【. 条 件 】WindoesXP,Access97
■試したけどうまくいかなかった処理
【. 概 要 】Win98,Access97で使えていた
Docmd.SendObject
が、OSを変えたらでエラーがかかるようになった。
メールソフト Outlook Express
【駄目な理由】 (動作状況など)
[エラーメッセージ]
メールセッションを開始できません。
マールアプリケーションが正しく動作することを確認してください。
テーブルを開いて、ツールバーの送信コマンドでも同じ
メッセージが出る
■これだけはやりました
【
>>1 を読んだ】 はい
【Googleで調べた】 はい
【検索キーワードは?】 MSAccess,SendObject
ACCESS側の問題ではないと思うので、
ここでの質問が、適切かどうかわからないのですが
わかる方がいたら、よろしくお願いします。
MDB が暗号化されているかどうかは何処で見るの?
心の目で見てみたけど見えなかった orz) 知ってる人はいないの?
>>547 っていうか、聞くとかADO接続してみるとかやってから言ってくれ。
だいたい、その質問自体が意味がない。
暗号化って何だ喰えるのか?
MDB が、[暗号化/復号化] で暗号化されてるかどうかは、どうやって見るの? [暗号化/復号化] を2回したら復号化されちゃうと思うし、何回やったか覚えてないし
553 :
名無しさん@そうだ選挙にいこう :2005/06/08(水) 22:21:25
暗号化されてると,圧縮しても容量がほとんど減りません。
ある MDB と、もう一回 [暗号化/復号化] した MDB 2種類を圧縮してみて 大きいほうが暗号化されてる方か、、 なーるほど、 って何てメンドイ見分け方なのよ ワラタ
【. 目 的 】 WebBrowserコントロールのリサイズ 【. 条 件 】 Win2000,Access2000 【. 概 要 】 フォームにWebBrowserコントロールを配置してWebページを閲覧しつつ テーブルからHTMLを解析してデータを取得するアプリを作成しています。 フォームのリサイズと共に同じ割合でWebBrowserコントロールをリサイズしたいのです が、うまく行きません。 VB6やEXCELのフォームではリサイズできます。 Googleでもかなり調べましたが、どなたか解決方法をご存じでしたら教えてください。
>>555 うまく行かない方法が何なのか分からないとどうしようもないけど、お約束の
サイズ変更時のイベントでフォームの横幅×0.Xをブラウザの横幅にしてもダメ?
>>555 まぁ、誰もが引っかかるあれなんだが、とりあえず指摘しておくと
☆ブラウザコントロールのリサイズは不可能
以上。というか、VB6のコードでそのままいけるはずだ って思って
るっしょ?そのとおり。正解なんだが、ブラウザコントロールの持って
いるバグのせいで、実はそれではリサイズしても元のサイズに戻って
しまうのだよ。これはコードが間違っているわけじゃなくて、完全にMS
の責任。
まぁ、諦めなさい。いろいろ俺も手を尽くしてみたが、画面解像度ごと
にフォームを用意し、解像度を判定してそのフォームを表示するくらい
しか無理だ
558 :
555 :2005/06/09(木) 20:05:28
>>556 ,557
ありがとうございます。
自分で解決しようとかなり時間をかけて調べましたが(ドイツの掲示板まで自動翻訳で調べました)、
やはり無理なのですね。それらしいことが日本語のみならず英文でも見あたらないのでFAQではな
いような気がしますが...
VB6やEXCELと違ってセクションがあるのでその関係かなといろいろ悩んでいました。
結局AccessとWebBrowserコントロールの相性みたいなものですかね?
とりあえず、解像度判定の別フォーム(これは気付かなかった)の方向で逃げます。
電話の更新後イベントで下4桁以外をコピーすればいい
電話・FAXが同番号の人多いから全部コピーした方が便利だね
>>561 それが・・・ほとんど違うんです。下4桁だけ・・・orz
なんつーかさ、フォーム上でFAXの下四桁だけ入れるテキストボックス作っちゃって、 それと電話番号の下四桁省いたものと合体させたものをFAX番号として代入しちゃえば いいんでないの? 電話番号とFAX番号が完全に違う人がいる場合はまた別の処理をやることにして。
565 :
559 :2005/06/09(木) 23:47:51
あ、はい。正直それも考えたのですが、 フォーム上で作ったものを、どのように合体すればよいか分からなかったため、断念しました。 出来たら、やり方を教えていただければ、大変ありがたいです。よろしくお願いいたします。
↓ キーボードの打ち方から丁寧に頼む。
| 何について調べますか? | ┌────────────┐ | | 更新後イベント | | | | | └────────────┘ | [ オプション(O) ] [ 検索(S) ] | `──────────┐ ┌─── , '´l, ..| ./ , -─-'- 、i_ |/ __, '´ ヽ、 ',ー-- ● ヽ、 `"'ゝ、_ ', 〈`'ー;==ヽ、〈ー- 、 ! `ー´ ヽi`ヽ iノ ! / r'´、ヽ `´ヽノ
568 :
559 :2005/06/10(金) 01:24:24
>>567 調べたのですが・・・更新ってクエリの更新を使えばいいんですよね?
>>568 何一つ分かっていないようだからまず総合解説本買ってAccessの基本勉強してください。
どんな本買えばいいんですかという質問は無しね。
>>559 普通にイベントでコピーをするように書けばいい
>>568 クエリじゃねぇよ
イベントに書けっていっとろうが
572 :
名無しさん@そうだ選挙にいこう :2005/06/10(金) 08:48:35
アクセス2000、OSはXPを使用しています。 以前は、会社でデータベースソフト「桐」を使っていたのですが、 「補集合」という便利な機能がアクセスには無いようなので、困っています。 「補集合」とは、たとえば条件Aで抽出した後、 逆に条件Aに当てはまらないものを抽出するというものです。 もちろん、これはクエリで条件文を書けばアクセスでも可能なのですが、 アクセスに詳しくない一般ユーザーにも ボタンを押すだけで簡単に「補集合」ができるような機能はあります でしょうか?もしありましたらやり方を教えてもらえたらうれしいです。 以上、よろしくお願いいたします。
>>571 データシート上でなんとかしようとしている時点で察せ
>>572 > ボタンを押すだけで簡単に「補集合」ができるような機能はあります
右クリック → 非選択フィルタ
Access2003 だけど、2000になかったらVerUPしれ
>>572 VBAでSQL書けばいいんでね?
抽出条件変数にして、補集合ボタン押した時だけ条件変えれば良いかと。
like をnot likeにしたり。
MDB が、[暗号化/復号化] で暗号化されてるかどうかは、どうやって見るの? [暗号化/復号化] を2回したら復号化されちゃうと思うし、何回やったか覚えてないし
心の目で見てみたけど見えなかった orz) 知ってる人はいないの?
↓ キーボードの打ち方から丁寧に頼む。
暗号化されてると,圧縮しても容量がほとんど減りません。
ある MDB と、もう一回 [暗号化/復号化] した MDB 2種類を圧縮してみて 大きいほうが暗号化されてる方か、、 なーるほど、 って何てメンドイ見分け方なのよ ワラタ
582 :
572 :2005/06/10(金) 14:55:57
>>574 ,575
回答ありがとうございます。説明が舌足らずでした。
「桐」の場合、「補集合」機能をつかえば、
A,A,B,A,C,A
↓ 「A」を抽出
A,A,A,A
↓ 「A」の補集合で抽出
B,C
という風になるのですが、
access2000の場合、
A,A,B,A,C,A
↓ 「A」を選択フィルタで抽出
A,A,A,A
↓ 「A」の非選択フィルタで抽出
なし
という風になってしまうのです。
ちなみに、上記のはあくまでも「補集合」機能を説明するための例ですので、
アクセスでB,Cを抽出する方法を知りたいのではなく、
アクセスで、「桐」の補集合のような機能があるのかどうか、
もしある場合はどんな方法があるのかを教えていただきたいのです。
よろしくお願いします。
はぁ?
舌足らずが治らないなぁ
ボタン作るだけで補集合する機能はないがボタン押すだけで補集合する機能は作れる。 これでいいだろ。やり方もすでに出てるんだし。
582が言いたいのは、 桐では表示されているデータを操作する Accessではデータソースを操作する Accessで桐のように操作したい、ツー事みたいだが まず日本語の勉強しれ
>>582 役に立たないかもしれませんが
> A,A,B,A,C,A
> ↓ 「A」を選択フィルタで抽出
> A,A,A,A
> ↓ 「A」の非選択フィルタで抽出
> なし
選択フィルタと非選択フィルタを続けて使用するとこうなる。
選択フィルタを使用した後、一度データシートビューを閉じ
再度開いて非選択フィルタを使用すれば機能します。
MDB が、[暗号化/復号化] で暗号化されてるかどうかは、どうやって見るの? [暗号化/復号化] を2回したら復号化されちゃうと思うし、何回やったか覚えてないし
589 :
名無しさん@そうだ選挙にいこう :2005/06/10(金) 16:27:38
ACCESS200です テキストファイルをインポートすると並び順がバラバラでテーブルに入っている時があります。ソートで並び直せるデータでは無いのでなんとかできないでしょうか?
590 :
名無しさん@そうだ選挙にいこう :2005/06/10(金) 16:28:30
>589 Access2000です
>>589 > テキストファイルをインポートすると並び順がバラバラで
何の並び順?
桐から移行中ですか? 桐には始めから物理行番号があるが、Access にはない
>>591 たとえば縦に
あ
い
う
え
お
という内容のファイルをテーブルにインポートしたら
う
え
お
あ
い
のようにテキストに書かれた順番にテーブルに格納されないのです
>>593 そのテーブルに変なソート設定されてたりしない?
悪いことは言わん、桐にしとけ
>>593 桐の行番号の情報をインポートしたいって言う意味か?
だったら桐で連番とかのフィールド作ってインポートしろ
何の順番か情報渡さなければ順番も何もないだろ
念のため、桐の物理行番号とテキストの書かれた順番とは違うぞ(行挿入)
ここは桐ユーザーが集まるインターネットですね
MDB が、[暗号化/復号化] で暗号化されてるかどうかは、どうやって見るの? [暗号化/復号化] を2回したら復号化されちゃうと思うし、何回やったか覚えてないし
>>589 テーブルの最後にオートナンバー型でIDを追加しておけば
しばらくは大丈夫じゃない?
テーブル上では主キーがあると自動的にそのフィールド列で
ソートされてしまうみたいです。検証はしてないけど。
順番が大事なら並び順のフィールドが必要だろう。 誰かがソートかけたから元に戻せませんじゃダメだし。
人間社会でもデータベースでも「順番」では意味が通じません 「**の順番」で意味が通じます 桐では、**がないと「物理行番号の順番」と解釈されますが 物理行番号などどいう便利な(お節介な)ものは通常のデータベースにはありません 普通は、**を自分で指定する必要があります
桐からAccessへ移行時に戸惑う事 #1.桐では表示されているデータを操作する、Accessではデータソースを操作 #2.桐では始めから物理行番号がある、Accessにはない #3.桐では表示モードと更新モードがある、Accessにはない #4.Accessのレポートで死亡する、桐のレポートは秀逸 #5.Accessはバグが多い #6.桐ではデータをグループ化したフォームが簡単に作れる #7.桐では直前値関数(#1のお陰)があり出納帳等を簡単に作れる、Accessでは状況毎に異なるDAOコードが必要 移行が完了する頃にはAccessも慣れて上記は納得していくが、 #3.だけは不満が残る、ドドドーット入力や更新をするとデータ間違えそうで不安 イベントやVBAを屈指しても桐のように安心してドドーット入力更新できるフォームは作れない
桐にしとけ
#8.桐はインタープリタだからマクロが遅い
>>603 いっておくが、桐のそれらってのは、データベースとしては異端。
ほとんどのデータベースはAccessにあるような機能が普通である。
さらにいえば、Access程度の機能は他のDBでは当たり前。それ以上
が搭載されている。
桐でもつかってろ。貴様のような奴はDBの基本もわかってないよう
だからな。文句があるなら、EXCELでも使ってろ
603は、桐は異端と解ってて書いている件に付いて つーか桐では通常苦労してコードする部分がデホルトで用意されていると思う。 その分、デホルト以外で使うのは出来難いと思う。
確かに桐は良いんだけどねぇ、同じアプリがアクセスの1/5くらいの期間で開発できるよ。これホンマ。 でもRDBじゃないんだよ、桐の結合表ってデータ入力時には実用的じゃないからテーブルに全てのデータ持たせる。 それはそれで良いんだけど。
#9.桐ではフォームの表示倍率を変えられる、デスプレイサイズ毎に開発しなくとも良い
>>609 だから、桐使えよ さっきからうるせぇな
バカジャネェノ?桐の話題はすれ違いなんだよ 糞が
桐にしとけ
MDB が、[暗号化/復号化] で暗号化されてるかどうかは、どうやって見るの? [暗号化/復号化] を2回したら復号化されちゃうと思うし、何回やったか覚えてないし
桐からAccessへ移行時に戸惑う事 #1.桐では表示されているデータを操作する、Accessではデータソースを操作 #2.桐では始めから物理行番号がある、Accessにはない #3.桐では表示モードと更新モードがある、Accessにはない #4.Accessのレポートで死亡する、桐のレポートは秀逸 #5.Accessはバグが多い #6.桐ではデータをグループ化したフォームが簡単に作れる #7.桐では直前値関数(#1のお陰)があり出納帳等を簡単に作れる、Accessでは状況毎に異なるDAOコードが必要 #8.桐はインタープリタだからマクロが遅い #9.桐ではフォームの表示倍率を変えられる、デスプレイサイズ毎に開発しなくとも良い 移行が完了する頃にはAccessも慣れて上記は納得していくが、 #3.だけは不満が残る、ドドドーット入力や更新をするとデータ間違えそうで不安 イベントやVBAを屈指しても桐のように安心してドドーット入力更新できるフォームは作れない
まあ、キリの良い所でアクセスの話に戻ろうや
>>615 上手いこと言ったつもりかーーーーーーーーーーーーーーーー
>>614 はい、すれ違い。どっかほかでやってね♪
618 :
名無しさん@そうだ選挙にいこう :2005/06/12(日) 18:41:14
ACCESS2000です。 フォームAのテキスト0の内容と一致するフォームAのフィールドへフォーカスを移動したいのですが、わかりません。教えてください。
先生、日本語がおかしいです
たぶん検索のことを云ってるんでしょ テキスト0に何か文字か単語を入れる Enterを押すかコマンドボタンを押す テキスト0に入力された文字単語に一致するレコードに飛ぶ マクロだけでもいけるよ コントロール移動 さがす コントロール移動 の順番で
>>623 桐はすれ違いなだけでなく、DBですらない。
こんなに桐桐書かれると桐に興味が出てきたよw
>>625 興味でるのは勝手だが、はっきりいって時間の無駄だぞ。
そんなものに時間かけるくらいなら、MySQLでも勉強したほうがよっぽどやくにたつ
桐にしとけ
628 :
名無しさん@そうだ選挙にいこう :2005/06/13(月) 19:31:36
質問です。 winXP,Access 2003 いまとある作業で、クエリなどから抽出した {お客様コード,地区コード,決済金額,…}といったテーブルを .csv ファイルでエキスポートしてるんですが、最近その数が半端じゃなくて いちいちアクセスのメニューからやってるのが面倒草杉で困ってるんです。 そこで、いっそのこと抽出→テーブル作成までの機能に加えて、ボタン一発で そのテーブルを.csv で吐き出してくれる機能をVBAで作ろう…と思ったんですが、 そんなことできるコマンドもなければ、文献も見つからない!!(見つけられない?) これってどういうプログラム組めばいいんでしょか? てゆかそもそも可能なんですか? どなたかよろしくお願いします。
マクロでやれば?
630 :
名無しさん@そうだ選挙にいこう :2005/06/13(月) 21:31:37
>>630 かなりありがdd
しかし検索って奥が深い
632 :
名無しさん@そうだ選挙にいこう :2005/06/14(火) 14:58:16
【. 目 的 】 追加クエリで特定の値を書き込みたい。テーブルから 別のテーブルへデータを追加するときに追加クエリを使いますが、追加元 テーブル名を記載したり、その他ついでの処理のために、同時処理で一定の 値をあるフィールドに書き込みたいのですが、どうすればよいのでしょうか? ヘルプの追加クエリの項目には特に記載は見あたりませんでしたが。。。
先生、日本語がおかしいです
634 :
632 :2005/06/14(火) 15:26:26
すみません。
635 :
632 :2005/06/14(火) 15:28:46
途中で送信してしまった。 つまり、追加クエリではAテーブルの各レコードをBテーブルに書き込めますが、 そのとき同時にBテーブルの「追加元フィールド」にAという文字を書き込んだり、 「更新日フィールド」に現在時間を書き込んだりしたいのです。
636 :
632 :2005/06/14(火) 15:38:55
・・・・・・自己解決しました。 追加クエリの「フィールド」にて「式1:"(入れたい文字)"」と入れれば できました。お騒がせしました。
Aテーブル → Aクエリ (Aテーブル+[追加元:="A"]+[現在日時:=...]) Aクエリ を Bテーブル に追加したら
桐にしとけ
639 :
名無しさん@そうだ選挙にいこう :2005/06/14(火) 23:31:03
1〜8までの入れ物があるとして、その中で空いたところから入るような 処理をしたいと思っています。そこで2進数と余りで空きを判定するように 考えたのですが、こういう方法でよいのでしょうか? また、フィールドの入力規則として偶数とか2のべき乗とか指定するには どういう式にすればよいのでしょうか? ヘルプには>2 or <9みたいな簡単な条件しか書いてないのでわかりません。
640 :
639 :2005/06/15(水) 00:28:42
途中まではがんばりましたがわからなくなってきました。 たとえば二進数で10100111では4,5,7桁目が0ですが、一番桁の少ないゼロは4桁目であるというのを 素早く知る方法はどうすればよいでしょうか?
>638 その話はきりが無いからヤメレ
>1〜8までの入れ物があるとして フィールド? >その中で空いたところから入るような データが勝手に消えて空きができるの? それに加えて入れるのも自動?? とりあえず、最初はデータが空っぽだとして、入力も手動で行うとして、 フィールドがフォーム上で↓のように並んでいて、 [フィールド1][フィールド2][フィールド3][フィールド4] 順不同に入力していっても、データが入っていないフィールドに勝手に移動してくれる 処理がお望みならば…… 全フィールドで、更新後処理として優先順位高いフィールドからIsNullで見ていってSetFocusするように すりゃいいんでないの?
644 :
名無しさん@そうだ選挙にいこう :2005/06/15(水) 08:41:32
すいません。 アクセス2003ですが、VBAで、指定したフォルダの中にあるファイルの数とそれぞれのファイル名を 取り込んでテーブルを作ったりしたいんですが、どうすればいいんでしょか。 教えてください。おながいしまつ。
桐にしとけ
Access2003です ヘルプがヘボで頭にくる 定義域集計関数のヘルプは何処にあるんだ? 一々VBAエディタ開いてヘルプ開いて検索しなければ見れないんですが
647 :
名無しさん@そうだ選挙にいこう :2005/06/15(水) 12:53:28
Access2000です 「ファイルを開く」画面からファイルを選択しテーブルにインポートするまでのコードを書いたんですが textファイルはうまく読み込むのですが、logファイル(*.log)は「読取専用なので、更新できません」と エラーになってしまいます。どうすればいいでしょうか?
Visual Basic Engatyo
ほんと2000以降のHTMLヘルプはタコだな。 MSはユーザにOfficeを使いこなしてほしくないと見た。 俺は97のヘルプをいつも使うけど「重い・バカ」のヘルプを見直そうとはしないのかな。
MSのヘルプは糞でFAでしょう。解説本売りたくて仕方ないのかしら。
652 :
名無しさん@そうだ選挙にいこう :2005/06/15(水) 21:28:05
次のようなソースを書いて実行すると 吐き出されるファイルの中身が数字の文字列の前後に 半角スペースが入ってしまいます。 スペースが入らないようにするにはどうすればよいでしょうか 使ってるアクセスは2002と2003です。 Public Sub tt() Dim price As Long Dim name As String name = "aaa" price = 12345 Open CurrentProject.Path & "\" & name & ".txt" For Output As #1 Print #1, price Close #1 End Sub
653 :
名無しさん@そうだ選挙にいこう :2005/06/15(水) 21:39:09
すみませんが教えてください。 クエリの抽出条件である数値以外を表示したいのですが、 その場合ひとつしか指定できませんか? 抽出条件<>20 または <>55 <>60 としたのですが出来ません。 どうすればよいでしょうか。
桐にしとけ
ヒント:And
>>653 20,55,60以外としたいのかな?
抽出条件を縦に並べたらOR条件になるから結局全レコード出てくるよ・・
横に条件並べたら?(同じ項目を3つ選択してそれぞれに条件書いたら?)
項目名1 項目名1 項目名1
<>20 <>55 <>60
みたいに・・・
等幅フォントかどうか知らんので、ずれたら頭の中で読み変えてくれ
AndでいいだろAndで
658 :
653 :2005/06/15(水) 22:27:06
ありがとうございました。 でもなぜこの場合はANDなのかわからないのですが。
659 :
656 :2005/06/15(水) 22:30:46
だぁーーー 他の親切な人、パス 俺もう寝るわ・・・
>>659 ワラタ。触っちゃったんだから投げ出すなよw
桐にしとけ
653は言葉としてのAndとOrの意味すらわからないんだろうか?
663 :
名無しさん@そうだ選挙にいこう :2005/06/15(水) 23:07:02
レポートでワードのテンプレにあるような履歴書を作成したいのですが、 これってコントロールの枠線を消して、描画で線をひいていく以外に エクセルみたいに罫線でつくることってできますか?
Excelみたいにテキストボックス配置して枠線アリにすればいいじゃん
>>663 ACCESSで罫線引くのは大変だと思いますよ。
自分だったらEXCELで表作って、それを貼り付け
必要なところにテキストボックスを置きますね。
666 :
663 :2005/06/16(木) 05:06:03
>>652 なら半角スペースを削除するコードを追加すればいいじゃん
stringならスペースつかないのに不思議
桐にしとけ
Access達人の皆様、ご教授下さい。 やりたい事、クエリーで累計を表示する。 方法、 テーブル [ID],[年月日],[入金],[出金] クエリー [年月日エイリアス:=年月日,グループ化] [累計:=Dsum("[入金]-[出金]","テーブル","[年月日]>=#'&[年月日エイリアス]&'#"),集計] これで累計を表示させることができました。 MSのサポート情報を参照してやりました。 しかし、同一年月日に複数レコードがあるので以下のよう改良しました。 クエリー [IDエイリアス:=ID,グループ化] [累計:=Dsum("[入金]-[出金]","テーブル","[ID]>=[IDエイリアス]"),集計] エラーが出ます。 Dsum()のcriteria省略するとエラーが出ませんので、そこを修正しました。 以下全てエラーです。 × "[ID]>=[IDエイリアス]" × "[ID]>='[IDエイリアス]'" × "[ID]>=Val('[IDエイリアス]')" × "[ID]>=Val(#[IDエイリアス]#)" × "[ID]>=[IDエイリアス]+0" どの様な表記にすれば良いのでしょうか? 「桐にしとけ」って言わないね。
671 :
670 :2005/06/16(木) 09:45:49
訂正、質問内容に本質的ではありありませんが、不等号の記載が全て逆でした。 宜しく、御教授の程、お願いいたします。
ACCESS 2003を使用しています。 現在業績評価を作るためにアクセスを使おうと思うのですが、 Aのフォームから該当者と年度、月を入力してから次のBのフォームへ移る際に 年度、月、該当者の3つが被っているときにはそのそのレコードをBのフォームへ表示させ 変更できるようにし、それ以外の場合には新規のレコードで入力できるようにしたいのですが、 これはVBAが分かっていないとできないものなのでしょうか? よろしくお願いいたします
過疎スレだったはずなのに急に活気づいたな。一体何があったんだ? 桐販売終了?
>>670 その質問は高度レベル二重丸
桐にしとけ
675 :
670 :2005/06/16(木) 10:47:05
事故解決できました。 桐にしなくても良かった orz)
自己解決の時はその方法を書いておくのが優しさですよ。
677 :
670 :2005/06/16(木) 11:50:19
単にデータ型間違えてた、恥ずかしいよ クエリで累計出せたんだけど、実際の出納帳フォームに表示できない orz クエリにIDフィールド持たせてもだめ、IDフィールドで連結している筈なのだが、、 DAOで累計計算しファームに表示するとレコード移動の度に再計算するのか、レコード移動のたびに表示が4呼吸くらい遅れる orz テーブルに累計フィールド持たせてDAOで書き込めば表示は問題ないが、余分なデータ持つようで、またテーブルにDAOでゴゴーっと書き込むの精神衛生上良くない アルマジロさんの本にあった累計関数作ってSQLでupdateするのも、何か、QSLでのupdateってレコードセットの先頭から順番に行われるのが保障されてるのかって不安だし テーブルに書き込むし ノータリンの初心者が訳わからん日本語で書いてますが、、 出納帳の累計表示って如何するのがスマートでしょうか? つーか皆さんはどの様にしていますか? 累計の更新はデータ更新毎自動でなくて、必要時にコマンドボタンで更新で良いので、 お勧めの方法ありましたら教えてください。
桐にしとけ、あっという間に解決する
桐って凄いんだな
| 何について調べますか? | ┌────────────┐ | | 桐 | | | | | └────────────┘ | [ オプション(O) ] [ 検索(S) ] | `──────────┐ ┌─── , '´l, ..| ./ , -─-'- 、i_ |/ __, '´ ヽ、 ',ー-- ● ヽ、 `"'ゝ、_ ', 〈`'ー;==ヽ、〈ー- 、 ! `ー´ ヽi`ヽ iノ ! / r'´、ヽ
682 :
名無しさん@そうだ選挙にいこう :2005/06/16(木) 20:17:57
すいません。質問なんですけど…。 例えば、50人位の生徒の科目ごとのテストの点のデ-タがあります。 その生徒の、テストの点によってABCDEの五段階の評価をつけます。例:90点以上100→A 80点以上90以下→B … と言う感じです。ちなみにその点数による評価の目安のデ-タはエクセルにあります。 5組まであるクラスで1組だけを対象としたABCDE評価の入れかたはどのようにしたらいいでしょうか? 因みに今は、点数を降順に並び変えて、エクセルと入れ替えながら評価を確認して、90以上ならAと入れて今度は80以上90以下ならBというのを繰り返して入れています。 他に良いやり方がありましたら教えてください。
クエリで iif([点数]>=90 "A" iif([点数]>=80 "B" iif([点数]>=70 "C"… みたいな
IIF関数を知らない教師がいるのか……
685 :
683 :2005/06/16(木) 20:31:46
すまぬ、 iMonaだからカンマで改行されちった… 改行=カンマです
ちなみにたしかiifは10何個か入れ子にすると むずかしくてわかんない って怒られます。
687 :
682 :2005/06/16(木) 20:47:37
>>683 様!ありがとうございます!
改行にカンマを入れると言うことは、
iif([点数]>=90,"A",iif([点数]>=80…
みたいな感じでEになるまで式を入れるんですよね?
これは、その評価を求める所にその式を入れて下にコピ-すればいいんですよね?
>>684 様
ごめんなさい。ACCESS初心者なんです。iifって、エクセルのIF関数とは何が違うんでしょうか…?聞いてばかりですいません。
>>687 エクセルのIFとiifは名前がちがう。(マジレス)
使い方はまったく同じ。ところで、
>その評価を求める所にその式を入れて下にコピ-すれば
の意味がよくわからんのですが…
クエリでiif関数使うなら、「クエリ」のデザインビューでフィールドの所に
評価: IIf([点数]>=90,"A",IIf([点数]>=80,"B",IIf([点数]>=70,"C",IIf([点数]>=60,"D","E"))))
とかけばOKです。
>>687 90以上をA
80-89をB
79以下をCとした場合
IIf([点数]>=90,"A",IIf([点数] Between 80 And 89,"B",IIf([点数]<=79,"C","")))
>>677 Access でやったら死亡する、桐にしとけ
この初心者急増の裏には一体何があるんだ……
実は全部同一人物の書き込みとか…
ACCESS2000でコマンドボタンとかフォームの角を 2003風味の丸い形にしたいんですけど…
Access の時代は終わったのかな、MDB は既に枯れていて MS の開発も止まるだろうし
>>677 その質問は高度レベル三重丸
桐にしとけ
699 :
名無しさん@そうだ選挙にいこう :2005/06/16(木) 22:21:25
>>688 様!
詳しく書いていただき本当にありがとうございます。IFとiffは同じなんですね!初めてしりました。
コピ-と言うのはエクセルでの考えでの関数をドラックしてコピ-するという考えです。でもACCESSではフィ-ルドのとこに書くと書かれていたのでフィ-ルドのとこに書けばその列全部に式が当てはまることになるからコピ-はいらないのでしょうか?
本当に初歩的な質問で申し訳ありません
>>689 様!
そういうやり方もあるのですね!参考になります!ありがとうございました。
>>690 様
桐ってなんなのでしょうか?ごめんなさい、教えてください。
すいません、ACCESS初めて二日なんですw変な質問でごめんなさい。
ところでACCESSではVLOOK UPなどの関数は使えないんでしょうか…?
ヒント:NGワード「桐」
>>699 あッ…ごめんなさい
iffじゃなくてiifでした
(´・ω・`)
あと漢字の間違いや分かりづらいとこがありますが許してください
>>699 あのさ、なんでデータベースソフトの話題でExcelの話題をさっきから出してるの?
ドラッグするとかコピーするとかさ
君ここにくる資格そのものがないわ。Access2日目?ならここ来る前に、データベース
の基本くらい抑えてからこい。Excelと同じにしか見えないなら、Excelでも使ってろ。
テーブルの正規化もわからんような奴にそもそもDBは扱えません。
失せろ
703 :
名無しさん@そうだ選挙にいこう :2005/06/16(木) 22:33:49
>>702 様
ごめんなさい
あの…私エクセルしか使えないのでついそこから関連付けてしまいました。全く違いますよね…
(´・ω・`)
本当にごめんなさい。本読んでもピンとこなくて…ついここに書き込んでしまいました。申し訳ありません
質問です。 ユニオンクエリのデータシートの書式っていじれませんか? 現在、通貨型で扱っているレコードを固定型で表示させたいのですが。
解ったよ桐にしとくよ w 確かにここの質問の殆どは桐なら簡単にできるけど、桐で難しい事も沢山ある罠 データが大事でアプリなんて何でも良いんだけどね
固定型って何だ? 独自の用語生み出して使われても分からん。 とにかく、どこでも書式は変更できる。 つーかそれ以前にデータシートで運用すんなよ。Excelじゃないんだから……。
クエリによって書式弄れなくなるのはバグか?
>>708 デザインビューにできないからってことか?
どうしてもクエリで書式変えたいんだったら、UNIONは直接SQL文書くんだし、そこにフォーマット関数絡めればいいだけなんでね?
ユニオンクエリを基にした選択クエリを作るとか
712 :
704 :2005/06/16(木) 22:58:28
>>707 ごめんなさい。通貨型のデータの書式を[固定]にしてってつもりでした。
>つーかそれ以前にデータシートで運用すんなよ。Excelじゃないんだから……。
いやぁフォームで、元データのフィールドの増減に備えるために
サブフォームとして挿入してまして。
>>709-710 ああ、なるほど。明日両方試してみて運用に合っていそうな方を使ってみます。
ありがとうございました。
713 :
708 :2005/06/16(木) 22:59:07
オレ、
>>670 のクエリ検証してみたんだが書式弄れなかった。
最終行は、 [累計:=Dsum("[入金]-[出金]","テーブル","[年月日]>=#"&[年月日エイリアス]&"#"),集計]
が正しいと思うが。
>>670 > Access達人の皆様、ご教授下さい。
> やりたい事、クエリーで累計を表示する。
> 方法、
> テーブル [ID],[年月日],[入金],[出金]
> クエリー [年月日エイリアス:=年月日,グループ化]
> [累計:=Dsum("[入金]-[出金]","テーブル","[年月日]>=#'&[年月日エイリアス]&'#"),集計]
>>699 >コピ-はいらないのでしょうか?
はいいりません。とりあえずやって見て。
>>702 おまえが失せろ。ここはACCESSの「相談所」
まあ確かに50人位のデータならExcelで充分てのは
あるけど。
待ってよみんな! 俺が失せるからケンカすんなよ!
>>677 累計計算って一レコードずつ処理条件違うから遅くないか?
毎回PCに負担かけるよりは多少余分なデータ持たせた方が地球に優しいので俺はテーブルに保存してるよ。
累計計算開始日が場合によって異なる時以外は。
>>713 あ、その書式いじれなかったっていうフィールドは累計?
Dsumの外側にClngを入れて長整数型にしてもできない?
>>714 っていうかさ、車の運転とかでもそうだけれどさ
免許とって初めて初心者なわけよ。こいつの場合、まだ教習所レベルのしかも
効果測定レベルで運転がどうこうとかほざいているわけだ。
ましてやAccessはそれでなくても挫折者が多いのはこういうExcelと混同してい
る馬鹿もしくは、延長線と思っている馬鹿が大半なわけ。
データシートを表計算のシートを思っているような馬鹿には引導を渡したほうが
良い。ぴんとハズレな質問しかできないことなど見ていればわかることだろうが。
720 :
名無しさん@そうだ選挙にいこう :2005/06/17(金) 08:40:26
>>721 マジで? 累計の時はそれで書式通ったんだけどなぁ。
累計での話だよね? 小数点含む累計だったり、別のフィールドだったら
各々適切なデータ型に変換しないとダメだろうけど不思議だな。
桐にしとけ
FileMakerはダメかのう?
70 名前:NAME IS NULL[] 投稿日:05/02/12(土) 15:09:02 ID:UE4GXvH1 桐とファイルメーカーの機能や使いやすさの大きな違いは? 71 名前:NAME IS NULL[sage] 投稿日:05/02/12(土) 21:15:08 ID:??? ファイルメーカーはイベントハンドラないでしょ 表形式だと桐の方が圧倒的に使いやすい カードフォームだと同等くらい レポートも桐の圧勝 web とか C/S とかはファイルメーカの圧勝 単独や小規模のファイル共有くらいなら桐の方が良いよ
桐でもVBAに相当するもの使える?
桐にもマクロ言語あるけど、コンパイラじゃない、インタープリター 百行とかの処理書く事ないから速度はきにならないなぁ
728 :
名無しさん@そうだ選挙にいこう :2005/06/17(金) 11:29:57
こんにちは。 すいません。Office2000なのですが、容量不足のため Accessをアンインストールしたいのですが、どうやって やればよいのでしょうか? プログラムの追加と削除にはOfficeという項目しかなく、 変更をおしてメンテナンスモードにして 昨日の追加と削除というところで削除できそうなんですが アンインストールという項目がありません>< おしえてくださいー
>>728 面倒だからHDフォーマットして桐にしとけ
>>728 > 昨日の追加と削除というところで削除できそうなんですが
だったら問題ないだろ
【. 目 的 】
親フォームとリンクされていないサブフォームでのフィルタの動作を正常にしたい。
【. 条 件 】 WindowsXP Pro, Access2003
■試したけどうまくいかなかった処理(再現手順)
親フォームとリンクしていないサブフォームを持つフォーム上に対して
「フォームフィルタ」を実行。
適当に条件を指定し、「フィルタの実行」を実行すると親フォームは条件指定が
解除されるがサブフォームは条件指定のままになっている。
また、この状態のときはフィルタ関係のメニュー・ツールバーのボタンが一切
使用不可になっている。つまり、サブフォームは条件指定が解除できない。
Access2000及び2002では「フィルタの実行」を実行したときにサブフォームにフィルタ
がかかる。
また、親フォームとリンクされていれば正常に動作する。
■これだけはやりました
【
>>1 を読んだ】 はい
【Googleで調べた】 はい
【検索キーワード】 Access 2003 ACCS2003 サブフォーム フィルタ ApplyFilter
お手上げです…_| ̄|○
MSにも何も書いてなさそうだし、バグかどうかすらわからない…。
どなたか、この現象だけでも検証できませんか?
>>731 Access2003 で再現しなかったよ
親フォームは台紙だけだけど
俺、桐にしとくわ
>>727 ACCESSだってコンパイルして使わないならインタプリタじゃないの?
俺100行や500行のモジュールはざらに書くけど、コンパイルなんてしたことないよ
もしかしてコンパイルすると劇的に速くなるの?
今職場じゃないので試すわけにいかないけど
コンパイルくらいしろよバカwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
俺100行や500行の『プロシージャ』ならコンパイルすると劇的に早くなると思うけど
元々モジュールが動いている時間は僅かだ、コンパイラでもインタプリタでも殆ど変わらん Access でも 桐 でも大差なし
処理速度なんてのは二の次としても コンパイルはやっといて損はないと思うんだが
エラーチェックの意味もこめて普通はやるだろ。
>>733 の脳に桐が沸いているだけ。
741 :
559 :2005/06/18(土) 07:23:53
桐島ひかる子w
743 :
731 :2005/06/18(土) 11:49:26
>>732 確認どうもです。
そうか、正常に動作する環境もあるってことか…。
そうすると自分の環境の問題もあるかもしれませんね。もうちょっと格闘してみます。
桐にしとけ
745 :
名無しさん@そうだ選挙にいこう :2005/06/20(月) 15:15:26
桐にしてます
誰か、桐で簡単に出来ない質問汁
>>746 桐桐言ってるバカが桐ユーザーだとでも思ってるのか?
桐でできようができまいが桐にしろって書くに決まってるだろバカ。
748 :
名無しさん@そうだ選挙にいこう :2005/06/20(月) 18:14:24
bakanibakatteiuna
749 :
76 :2005/06/20(月) 18:35:06
桐で簡単に出来ない質問はないのかよ! 俺も桐にしとくわ (orz
750 :
746 :2005/06/20(月) 18:35:54
名前違った
751 :
746 :2005/06/20(月) 18:48:21
ダイタイ桐って幾らよ、Access より高そうだな
752 :
名無しさん@そうだ選挙にいこう :2005/06/20(月) 18:54:04
そろそろ、桐にしとけ。 は、出ないかな。
/''⌒\ ,,..' -‐==''"フ / (n´・ω・)η 桐にしとけーーー!! ( ノ \ (_)_) ~"''"""゛"゛""''・、 "”゛""''""“”゛゛""''' "j' :::::ヘ :::::....ヽ :::;;;ノ ::( :: ゝ :::::......ノ:;;..:::::::ヽ
InfoPass で作ったフォームにリッチテキストのフールドがあるんですけど、 そのフォーム入力データを Access に保存する方法はありますか? リッチテキストはフォントサイズと右・中央・左寄せと番号付箇条書きだけでも良いんですけど。
スペル違い × InfoPass ○ InfoPath 桐では無理だな w Access でどうやれば良いですか?
メインフォーム上からサブフォームのイベントを管理する方法はないでしょうか? Private Sub サブフォーム名.From.コントロール名_AfterUpdate() でいけるかなと思ったら[.]や[!]でエラーが出てしまいました。
Private Sub Me!サブフォーム名.From.コントロール名_AfterUpdate() 桐にしとけ
>>757 同じコンパイルエラー(修正候補:識別子)が出て無理です。
Private Sub Me!サブフォーム名.Form.コントロール名_AfterUpdate() Private Sub Form.サブフォーム名.Form.コントロール名_AfterUpdate() 桐にしとけ
>>760 適当な回答するくらいなら桐スレ行けよw
適当な回答するくらいなら、桐にしとけ
NGWord 「桐」
764 :
名無しさん@そうだ選挙にいこう :2005/06/21(火) 12:37:26
だから 桐にしてます。
Private Sub サブフォームのコントロール名_AfterUpdate()
767 :
名無しさん@そうだ選挙にいこう :2005/06/22(水) 13:27:41
ここAccessの達人いない様子だね
桐の達人ならいっぱいいるよ
769 :
754 :2005/06/22(水) 18:40:52
Accessで出来ないの?
>>769 りっちテキストってテキストで書いてあるんじゃないの?
771 :
名無しさん@そうだ選挙にいこう :2005/06/22(水) 18:57:46
>>754 んだよ、そんなの簡単にできるべって思ったら、JScriptじゃねーか!ヽ(`Д´)ノ
JScriptあんまさわったことないから、調べるのメンドクサイ
それ以前にスレ違い
まぁ出来る出来ないで言えば、できるとだけ言っておこう
772 :
754 :2005/06/22(水) 23:10:25
フォントサイズとか箇条書きとか中央寄せとかの書式情報も含めてRTFフィールドをアクセスに保存したいのですが、 Access で出来るのですか? 方法を教えてくださいませ。 宜しくお願いいたします。 JScript って何ですか?関係ないよーな気がするのですが、 スレ違い って???
頑張ってコード書けばなんとかなるんじゃない? やり方知らないけど。
昔の桐、DOS桐ならワープロ松と連携できたようだけど、 Access では無理っぽいよ XMLデータベースが良いと思うよ 1文字毎に文字修飾変わる可能性すらあるから、MDBテーブルに取り込むには ほぼ無限数のフィールド用意する必要があるかも
infopath とアクセス接続は、RTF フィールド以前に、Long データ型は既に無理じゃね?
>>754 アクセスでは無理でしょう。SQLサーバ2005βを試してみてね。XML データ型が使えるよ。
つーか、桐にしとけ
SQLサーバExpressβ でも良いかもね。 MSDE の新バージョンで、βとれても無料ですよ。
779 :
754 :2005/06/23(木) 12:30:42
皆様、アドバイス有難う御座います。 早速、SQLサーバーExpressって試してみます。でも難しそうですね。 ダメだったら、桐にしときます。(笑 DOS桐ってもう買えないでしょうね。
780 :
名無しさん@そうだ選挙にいこう :2005/06/23(木) 12:35:36
すみません、教えてください。
【. 目 的 】 フォームに郵便番号ボックスと住所ボックスがあり、
入力支援になっているんですが、
たとえば北海道の郵便番号「064-0804」を入力すると、
きちんと住所は表示されるのですが、
0が表示されず「 64-0806」になってしまいます。
後でエクセルにエクスポートするのでなるべくならここで0を入力したいのですが…
(初歩過ぎる質問なのかわかりませんが検索もぜんぜん出てきません・・)
【. 条 件 】Windows2000 Access2000(Office2000SP3)
■試したけどうまくいかなかった処理
【. 概 要 】 書式を変更すると通貨や通常の小数点が入った書式になってしまう。
【駄目な理由】 (動作状況など)
■これだけはやりました
【
>>1 を読んだ】 はい
【Googleで調べた】 はい
【検索キーワードは?】 access 郵便番号 0を表示 フォーム 書式 プロパティ 北海道 etc...
>>780 >書式を変更すると通貨や通常の小数点が入った書式になってしまう。
元々何だった書式をどう変えたのかさっぱり分からないけど
000-0000でもダメか?
>>780 まず、現在の書式を書け、それも出来ないなら、桐にしとけ
783 :
780 :2005/06/23(木) 14:49:33
すみません、レスありがとうです。 書式というか、定型入力プロパティで 「 000\-0000;;_ 」とはいってるんです。 私が作ったaccessでもないので困ってます・・ ちょっと000-0000も試してみます。
データ型はテキストだろ? 「@@@-@@@@」はどうだ?
定型入力じゃなくて書式じゃね?
786 :
780 :2005/06/23(木) 15:01:33
今書式のプロパティに「 000-0000 」といれて試したんですが、 (それまでの定型入力プロパティはそのままです) フォームの表示的にはちゃんと0が表示されたんですが、 やはりテーブルでは頭の0が省かれてしまっていました・・・
787 :
780 :2005/06/23(木) 15:10:20
> 784 さんのおっしゃった 書式: @@@-@@@@ 定型入力: 前のまま(000\-0000;;_) を試したんですができませんでした・・ 次に 書式: @@@-@@@@ 定型入力: (なし) もできませんでした・・・ 次に 書式: 000-0000 定型入力: (なし) もフォームには0が表示されたんですが、 やはりテーブルの0が省かれてしまいます。。。 accessのテーブルは全て省かれてしまうのでしょうか・・・ もう少し調べてみますorz
郵便番号フィールドがテキスト型でなく数値型になってる。 ・・・に一票
789 :
780 :2005/06/23(木) 16:04:10
きゃー!!できましたよー!!! > 788 さんのおっしゃるとおり、 テーブルのデータ型が数値型になってましたー!! テキスト型にしただけでちゃんと表示されましたー!! みなさまどうもありがとうございました つД`)・゚・。・゚゚・*:.。
790 :
名無しさん@そうだ選挙にいこう :2005/06/23(木) 16:41:39
以前のバージョン(2000)では連結オブジェクトデータの画像リンクはちゃんと 画像で表示されていたのにXP、2003から表示されなく、どのようにすればフォームビューで 画像が表示されるのか教えてください。
791 :
名無しさん@そうだ選挙にいこう :2005/06/23(木) 18:00:00
そろそろ、桐にしとけ。 は、出ないかな。
/''⌒\ ,,..' -‐==''"フ / (n´・ω・)η 桐にしとけーーー!! ( ノ \ (_)_) ~"''"""゛"゛""''・、 "”゛""''""“”゛゛""''' "j' :::::ヘ :::::....ヽ :::;;;ノ ::( :: ゝ :::::......ノ:;;..:::::::ヽ
793 :
名無しさん@そうだ選挙にいこう :2005/06/23(木) 22:50:49
個人経歴DBでのレポート処理において 1.レポートの通し番号ではなくて個人ごとのページ番号取得。 2.ファイル更新をした日付の取得。 3.個人管理番号を表示していますが、まだない人に関しては個人名を 入れる。 3.に関してはIFの式でやりましたがエラーが出ます。 1.2.に関してはできるのかもわかりません。 WinXP Pro、Access2003です。よろしくお願いいたします。
>>793 意味分からん
> 個人経歴DBでの
ってオマエしか知らないDBだろ
環境:アクセス2000 社員の出退勤データが毎日集積されていくDBをアクセスからちょこちょこいじってます。 @出退勤DBから特定期間を抽出。 A特定期間内で部課コードごとに切り分けたワークシート(テーブルでも可)を生成。 B生成されたシートを添付ファイルとして部課の担当者に自動送信。 最終的には自動処理の最初に日付したら処理が始まるようにしろ!と… これは可能でしょうか? 何とかクエリを組める程度の実力ですがせいぜい 「会社CD」と「期間」のクエリを部署の数だけ作ってワークシート化を マクロで繰り返し自動処理する程度しか考え付きません。Bはもうお手上げ。 途方にくれてます。これは出来るのはマクロなのかVBなのかそれだけでも教えてください。 日付や部課コードを制御するテーブルが必要ですか? 抽出イメージとしてはこんなの。 ┌─────────────────────┐ 生成ファイルを自動送信 │社CD、部課CD、個人CD、年月日(テキスト型)・・・│ ┌──┐ ↑ │------------------------------------------│ │120 .│部課120エクセルシート生成 │J 8205 0123G 20050623 │・・・・・ └──┘ │------------------------------------------│ 同じ │J 9773 4235P 20050623 │ ┌──┐ ↑ │J 9773 89W69 20050623 │・・・・・ │130 .│部課130エクセルシート作成。 └─────────────────────┘ └──┘ このテーブルは膨大です。
自動送信の送信方法って何よ?
桐にしとけ
798 :
名無しさん@そうだ選挙にいこう :2005/06/24(金) 10:40:05
OS:Win2000 Access Version:2000 MainManuというフォームに「コマンド1」ボタンがあります。 テーブル1にデータが入っていなければコマンド1のenableをFalseに、 データが1件でも入っていればTureにしたいのですがデータあるなしの 判定処理はどのように書けばよいのでしょうか
Count(expr) ではダメ? つーか、桐にしとけ
801 :
799 :2005/06/24(金) 11:15:46
802 :
790 :2005/06/24(金) 12:03:19
790の質問をよろしくお願いします。
803 :
名無しさん@そうだ選挙にいこう :2005/06/24(金) 12:04:08
>>798 です
if Dcount(テーブル1) = 0
Me!コマンド1.enable = False
else
Me!コマンド1.enable = True
end if
としたら、変数が定義されていませんとエラーになります。
テーブルの指定ってどうやればいいのでしょうか?
エリカさん、3番テーブル御願いします。
Me.Recordset.RecordCount = 0
もしかして: Discount Powered bye Google(TM)
というかその前に確認なんだけど、フォーム名がMainMenuてことは、そのフォームのレコードソースはテーブル1じゃないんだよね? そのコマンドボタン押して処理したい内容にテーブル1のレコードの有無が関係しているから判定したいってことだよね? 間違ってたら俺ファラオ式割礼。
もう回答済み質問だから、割礼しなくて良いよ。
バカがバカにバカと言う構図
バカがバカがバカにバカと言う構図と言う構図ですね?
はい、重いお言葉をどうぞ ↓
桐にしとけ
機種依存の文字を使ってないかな?それともごく普通の 当用漢字が?になるのかな? 例えばm3(正式にはリュウベイで変換される文字)とかは ?になって印刷されるけど…ちなみにSP3当ててるよ
unicode は桐では無理
Access2003 で、?:U+33A5(m3(正式にはリュウベイで変換される文字)) は正常に表示も印刷もされますよ。 リッポウメートルでしょ、ユニコードU+33A5 office 更新のチェックでSPは全て適応されてる状態にて。
ちなみに上記は、MS Pゴシック ね。 フォントがそのコード持ってなければ、表示も印刷も出来ないとは思うが、
822 :
名無しさん@そうだ選挙にいこう :2005/06/27(月) 17:15:58
>>816 どの漢字が表示されないのか文字コードくらい書けよ、バカ!!
>>822 バカはバカだからバカなんだよバカ。高望みしすぎだバカ。
納得しますた
825 :
816 :2005/06/27(月) 18:09:19
>>817 さんレスありがとうございます。
偏に似たやつです。5FA7
>>816 で書いても?になってますね。
f(66FB)とかe(7407)もなるかテスト。
ちなみに実行しているAccessが2003の場合SP3は関係ないですよね。
どうなんでしょ?
>>820 さんレスありがとうございます。
Access2003でもSPでてますかね?後で調べてみなければ!
>>821 いちおMS Pゴシックでした。
f(66FB)とかe(7407)は表示できたんですが?(5FA7)だけが・・
よろしくお願いしますm(_ _)m
826 :
820 :2005/06/27(月) 18:18:46
ギョウニンベンの字だろ、俺は表示も印刷も出来たよ。 だから俺には原因解らん。
827 :
816 :2005/06/27(月) 18:24:29
>>826 そうです!ギョウニンベンのヤツです!
820さんは表示も印刷もできるんですか。
Accessのバージョンをランタイムも含めいろいろ入れてるからかな?
とりあえず明日Officeのアップデート試してみます!
情報ありがとうございました(^-^)
828 :
名無しさん@そうだ選挙にいこう :2005/06/28(火) 06:33:09
そろそろ 桐バカが出ないかなー。
桐にしとけ
831 :
名無しさん@そうだ選挙にいこう :2005/06/28(火) 10:29:25
このスレ、まともな回答が殆ど無いねw
ここAccessの達人いませんから、残念!
フォームから入力する際にID(重複無し)を検索し、 そのIDがない場合は自動的にレコードを作成されるようにしたいのですがどのようにするのがよろしいでしょうか? 現在考えているのがまずフォームから年度、月を選んでボタンを押すと まずクエリで年度、月の抜き出しを行い、 そのクエリを元としてフォームを作成する そのフォーム中にIDのフィールドを入れ [forms]![main]![年度]&format([forms]![main]![月],"00") を規定値として重複しないidとして登録するようにします 文才がなくてわかりずらいのですがそれでも理解できたら教えて欲しいです><
もういちどちゃんと考えて書いてみました(汗 フォームから年度、月を選択し年度と月を利用してID(重複なし)を作成し、 そのIDがテーブルに有る場合はそのレコードだけの編集を行えるようにし、 そのIDがテーブルに無い場合は新規レコードを(年度、月を使用した任意のID)作成し、 編集できるようにしたいです。 これで少しはまとまったでしょうか?><
>>833 さっぱりワケが分からん。
追加したいテーブルの構造とIDの規則性を明確に書いてくれ。
>現在考えているのがまずフォームから年度、月を選んでボタンを押すと
>まずクエリで年度、月の抜き出しを行い、
>そのクエリを元としてフォームを作成する
このクエリの元となるテーブルは追加先と同一??
クエリの元になるテーブルは追加先と同一です。 IDは例えば2005年の6月ならば「200506」の様にYYYYMMの形で重複無しのIDです テーブルは ID,年度,月,氏名CD,これ以降は各項目が並んでいます
837 :
835 :2005/06/28(火) 16:48:53
>>836 フォーム上にある年度がtxt_yearで、月がtxt_monthだとして、
Dim strYear As String
Dim strMonth As String
Dim strSearch As String
Dim intCount As Integer
strYear = Me.txt_year
strMonth = Format$(Me.txt_month, "00")
strSearch = "[ID] = '" & strYear & strMonth & "'"
intCount = DCount("ID", "テーブル名", strSearch)
If intCount = 0 Then
With Me
.AllowAdditions = True
.DataEntry = True
.ID = strYear & strMonth
End With
Else
With Me
.AllowAdditions = False
.DataEntry = False
End With
DoCmd.ApplyFilter "", strSearch
End If
こんな感じでいけるんでね?
桐にしとけ
839 :
835 :2005/06/28(火) 16:52:12
まずDCountで年度&月のデータが存在するかどうか探して、 ないようならば追加許可+データ入力用をTrueにして新レコードのIDに年度&月を代入。 あるようならば追加許可+データ入力用をFalseでフィルタかけてそれだけ表示。
桐ってなんですか?
ああ、IDだけじゃ飽きたらず年度と月のフィールドも存在してるなら With Me .AllowAdditions = True .DataEntry = True .ID = strYear & strMonth End With を With Me .AllowAdditions = True .DataEntry = True .ID = strYear & strMonth .年度 = strYear .月 = strMonth End With に変えて。
説明不足ですいません;w;
年度、月のコンボボックスはフォーム1で入力はフォーム2なのです。
まず年度、月を選び、ボタンを押してフォーム2を表示させます
その際に上記のように処理したいのです。
>>835 さんのプロシージャを拝見させてもらいどのような処理を行えばよいか分かったのですが
どの段階でこのプロシージャを入れるのかちと分からなかったです。。。
これはフォーム2を読み込ますときにこれを入れるのでしょうか?その場合上記
strYear = Me.txt_year
strMonth = Format$(Me.txt_month, "00")
strSearch = "[ID] = '" & strYear & strMonth & "'"
intCount = DCount("ID", "テーブル名", strSearch)
の「Me.」はフォーム1に直せばよいのでしょうか?
先に言ってよ……
DFirst( ) を使え
845 :
初心者 :2005/06/28(火) 18:12:32
教えて下さい。 OS:Win2000Pro またはXPPro Access2000 テキスト型フィールドに外字が含まれているか調べる 方法を教えて下さい。 宛名ラベル印刷をするのですが、「氏名」や「住所」に 外字が使われているケースがあり、受領したデータを見ると、 当然の如く文字化け(中点[・]など)しており、宛先の不備として、 省く必要が出てきました。 どうか、よろしくお願い致します。
>>845 マルチは関心しない。
スレ立てるまでもない質問・雑談@DB板
http://pc8.2ch.net/test/read.cgi/db/1057985632/ 358 名前:ビギナーです[begin] 投稿日:2005/06/28(火) 13:30:41 ID:???
ある文字列のフィールドに外字が混入しているかどうかを
調べる方法を教えて下さい。
環境は、
OS:WindowsXP
APP:Access2000 です。
テーブル名:sample、フィールド名:col1 テキスト型
を例として、col1に外字が含まれている行の選択法を
教えて下さい。
よろしくお願いします。
361 名前:ビギナーです[begin] 投稿日:2005/06/28(火) 17:01:53 ID:???
>>358 です
>>360 さん、レスありがとうございました。
宛名情報を受託して、宛名ラベルを作成する際に、
住所、氏名 等に外字が使われていないかをチェックしたいんです。
この宛名情報の預託者との間に、数社入るので、外字の確認ができなくなくて
困っていました。
結論として、外字混入の宛先は省くのですが、その確認を
目視で行っていたので、何か良い方法がないものか模索していました。
(多いのは、中点(・)に化けますが、♂に化けたりしてるものもありました)
確実な方法が欲しいものです。
日本語文字列操作は桐のオハコ、桐にしとけ
849 :
初心者 :2005/06/28(火) 19:33:42
>>845 です
マルチ失礼しました。
仕事の状況が逼迫してたからマルチポストしてしまいました。
今も焦っています orz
Excelにそんな関数なかったっけ?
CLEAN(クリーン)関数 =CLEAN(文字列) ■文字列から、印刷できない文字を削除する 外字は印刷できる文字扱いだろうな。
桐で処理したら? 体験版あるし、つーか桐にしとけ
今日は暑かったせいかどのスレも変なのが沸いてたね
質問させてください Xp sp2 Access2K メッセージボックスの文字のフォントや色を変えることは出来るでしょうか?
>>854 デスクトップで右クリック→プロパティ→画面のプロパティ→デザイン→詳細
つーか、桐にしとけ
857 :
854 :2005/06/29(水) 12:34:22
ありがとうございます。PCの環境に依存せず VBAでMsgboxごと制御することはできないのでしょうか?
859 :
名無しさん@そうだ選挙にいこう :2005/06/29(水) 15:47:13
ここの住人は、暑さで湧いて出たウジ虫しかいねーな 脳みそはゾーリ虫なみ ま、リストラされて淘汰されて死んじゃってくれw
桐を使えるようになればリストラされないお!
859は、きちがいですか?
>>859 日本語で意味通じない質問してスルーされた方ですか?
>>862 他スレ荒らして味をしめた寂しがりやだから相手にするな。不毛すぎる。
864 :
名無しさん@そうだ選挙にいこう :2005/06/29(水) 16:50:54
>>863 不毛=ちんげがまだはえていない でつか?
それとも禿げのことでつか?
865 :
名無しさん@そうだ選挙にいこう :2005/06/29(水) 18:34:28
これにて ACCESS総合相談所 その12 閉鎖します。 ごきげんよう。
つーか 桐にしとけ
867 :
名無しさん@そうだ選挙にいこう :2005/06/29(水) 20:01:01
まあ俺から見たらここはDB覚えようとしたが挫折したウジ虫の集まりだな 頭の軽い香具師ばかりで笑えるな (^∀^)ゲラゲラ シネヤカスドモ (^∀^)ゲラゲラ シネヤカスドモ (^∀^)ゲラゲラ シネヤカスドモ (^∀^)ゲラゲラ シネヤカスドモ
868 :
名無しさん@そうだ選挙にいこう :2005/06/30(木) 09:45:01
桐バカは 山崎 渉である
なぜ解った?
アクセスってレポートでしかグループ化できないのかよ! 桐にしとくわ
体験版使ってみますた Access 捨てますた
入力フォームで合計の欄に各月の合計を表示指すためにクエリのフィールドで、 合計:[1月]+[2月]+[3月]・・・ の様なフィールドを作りました。その合計の値をテーブルの合計に 反映させるにはどのようにすればよいのでしょうか?
桐にしとけ、直ぐ解決する、桐は正規化してもしなくても使える Access でやるんなら、計算値はテーブルに持たせないのが普通 どうしても持たせたいのなら、イベントや更新クエリで書き込め 何時でも見れるものをテーブルに持たせる必要はないと思うが
876 :
名無しさん@そうだ選挙にいこう :2005/07/01(金) 18:26:51
空くセスだ切りだだと、DB知ったかウンコどもシネや (#゚Д゚)バカタレー!!
遊んで欲しかったら、何か芸しろ!
>>873 1月、2月とかフィールドを持たせている時点でクソ!
桐にしとけ。
>>879 でも、月毎にフィールド分けてないと「集計クエリってどう使うんですか?><」って質問がくるぞw
桐にしておいた方がいいな。
クエリの抽出条件とかフォームフィルタとか メンドイ香具師は、桐にしとけ
絶対Accessじゃなきゃダメってことはないしな。桐の方が使い勝手良いんだったらそれでいいじゃん。
桐は値段が高いから、貧乏人は ry)
出回ってないからワレザーにも ry)
おい、桐の一覧表印刷ってスゲーな、つーかレポートなんかスゲーを通り越してるジャン フォーム作らなくても大抵のこと出来ちゃうし、高い訳だわ
貧乏人はAccessで頑張るのが美徳、古き日本の良き伝統なり
887 :
名無しさん@そうだ選挙にいこう :2005/07/03(日) 13:05:29
このスレで質問すべきかどうか分かりませんが、 最近会社で使い始めたノートPCのアクセスですが、 テーブル、クエリの新規作成は問題ないのにレポートの作成になると急に重くなってしまいます。 テキストボックスや線を動かすだけでもすごく時間がかかります。 原因や対処法がわかる方は是非教えて下さい。 VersaPro PC-VY10MBHJJ4UT CPU Celeron M 373J (1 GHz) メモリ 512MB HDD 40GB OS WindowsXP Professional AP Office Personal 2003 モニタ 12.1型
ワードパッドで改ページ、どうやるんじゃゴウラァ!! IME に改ページ制御文字登録出来るンか?
上上下下左右左右BA
893 :
887 :2005/07/03(日) 23:36:15
895 :
887 :2005/07/04(月) 00:16:41
896 :
名無しさん@そうだ選挙にいこう :2005/07/04(月) 09:30:01
煽られるな 桐を売りたいだけの営業 業者、乙
ワロタ
898 :
533 :2005/07/04(月) 13:19:14
>>533 郵便番号の変更上手くいきました。
教えてくださった方々、ありがとうございました。
しばらくパソコンがダメになっていたので、結果報告おくれてしまい申し訳ありません。
899 :
名無しさん@そうだ選挙にいこう :2005/07/04(月) 18:59:28
Accessできる程度の軽い頭でのさばってるウンコの溜まり場はここかよ
>>899 遊んで欲しいの?
だったら何か芸しろよ w
既に使ってみてるんだが、スタンドアローンなら最強だね
最強の基準が分からんが、スタンドアロン以外で使いにくいことだけは確かだ
LAN だと Access と 桐、五十歩百歩じゃね?
906 :
名無しさん@そうだ選挙にいこう :2005/07/05(火) 09:28:32
>>905 桐業者乙! Accessユーザーのウンコたちシネ (・∀・) キチガイ
桐最強
Access は枯れたDBだからなぁ Ver 上がっても機能増えないし、MS はもう真面目に開発してないし レコードロックで桐に追い付いた時には勢いがあったんだが もうダメぽ
909 :
名無しさん@そうだ選挙にいこう :2005/07/05(火) 13:38:27
>>908 アクセスをdbだといってる時点で低脳の役立たずちんぽ
ドラゴンボール
桐桐キリキリキリキリうざい!ここはAccessのスレなんだからAccessの話しをしろよ つーか、Accessとか桐とかって個人で使う人はそんなに多くないはず。 こういうソフトのほとんどは、会社での業務に使っているんだからAccessから桐への移行のコストも考えないといけないはず! そう個人で使っているんじゃないんだから簡単に乗り替えはできないよ!
2ちゃんでマジになるな、つーか桐にしとけ
913 :
名無しさん@そうだ選挙にいこう :2005/07/05(火) 15:56:54
なんて次元の低いスレなんだ、やばいくらい幻滅
次元低すぎ。桐にしておけ。
一つのmdbでクエリやレポートをたくさん作っていると、 いくらネーミングに気をつけていても一覧から探し辛くなってくる・・・ クエリ一覧、レポート一覧などでフォルダによる階層化ができないものだろうか?
>>916 データベース オブジェクトをグループ化する
F11 キーを押して、データベース ウィンドウ (データベース ウィンドウ : Access データベースまたは Access プロジェクトを開くときに表示されるウィンドウ。
このウィンドウには、新しいデータベース オブジェクトを作成するショートカットと既存のオブジェクトを開くショートカットが表示されます。)に切り替えます。
グループが表示されていない場合は、データベース ウィンドウの左側にある [グループ] をクリックします。
[グループ] の下の任意の場所をマウスの右ボタンでクリックし、ショートカット メニューの [新しいグループ] をクリックします。
[新しいグループ名] ボックスに、グループ名を入力します。
これでも不満なら、桐にしとけ
>>918 なるほど、グループって今まで使ったことなかったけど
こういう使い方をするわけね・・要するにお気に入りを何個でも登録できるわけだ
テーブルもクエリもレポートもひとまとめにグループ化できる所は便利かも・・
でも階層化できないから、結局煩雑になってしまうのね・・・orz
>>918 データベースウィンドウ以外から選択するときは探しづらいままだよな
922 :
名無しさん@そうだ選挙にいこう :2005/07/06(水) 09:30:43
まだDBもどきソフトで騒いでやがるウンコたち キミたちに明日はない
日本オラクルでリストラされた方ですか?
ドキッ
926 :
名無しさん@そうだ選挙にいこう :2005/07/06(水) 11:14:49
>自分がやばい粘着と気づかない
Access とか 桐 とか FileMaker って、オラクルと守備範囲違うし 確かに Access は中途半端だよなぁ 桐で簡単にできちゃうし
やっぱ桐が一番だよな。
が、簡単にできるが故に考えなしが多そう。 普通、データくれって言ったらテーブル投げてよこすか? CSVとかxls形式とかにして渡すんじゃないか。 そこんとこどうよ? 桐ユーザー
考えなしのための桐だしなぁ
932 :
名無しさん@そうだ選挙にいこう :2005/07/07(木) 09:38:46
桐厨が湧いてきております ヲタいやつらだ
考えなしが多いのは納得だが、考える暇があったらホテルのプールでリフレッシュ
>>886 嫌なら桐にしとけ
934 :
名無しさん@そうだ選挙にいこう :2005/07/07(木) 12:27:46
ACCESS2000です。 実験の過程(試薬の種類や機械の設定など)とその結果のデータベースを作りたいのですが、フィールドの数が多すぎて一つのテーブルに収まりません。 実験のテーブルと結果のテーブルに分割させた場合、それぞれのテーブルにある同じレコードを関連付ける方法を教えてください。 一つのフォームで両方のテーブルに入力したり閲覧出来るようにしたいと思っています。お願いします。
ヘルプ → 検索 → [リレーション]、で調べれ でも、そういうのは桐にしとけ、そのほうが幸せになれる
>>934 >実験のテーブルと結果のテーブルに分割させた場合、それぞれのテーブルにある同じレコードを関連付ける方法を教えてください。
何も調べずにRDB使おうとするなよ……。
基礎中の基礎の基礎だろ桐にしとけ。
937 :
名無しさん@そうだ選挙にいこう :2005/07/07(木) 17:17:40
桐売り乙、厚いのにがんがるな業者さん、ばか相手に(プ
桐業者にとってはバカは重要な顧客だからな。バカのバカによるバカのための桐。
940 :
名無しさん@そうだ選挙にいこう :2005/07/07(木) 19:57:07
Access のマクロの中に書かれたパスを一括で変換する方法はありますでしょうか? 絶対パスでフォルダ内の数十箇所(作った本人がいないため、正確な数は不明)の xls とやりとりをする mdb ファイルがあり、その mdb(とフォルダ内のxlsファイル) の 場所を移動する必要が出てきてしまいました。 手作業だと置換忘れしそうなので、ある程度は一括でやりたいのですが... 環境は Access2000 です。
943 :
名無しさん@そうだ選挙にいこう :2005/07/08(金) 06:59:12
キリキリと言うが。 最初にやったのが桐だ、今更キリに桐かえれるか。 バカ野郎、歳がもうすぐ70になる。 Accesだけでもついていくのが精一杯。 マイクロソフトにやられたのよ。 ちくしょう、ワード・エクセルにアクセスを抱合せで、売りぁがって それも最初は無償サポート、次は有料5〜70万位使ったぞ。 それが今は2回分だけ無料で教えてやる か。 ふざけんな。マイクロソフト。 このスレ ズート見ている。 桐さん、もうこの辺で、ひっこんでくれ。
595 名前:名無しさん@そうだ選挙にいこう[] 投稿日:2005/07/08(金) 06:44:29
>>591 >一太郎もワードもB-TRONのパクリ
あたしゃ20年ほど前、最初のバージョン1の一太郎を使ったよ。
5インチのフロッピーディスク、上に一太郎、下にデーターディスク。
ハードディスクはまだ無かった。
いつ頃だったかな、マイクロソウトがO/Sと抱合せでワードとエクセル。
発売の時は無料だったな、それでも一太郎・ロータス123が売れていたよ。
当然一太郎は有料。
あたしゃ、ワードとエクセルが主流になると思いこちらにしたよ。
50過ぎて、切替えるのはいやだったが。
ワードが一太郎のパクリだと思うが。
近く70歳になるが、Accessでメシ食っている。
データベースも色々やったよ。カード型データベース・桐とかね。
桐もAccessにやられたアプリだ。
945 :
名無しさん@そうだ選挙にいこう :2005/07/08(金) 07:30:29
そう こちらにも書き込みしたかった。 書き込みありがとう
946 :
934 :2005/07/08(金) 12:08:40
もうちょい勉強してからでなおしてきます
947 :
名無しさん@そうだ選挙にいこう :2005/07/08(金) 15:06:08
すごい初歩的な質問をしていいでしょうか。 会社の人がACCESSで作った チケット入力のプログラムを使っているのですが、 オートコンプリートのようなものがうざったくて仕方ありません。 (1押してエンター押すと13と表示されたり) どうやってなくせますか?わかる方お願いいたします
949 :
名無しさん@そうだ選挙にいこう :2005/07/08(金) 16:44:24
桐にしとけば良かった
禿同意
953 :
さんとす :2005/07/09(土) 22:00:22
ちわす! ACCESS2000 課題 EXCELのデータをインポートしてそれをACCESSでデータベース化する。 そのEXCELのデータが 建物 部屋番 名前 駐車 部屋番 名前 駐車・・・ ○○マンション 101 鈴木 1 102 佐藤 1 ・・・ ○×マンション 101 田中 0 102 斉藤 1 ・・・ こんな感じで、デザインヴュー開いたら、フィールド名が建物、部屋番、名前 駐車のあとの部屋番からがフィールド5、6・・と続いていきます。 どうやったら統一できますか?・
統一って何をしたいんだ?
955 :
さんとす :2005/07/09(土) 22:12:08
名前だったら、すべての名前が同じフィールドになるようにです。 部屋番102からまた違うフィールドになってしまうんですよ。
選択クエリで分割して、 クエリ1: [マンション]、[部屋番1]、[名前1] クエリ2: [マンション]、[部屋番2]、[名前2] クエリ3: [マンション]、[部屋番3]、[名前3] クエリ・・・・・・ 追加クエリで1つのテーブルにする それよか、エクセルでカット・ペーストして望みの形態にしてからインポートした方が早いかもよ つーか、桐にしとけ
957 :
さんとす :2005/07/09(土) 22:44:54
>>956 様まじでありがとうございます!!
あともう一つ質問なんですが。
個人の宿賃を、ACCESSデータベースでわかるようにするのがこの課題なんです。
家賃は同じです。
駐車の1が使用、0が不使用で1の使用の場合は家賃+3000みたいな感じです。
こうゆうのはクエリでやるのですか?
>この課題なんです 宿題は自分でやれよwwwwwwwwwwwwwwwwwwwww
フォームでもレコード内計算は出来るからどちらでも良いが、 クエリでやるのがAccessっぽいな
960 :
さんとす :2005/07/09(土) 23:08:46
授業でれなくて全然わからないんですよ・・・。 しかも完成させなきゃ単位が貰えないんです。。 自業自得と言われたら終わりっすけど。 相談所だからゆるしてください! 詳しいやり方よろしくです。
自業自得。桐にしとけ。
962 :
さんとす :2005/07/09(土) 23:27:54
桐じゃ多分だめなんじゃ・・・ ACCESSの授業なんで。
>>962 せんせーに「きりにしとけ」ってちゅうこくすればいいとおもうよ^^
964 :
さんとす :2005/07/09(土) 23:33:55
からかうのはやめてくださいい・。・ 神様おねがいします。
965 :
神 :2005/07/09(土) 23:38:09
桐にしとけ
親切な桐ヲタが丁寧に教えてくれている それ以上詳しく教えようがないんだが、
967 :
さんとす :2005/07/10(日) 00:15:09
ACCESSで作成してそれを提出しなきゃなんですよ。 桐でやっても駄目だと思います。
既に十分丁寧に教わっている筈だが、それ以上何を知りたい? ヘルプを見たほうが早い類は質問しないほうが良いぞ
969 :
さんとす :2005/07/10(日) 00:44:08
@
>>956 様の「追加クエリで1つのテーブルにする」のやり方がわからない。
A
>>957 に書いていることがわからない。
てな感じです・。・
自分なりにネットで検索して調べてるつもりです。
970 :
さんとす :2005/07/10(日) 00:44:24
@
>>956 様の「追加クエリで1つのテーブルにする」のやり方がわからない。
A
>>957 に書いていることがわからない。
てな感じです・。・
自分なりにネットで検索して調べてるつもりです。
971 :
さんとす :2005/07/10(日) 00:45:55
2重スミマセん
975 :
さんとす :2005/07/10(日) 03:22:03
あ、実は俺幼女なんですよ。 おじちゃんたちおしえてくれなのれす・。・
「わ、わたし……どうして止まっちゃったんでしょう」 彼女は困ったようにうつむいた。 「おまえさ」ぼくは言った。「ロボットってことは中にコンピュータとか入ってるんだよな」 「え、ええ、そうですけど?」 「もしかして、そのコンピュータのOSってさあ、マイクロソフト製?」 「はい、そうです」 「そうか……」 ぼくはため息をついた。 「もしかして、いま『こいつのOS、マイクロソフトでうざすぎ。面倒見切れないよ』とか思って、ため息つきませんでした?」 「――いや、そういうわけでもないんだけど……」 「いいえ、嘘をついても駄目ですわ。呼気圧に毎秒25立方センチメートルの有意な増加を検出しました。知ってる……これはため息。あの洪水の晩と同じです」 「いや、真面目な話、おまえは悪くない」ぼくは断言した。「悪いのはおまえのOSなんだ」 彼女はあいまいな笑みを浮かべて、小首をかしげた。そのまま動かなくなってしまった。 *ピー* 「な、なんだ、そのエラー音は」ぼくはうろたえた。 《人格統合モジュールSuperEgoで、自己同一性エラーが発生しました。自己イメージ「のOS『のOS』」は無効な参照です》 無機的なエラーメッセージ。とび色の目を見開いたまま、彼女の表情筋コントロールが凍りついたように停止している。しょうがないなあ、こいつ、「わたし」と「わたしのOS」を区別しようとして自己参照ポインタが無限ループに陥ったな。何というやわな…… 《セッションで保存していない記憶は失われます。人格を続けるには、任意の突起を押してください》 「人格を続けるには」とはどういうエラーメッセージだ、マイクロソフトのAIめ。そのうえ「任意の突起」だぁ? ぼくはちょっと考えてから、彼女の鼻の頭を押してみた。あんのじょう、何の反応もない。やれやれ。どうせそんなことだろうと思ったよ。
あちこち開けたり閉めたり押したり引いたり、さんざん手こずったあげく、ようやく彼女の人格に再起動をかけると、 《性別定義ファイルが壊れています。初期化しますか?》 またぞろ、わけの分からないエラーが出やがった。 自己認識に失敗したくらいで、いちいち人格システムファイルが壊れるか? とりあえず「無視」を選択して彼女の再起動を続ける。 《体内時計の同期中。GPSの信号を受信しています。しばらくお待ちください……》 「あ、先輩……」彼女はハッとしたように叫んだ。「わたしったら、ログのタイムスタンプに一兆ナノ秒レベルのとんでもない空白が。……もしかして……って、もしかしなくても、また止まっちゃったんですね?」 「まあ、まだ二度目だし」ぼくは慰めるように言った。「それに『わたし』が生きていて良かったよ」 「『わたし』は、『ぼく』のエイリアスです。でもぼく……」 彼女は困った顔をした。その顔がどんどん曇ってゆく。 「どうかしたか?」 「『ぼく』は……『あなた』ではないですよね?」 「なんか、壊れてるなあ。……あのさあ。おまえ性別のバックアップってとってある?」 「性別ですか?」彼女はにっこりほほえんだ。「はい、復元ポイントがちゃんと」 「良かった……。とりあえず、それリストアしてみ。なんか壊れたとかって、さっき出てたから」 「分かりました。ぼくの性別が壊れちゃったんですね。えーと、どのバックアップからリストアしたらいいんでしょう?」 「最新のでいいんでないの?」 「最新が3つあるんです。ひとつは男、ひとつは女、ひとつは訳が分からないファイルです。どれにしますか?」 「……どれにしますか、と言われても」 「先輩のお好きなので……」彼女はほほえんだ。 「……というか、どうしてバックアップの間にそんな不整合が……」 「ぼくの意識ったら3つもあったんですね。ぜんぜん知らなかったよ」彼女は頭をかいた。 「仕様だろ、きっと」ぼくはつぶやいた。
少し953の質問と似ているのですが エクセルライクなデータ(1レコードに商品1〜商品nのフィールドがある)を 別テーブルの商品というフィールドにまとめる場合、 普通はどうやるのでしょう。 ちなみに自分は、VBAでやりました。
984 :
982 :2005/07/10(日) 23:37:58
>>983 953じゃありません。
特にコードとかは必要はないのですが、SQLとかでできるのかと思って。
自分の場合は、幸いフィールド名が商品1〜商品nという具合なので、
二重ループで簡単にできましたけど。
こんな感じ
rs1 = 元データのレコードセット
rs2 = 新テーブルのレコードセット
Do Until rs1.EOF
for i = 1 to n
rs2.Addnew
rs2!商品 = rs1("商品" & i)
rs2.Update
Next
rs1.Movenext
loop
>>984 この件に関しては、バカの課題提出期限過ぎた後にもう一度ゆっくり語ろう
986 :
982 :
2005/07/10(日) 23:50:12 >>985 了解しました。
その際は、ご教示のほどよろしくお願いします。