Microsoft Access

このエントリーをはてなブックマークに追加
896NAME IS NULL:04/05/25 15:14 ID:???
>>894
重量のデータ型を「通貨型」にするといいよ
897NAME IS NULL:04/05/25 15:16 ID:???
>>894
浮動小数点型の仕様

式1:CDbl(Format([重量]*[出庫],"0.0"))
とかに汁
898894:04/05/25 15:49 ID:3djPOBUW
>895
>896
>897 ありがとうございました。とりあえず「通貨型」の結果で満足しました。
式1:CDbl(Format([重量]*[出庫],"0.0"))  … 勉強になりました。またよろしくお願いします。

899NAME IS NULL:04/05/25 16:03 ID:+W3QelmS
>>893
テメェでADOでSQLたたいてみたいってか
なら参考書見た方が早い希ガス…
ここで漏れ達が書いて教えるの、ツラいもんがあるぜ?
家に帰ったらやってみてもいいが
900NAME IS NULL:04/05/26 03:36 ID:???
>>878
Office 2000 の CD-ROM から DAO360.CHM
を下記のディレクトリにコピーする。
C:\Program Files\Common Files\Microsoft Shared\DAO\
901878:04/05/26 03:52 ID:???
>>880 >>900
回答感謝。これから試してみます。
902884:04/05/27 10:29 ID:???
>899
それでSQL使ってやってみたのですが、

実行時エラー2342
RUNSQL/SQLの実行アクションを利用するにはSQLスタートメント
からなる
引数が必要ですとでてしまうのですが・・・。

ちなみにソースプログラムは

Private Sub 合計_Click()



Dim sql As String

sql = "SELECT 顧客番号 FROM 合計金額 GROUP BY 顧客番号"

DoCmd.RunSQL sql

End Sub
903NAME IS NULL:04/05/27 10:44 ID:???
>>902
>sql = "SELECT 顧客番号 FROM 合計金額 GROUP BY 顧客番号"
の最後に「;」がないよ
904884:04/05/27 11:45 ID:???
>903
それでもだめでした・・・。
905NAME IS NULL:04/05/27 12:12 ID:???
>>904
まずはConnectionString教えれ。
906NAME IS NULL:04/05/27 12:26 ID:???
俺にはただの選択クエリに見えるのだが
907884:04/05/27 14:21 ID:???
ConnectionStringですか?
これに関してはよくわからないのですが、記述はしていないです。
908NAME IS NULL:04/05/27 14:46 ID:???
>>906の言うとおり、DoCmd.RunSQLで選択クエリ(要するにselect文)実行してどうする、
という話だと思われ

その集計の結果をどう使いまわすのかによって、やることは変わってくるが、
例えば集計の結果をレコードセットに取るなら
Set レコードセット = Currentdb.Execute ( sql ) のような感じだし
集計の結果をフォームやレポートのソースにするなら
フォーム/レポート.recordsource = sql のような感じだし
新規クエリーを作りたいのなら
currentdb.createquerydef ("",sql)のような感じだし

とりあえず何がしたいのか書いてほしい。
909884:04/05/27 14:53 ID:???
>903
テーブルにある顧客番号をグループ化して
その顧客番号ごとの料金を合算させて合計金額を出すという処理を
やりたいんです。
クエリーでこの処理ができるのはわかっているのですが、
モジュールの記述にてテーブルを直接いじりたいというのがあるんです。
910908:04/05/27 15:08 ID:???
いまいちよく分からん。

元のテーブルがあって、それを顧客ごとに集計したクエリを作るというのは
よく分かるが、それを「テーブル上で集計して直接いじる」というのが良く分からん。
いくら集計しても、元のテーブルの内容は何ら変わらんでしょ?

@元(テーブル)
顧客番号 料金  日付
-------- ---- ----
顧客A   \100 5/26
顧客A   \150 5/27
顧客B   \200 5/26
顧客B   \250 5/27

 ↓

A集計(クエリ)
顧客番号 料金
-------- ----
顧客A   \250
顧客B   \450

でしょ?このAを直接いじりたい、っていうことなの?
911NAME IS NULL:04/05/27 15:14 ID:???
>>907
コネクションを設定してないからSQLが動いて無いのでは?

試しに
SELECT * FROM 合計金額 ;
みたいな簡単なSQLを実行してみそ。

それが成功したなら次はAccessのクエリ機能を使って本当に表示したいSQLを実行してみな。
どこでエラーが起きてるのか探すのが先決。
912884:04/05/27 15:23 ID:???
>908
いえ、@のテーブルをいじってAのようにしようと思ったのです。
それはやっぱだめですか?
913884:04/05/27 15:27 ID:???
もとのテーブルをAのように変化させようとしたのです。
914908:04/05/27 15:46 ID:???
「変化」は無理だろう、普通に。いやしくもAccessはRDBだから、
テーブルの構造をほいほい変えたりは普通はやらない。
(ちなみに、クエリだって、元のテーブルをいじっているわけではない。
クエリというのはあくまで計算式だ。)

ただ、@を元にAというテーブルを別個に作ることなら出来る。
それこそDocmd.RunSQL で
"select [顧客番号]、sum(料金) as [合計料金]
into [別テーブル名]
from [元テーブル]
group by [顧客番号]"
を実行すればよろしい。

"select 〜 into " は選択クエリの結果で新規テーブルを作るjet構文。

当然ながら、[別テーブル名]が既にデータベースにあったら、エラーに
なるから、「そのテーブルがデータベースにあったらdropする」という
手順が必要になることに留意。
915884:04/05/28 12:54 ID:???
>908、教えてくれた皆さん。
ありがとうございました。おかげさまで望んだ処理ができました。
916NAME IS NULL:04/05/28 17:27 ID:7OPWyqFn
エクセルで現在管理中のDBをアクセスで管理したいそうなのですが
アクセスは一度も触ったことが無くて容易にできるのかできないのか
解りません。 VBA等を使って自力でやってくれとのことなのですが
一応PGの経験は有りますがアクセス素人でも2〜3ヶ月あればできるでしょうか?

とんちんかんな質問ですが解る範囲でどなたかご教授くださいませ。

917NAME IS NULL:04/05/28 17:46 ID:???
>>916
本買って集中して学習すればそれだけの時間があればなんとかなる。
ただし、少なくとも「容易」ではないぜよ。

よく知っている人が隣にいるとそれだけで大幅効率アップなんだけどな。
918NAME IS NULL:04/05/28 18:30 ID:???
>916
Excelでやってる現在の業務の内容次第。
簡単な社員名簿ならAccess初心者でも1ヶ月もかかんないだろうし、逆に
販売管理なんぞを1から作るならとても3ヶ月じゃおさまらないと思ー
919NAME IS NULL:04/05/28 21:07 ID:t5dksWco
漏れの会社の営業のごみめらがアクセス使って顧客管理しているらしいが、
あたしって天才??って大声で言ってたんだけど、
そんなに難しいモンなの?
そうとはおもえないんだけど、。
データベース設計もせずやってるみたいで、あとからあとから機能を追加しテルっぽい。
しょぼいシステム作ってそうなんだけど、みにいってやらない。
920NAME IS NULL:04/05/28 21:09 ID:t5dksWco
漏れの会社の営業のごみめらがアクセス使って顧客管理しているらしいが、
あたしって天才??って大声で言ってたんだけど、
そんなに難しいモンなの?
そうとはおもえないんだけど、。
データベース設計もせずやってるみたいで、あとからあとから機能を追加しテルっぽい。
しょぼいシステム作ってそうなんだけど、みにいってやらない。
921NAME IS NULL:04/05/28 21:11 ID:t5dksWco
漏れの会社の営業のごみめらがアクセス使って顧客管理しているらしいが、
あたしって天才??って大声で言ってたんだけど、
そんなに難しいモンなの?
そうとはおもえないんだけど、。
データベース設計もせずやってるみたいで、あとからあとから機能を追加しテルっぽい。
しょぼいシステム作ってそうなんだけど、みにいってやらない。
922NAME IS NULL:04/05/28 21:44 ID:???
必要上から画像をリンクさせた
データベースを作ろうと思っているのだが
数千枚ある画像を一括して印刷出力なんぞできるんだろうか?
そんなの作ったことのある人いるかい?
923NAME IS NULL:04/05/28 21:48 ID:???
必要上から画像をリンクさせた
データベースを作ろうと思っているのだが
数千枚ある画像を一括して印刷出力なんぞできるんだろうか?
そんなの作ったことのある人いるかい?
924NAME IS NULL:04/05/28 21:59 ID:MMkR7x31
「やったことないけど、アクセスなんて簡単なんだろ?時間がないからやらないけど」→ 一生ゴミ
925NAME IS NULL:04/05/28 23:48 ID:9r+OnDsn
>>919-921
乙カレー(w
とりあえず昨日はJimタソに感謝感謝

>そんなに難しいモンなの?
使用目的によりけり。いくらでも難しくすることもできるしまた逆も然り。

>データベース設計もせずやってるみたいで
正規化くらい覚えてからやれと。

>>922-923
>必要上から画像をリンクさせた
>データベースを作ろうと思っているのだが

もっと具体的に教えれ。
印刷したいだけなら、画像保存ファイルを呼び出して出力するコードを
ちゃちゃっと入れればいいだけ。
926NAME IS NULL:04/05/29 00:04 ID:???
>923

んー良く分からん(当方も勉強中の身)けどたしか...
ttp://www2.moug.net/app/bbs/message.php?cat=acopr&id=20040116-000015

あたりを参考にちょい前に作ったことはありますよ。

ただ、(自分のやり方がマズったのか)

 「数百枚レベルで激重、むりやり印刷したら途中でオーバーフロー」

...って代物になっちゃいまして、結局そのときスワップメモリをやたらとってようやく
印刷はできました。
なんで...紹介しといてなんですがあまりこの方法はオススメできないのですが...。

#役に立たなくてすみません。
927NAME IS NULL:04/05/29 06:25 ID:L64/5/TR
Accessでショッピングサイトを製作する会社が在りますが大丈夫なんでしょうか?
928NAME IS NULL:04/05/29 07:59 ID:???
>>923
それなりのOCX利用すれば簡単だよ。
つい最近作ったし。

連続印刷は簡単だけど、紙切れ検出とかその後の継続印刷の方が
面倒かもしれない。
929NAME IS NULL:04/05/29 11:23 ID:???
>>927
大丈夫大丈夫。どうせIIS使ってるならセキュリティは同じだから。
930NAME IS NULL:04/05/29 11:50 ID:jNegBdZ0
みなさん教えて下さい!テーブルに商品名というフィールドを作って、
そこの中からレコードを抽出したいのですが、Google みたいな感じの
キーワードで検索という方法はできるのでしょうか!?
ACCESSは勉強中ですので、良かったらわかりやすく教えて頂きたいです。
宜しくお願いします。
931NAME IS NULL:04/05/29 12:40 ID:???
WHERE 商品名 LIKE '%うんこ%'
932NAME IS NULL:04/05/29 12:41 ID:???
Likeでいいんじゃないの?
933NAME IS NULL:04/05/29 12:49 ID:???
漏れもLikeって書こうと思ったけど、Likeでやるとキーワード複数に対応できない罠。
スペースを"|"に置き換えて、正規表現使えればイイんだろうけど・・・調べるからちょっと待っとき。
934933:04/05/29 12:55 ID:???
とりあえず、ワークテーブルつくって、そこにスペース区切りでキーワード切り出して入れて、
WHERE 商品名 ANY (SELECT キーワード FROM ワークテーブル)
で、やってみそ。
935NAME IS NULL:04/05/29 13:12 ID:jNegBdZ0
>>931〜934
ありがとうございました!
自分でもLikeを使って作ってみたのですが、複数のキーワードに対応
できずに困っていました。助かりましたm(_ _)m
936933:04/05/29 15:20 ID:???
>>935
そういう時は「複数キーワード対応にするには?」と書け。
937NAME IS NULL:04/05/29 16:44 ID:???
BuildCriteria()をうまく使えばいいんじゃね?
938OCR作成:04/05/31 21:00 ID:SfwwBETg
すみません、初歩的な質問で申し訳ないのですがどなたかお答えお願いします。

Access (Ver.2000以上)で、住所録などのデータをOCR用紙に転記 (印刷)
させるにはどうしたらいいのでしょうか?

市販のアドインでそういう製品があるでしょうか?

どなたかおねがいします <m(__)m> 。
939NAME IS NULL:04/05/31 22:21 ID:???
普通にレポート作ればいいよ
940NAME IS NULL:04/05/31 22:24 ID:Dja+Zb2C
全く同意
941NAME IS NULL:04/06/01 00:10 ID:???
DAOで値を取得する場合の質問なんですが
フィールド名を動的に設定することって可能でしょうか?
テーブルのフィールド数が150近くあり、変数に入れたフィールド名を使いたいのですが上手くいきません。

Set rs = db.OpenRecordset("select * from TABLE", dbOpenDynaset)
GetFieldName = "取得したいフィールド名"
Return = rs![GetFieldName] ’ここが上手くいかない
942NAME IS NULL:04/06/01 00:33 ID:???
Return = rs.Fields(GetFieldName)
943NAME IS NULL:04/06/01 13:30 ID:/K4PEhlc
テーブルのフィールドの1つのデータのみを
テキストボックスに表示させたいのです。
どうしたらいいですか?



番号  物
1   車
2   電車
3   飛行機

この場合テキストボックスには車を表示させたいのです。
そしてその後処理が終わったあとテキストボックスを空にして
電車、飛行機と最初から最後まで表示させるようにしたいのです。
944NAME IS NULL:04/06/01 14:07 ID:???
>>943
txtBox = rs("物").Value
945943
>944
ソースプログラムは下記の通りですが、

コンパイルエラー
メソッドまたはデータメンバが見つかりません。

とでてしまいます。


Private Sub 合算2_Click()

Dim db(2) As DAO.Database
Dim tbl(2) As DAO.Recordset


Set db(0) = CurrentDb
Set tbl(0) = db(0).OpenRecordset("請求", dbOpenDynaset)
Me!テキスト5 = db(0)("sender_h323id").Value


End Sub