5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

Microsoft Access

1 :名無しさん@お腹いっぱい。:03/06/30 14:53 ID:???
http://www.microsoft.com/japan/Office/Access/

俺は使ったこと無いよ。

2 :名無しさん@お腹いっぱい。:03/06/30 14:53 ID:0HxTkYjQ
sfjs

3 :名無しさん@お腹いっぱい。:03/06/30 14:54 ID:16mvHCe2
2gte

4 :名無しさん@お腹いっぱい。:03/06/30 15:07 ID:???
つこてるけど

5 :名無しさん@お腹いっぱい。:03/06/30 15:13 ID:???
いた違いだろ

6 :名無しさん@お腹いっぱい。:03/06/30 15:35 ID:???
板違いはやめろ厨!

7 :S ◆KI8qrx8iDI :03/06/30 15:45 ID:???
Accessはいいよね。俺もかなりハマってる。

8 :名無しさん@お腹いっぱい。:03/06/30 15:53 ID:???
真面目スレage

9 :名無しさん@お腹いっぱい。:03/06/30 15:55 ID:???
死守!

10 :名無しさん@お腹いっぱい。:03/06/30 15:56 ID:???
あさげ

11 :名無しさん@お腹いっぱい。:03/06/30 15:57 ID:???
で、実際のところ使い心地とかどうなの?
俺excelをデーターベース代わりに使ってばっかでAccess使ったことないけど。

12 :名無しさん@お腹いっぱい。:03/06/30 15:59 ID:???
なんか勘違いしてる厨がいるなぁw

13 :名無しさん@お腹いっぱい。:03/06/30 16:01 ID:???
データベースとしてexcelなんて話にならないほど多機能。

つーか多機能すぎて実際俺も全然使いきれてないけど。

14 :名無しさん@お腹いっぱい。:03/06/30 16:29 ID:???
保守

15 :名無しさん@お腹いっぱい。:03/06/30 20:16 ID:???
桐つかえ

16 :名無しさん@お腹いっぱい。:03/06/30 20:40 ID:???
正直FileMakerの方がいい。



17 :名無しさん@お腹いっぱい。:03/07/01 00:31 ID:???
重いよ

話は替わるがここの板のHN意外と簡単に決まりそうだがどうよ?

18 :名無しさん@お腹いっぱい。:03/07/01 20:43 ID:vfUwD800
age

19 :名無しさん@お腹いっぱい。:03/07/02 09:18 ID:8FIVctRO
ACCESS総合相談所 その8@ビジネスソフト板
http://pc2.2ch.net/test/read.cgi/bsoft/1051630268/

【玄人】素人ACCESS相談所【禁制】@ビジネスソフト板
http://pc2.2ch.net/test/read.cgi/bsoft/1047052026/


20 :名無しさん@お腹いっぱい。:03/07/02 22:49 ID:???
使いにくいよAccess。VSSがつかえないのが痛いし。
VBAでなんでも出来る分データベース設計が疎かになって、後でかえって困る。

21 :名無しさん@お腹いっぱい。:03/07/03 00:01 ID:???
>VSSがつかえないのが痛いし。
釣りか? Developer 買えば使える
http://www.microsoft.com/japan/msdn/ssafe/faq_ssafe.htm

あと設計悪いのは設計者の所為。
まあ俺も Access 好きじゃないが

22 :名無しさん@お腹いっぱい。:03/07/03 20:59 ID:oyHhLEIO
ADPよりリンクテーブルでつないだほうが良くない?

23 :名無しさん@お腹いっぱい。:03/07/03 22:47 ID:???
俺もアクセス嫌い。
MDBで貰っても速攻SQLに突っ込んじゃう。

24 :名無しさん@お腹いっぱい。:03/07/05 00:01 ID:???
マルチユーザのロック管理とかが全然考えられて無かったからなー。
ADPとか使うとその辺、簡単にできるのかな?


25 :名無しさん@お腹いっぱい。:03/07/05 02:10 ID:???
何を使ってもマルチユーザのロック管理なんてできません。


26 :名無しさん@お腹いっぱい。:03/07/08 08:03 ID:DBuI5wsH
表形式のフォームからボタン押してそのレコードだけの一枚レポートを
表示させる方法って無いですか?
Private Sub コマンド26_Click()
On Error GoTo Err_コマンド26_Click

Dim stDocName As String

stDocName = "r_Select"
DoCmd.OpenReport stDocName, acPreview

Exit_コマンド26_Click:
Exit Sub
今のボタンはこんな感じで、どうしても一番はじめのレコードが
まず表示されてしまいます・・・

27 :名無しさん@お腹いっぱい。:03/07/08 08:23 ID:???
>>26
OpenReportのFilterNameなりWhereConditionなりのオプション使うのは無し?

28 :名無しさん@お腹いっぱい。:03/07/08 13:02 ID:2Vv6I6Cp
                    /ヽ
                    /  |
                   /  |
                  /    \      
              /\  /      \   |\
             /  \|        \/  |
            /     |            |
            |                 |     
         |\ ヽ                 Vヽ 
         |  \|            _    / 
         ヽ        /⌒ヽ   /  ヽ  /
          ヽ       /    \ /    | | 
           \    /liiiiiiiiiiiiii,, Y  iii.iill|/ヽ  
             \/ ̄  \ ●〕l  〔 ●/ /
              \9 /   ̄    |   ̄|/    ____________________
               ヽ|        」  /   /
                 \   | ̄ ̄|  |  < ねぇ 悪い夢見てた僕を 笑って起こして♪
                  /\  \旦/ /|    \    
                /   \__/  \     ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    / ̄ ̄ ̄ ̄ ̄ ̄|⌒|\ \     /    |⌒| ̄ ̄\
   /           |  |  \______/ |  |     ヽ


29 :名無しさん@お腹いっぱい。:03/07/08 13:40 ID:???
>>26
カレントレコードのキー項目から
新しい単票レポートを作成するか、
レコードセットのcloneを使用しているので
あれば対象レポートのレコードを表形式
フォームのbookmarkまで移動させる。
recordset.bookmark = 現在の表形式フォームのブックマーク

30 :26:03/07/08 21:10 ID:iBtI1CQZ
有り難うございました。VBAもアクセスも触った事が無かったので・・・
Private Sub コマンド26_Click()
On Error GoTo Err_コマンド26_Click

Dim stDocName As String

stDocName = "r_Select"
stLinkCriteria = "[No]=" & Me![No]
DoCmd.OpenReport stDocName, acPreview, , stLinkCriteria

Exit_コマンド26_Click:
Exit Sub

Err_コマンド26_Click:
MsgBox Err.Description
Resume Exit_コマンド26_Click

End Sub

現在こんな感じです。
DoCmd.OpenReport stDocName, acPreview, , stLinkCriteria
のacPrebiewを省いたらいきなり印刷されてびっくりしました・・・
逆に、印刷プロパティを開いて印刷する引数?は無いのでしょうか。

31 :名無しさん@お腹いっぱい。:03/07/08 22:42 ID:hHjWeTHj
>>30
acNormalだっけ?

32 :31:03/07/08 22:43 ID:???
あ、読み違えました。
無かったことに・・・

33 :27:03/07/09 02:46 ID:???
印刷ダイアログは
DoCmd.RunCommand acCmdPrint
で出ますが、あまりお勧めはできないです。
タイミングとか初めてだと色々難しいので、、、

僕はいつも印刷ボタンと印刷プレビューのボタンを
用意してやってます。
印刷枚数が指定したいとかページを指定したいとか
ならそれ用のフォームを作っちゃうって方が色々勉強になりますしね。

34 :30:03/07/09 06:48 ID:???
>>33
ああ、なるほど。引数としてではなくてダイアログを出すコマンドなのですね。
後は最初に出す予定のフォームから指定ページを送るとか、色々考えています。
また詰まったら教えてくださいな。有り難うございました

35 :名無しさん@お腹いっぱい。:03/07/09 15:45 ID:3WlcY+j2
accessみたいなレポートをガシガシ作れるフリーのデータベースソフトあります?

36 :名無しさん@お腹いっぱい。:03/07/09 16:53 ID:???
>35
君の人生間違ってる。色々と。

37 :27:03/07/10 10:41 ID:???
>>34
多少でも、お役に立てた用で良かったです。
>>35
そんなのあったら欲しいっす(w

38 :名無しさん@お腹いっぱい。:03/07/13 14:29 ID:v5oe19/L
>>35 Access割るしかないだろうね。
Accessのレポートで苦労してレポート専用ソフトを過去20万円くらい使ったが、
結局使えず。それで苦労してAccessだけでがんばって何とか作れるなったが。
フリーで無理だろ、Access使っとけ。

39 :名無しさん@お腹いっぱい。:03/07/13 22:57 ID:KRHhH3Cb
会社で使用するならAccessなんてフリーみたいなもんだろ。
レポートガシガシ作るってんなら仕事用だろうし。

まあ値段相応に、不安定で、遅くて、メンテ効率悪くて、不満爆発なんだが。


40 :35:03/07/13 23:51 ID:???
そうすか・・・
諦めてオークションあたり漁ります。

41 :あぼーん:あぼーん
あぼーん

42 :あぼーん:あぼーん
あぼーん

43 :あぼーん:あぼーん
あぼーん

44 :あぼーん:あぼーん
あぼーん

45 :あぼーん:あぼーん
あぼーん

46 :あぼーん:あぼーん
あぼーん

47 :あぼーん:あぼーん
あぼーん

48 :あぼーん:あぼーん
あぼーん

49 :あぼーん:あぼーん
あぼーん

50 :あぼーん:あぼーん
あぼーん

51 :山崎 渉:03/07/15 11:18 ID:???

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄

52 :名無しさん@お腹いっぱい。:03/07/16 18:27 ID:ja80KWon
レコードの新規追加ボタンを作りたいのですが
OpenFormにどういう引数を渡せば良いのでしょうか

53 :52:03/07/16 23:14 ID:xyh7C4T0
要するに、カード型入力フォームを開くと同時に
新規レコード入力をしたいと言う事なのですが。
何とか出来ないでしょうか?

54 :名無しさん@お腹いっぱい。:03/07/17 00:36 ID:oZVRF3Cc
>>52
失礼ですが、質問の稚拙さからするとDAOやADOが使えるレベルではないと思います。
仮に私の仮説が正しく、かつ1つのTableから成り立つFormであるとすれば

Private Sub Form_Open(Cancel As Integer)
DoCmd.GoToRecord , , acNewRec
End Sub

とでもしておけば楽ではないかと思います。
Access使っているんですよね?


55 :名無しさん@お腹いっぱい。:03/07/17 07:10 ID:CHqDAk6x
>>54
今年入った新入社員でして、
本来は営業の手に負えない調査、方針のアドバイス、
会社運営に対する参謀役の部署におります。
その仕事の中でちょっと必要なシステムのたたき台を作るため
色々アクセスが必要になったので一週間前から合間を縫ってやってます。
お察しの通りずぶの素人です。
言語は汗以外やった事がないので・・・
何かアンチョコ本があれば良いのですが金があっても何しろ買う暇が(汗


56 :54:03/07/17 07:54 ID:???
>>55
新人さんでしたか、大変ですね。
失礼な書き方をしてごめんなさい。
>19さんのリンク先の方に書き込みをした方が、よいのではないかと思います。
もう少し質問の仕方を、考えていただいたほうが、答えるほうも、具体的で
まともな回答ができるので、レスがつきやすいと思います。
質問の仕方も難しいので、忙しい中大変だとは思いますががんばってください。
重ね重ねの失礼な言い方ごめんなさい。

57 :52:03/07/17 08:27 ID:???
>>56
有り難う御座いました。無事なんとか出来ました
持っている機能の知識から全体を構成するというレベルでなくて
全体を考えながら機能を探しつつ、会議の度に色々要求されまして。
やっていくうちにだんだんいい物になっていくのですが、
後で見ると構成がつぎはぎだらけ(苦笑)
何にしてもアクセスくらいは使いこなせた方が良いので、
アマゾンででも本探します。有り難う御座いました。

58 :あぼーん:あぼーん
あぼーん

59 :名無しさん@お腹いっぱい。:03/07/23 17:55 ID:/BZtv/x/
>>58
アボーンサレテイル・・・

60 :あぼーん:あぼーん
あぼーん

61 :◆/iQf.Br2tM :03/07/23 23:07 ID:BWf0c5Mj
>>57
適当に増築していくというやり方はAccess的には結構正しいやり方
なのできにしないでパワーアップしていってください。
パフォーマンスが悪いとか機能がイマイチなど
色々批判や難があるAccessですが,むしろ増改築しつつアプリケーションを
作っていくという点では優れたツールです。
因みに以前にはAccessでビジネスソフトもよく組んだものですが
初心者の場合は直接オブジェクトにコード打ちこむよりも
マクロ作成などの補助機能を利用した方がやりやすいです。

まず動作するマクロを組みます。
マクロの作成で適当な名前のマクロに動作シナリオを書いていきます。
例えば 
フォームを開く ‐ メインフォーム
とすれば『メインフォームを開く』という動作になります

次に動作させたいオブジェクトに付随する『プロパティー』の 
『…時の動作』をクリックしてマクロを関連付けます。
例えば 『戻るボタン』(コマンドボタン)の クリック時の動作
をクリックして
コード,式,マクロ からマクロを選択。先ほど作ったマクロを
貼りつけて終わりです。

この方式ですと関数名やコードを打つための構造式といったものを
覚えないで済みます。SQLもSQLを直接打つのではなくて
デザインビューでマウスを使ってさくさくと組んでいきましょう。
複雑なクエリーは2段階に分けて組むとやりやすいです。
例えばA,B,Cの各テーブルからデータ抽出したいが思い通りにならない
といった場合,まずA,Bの表からデータを抜き取るクエリーを組み
そのクエリーとCテーブルを連結させるやり方で解決できる場合があります。

まあ頑張ってください。色々覚えてくると出来ることが増えてきます
そうするとなかなか楽しい作業になってきますよ。

データ入力以外はね…(ボソッ

62 :あぼーん:あぼーん
あぼーん

63 :bd:03/07/25 13:07 ID:LAVHBhck
AccessでDB2のテーブルにリンクしたら
TIME型の表示がうまくいかない今日この頃( ´∀`)アッハッハ

64 :ぼるじょあ ◆ySd1dMH5Gk :03/08/02 04:59 ID:???
     ∧_∧  ∧_∧
ピュ.ー (  ・3・) (  ^^ ) <これからも僕たちを応援して下さいね(^^)。
  =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
  = ◎――――――◎                      山崎渉&ぼるじょあ

65 :名無しさん@お腹いっぱい。:03/08/04 00:44 ID:BgbPDDxe
ACCESS2002でクエリーのエクスポートをしてるんですけど、
テキスト形式にした場合、○数字(@とかA)が含まれている
データだけ半角スペース1個ずつ余分についてくるんですけど
これって治らないでしょうか?
ACCESS97ではこんな事無かったんですけど・・・

66 :あぼーん:あぼーん
あぼーん

67 :あぼーん:あぼーん
あぼーん

68 :名無しさん@お腹いっぱい。:03/08/07 23:41 ID:???
Access ADP+MSDEのシステム作るのにいい参考書ないかなぁ。
この辺りの情報ってなんか少ないね。

69 :名無しさん@お腹いっぱい。:03/08/09 04:38 ID:???
いや、腐るほど書籍あるし。

70 :名無しさん@お腹いっぱい。:03/08/09 12:58 ID:???
>>69
ACCESSプロジェクトメインの書籍でなんかいいの知ってたら教えてください。


71 :レプリケーションIDをVBAで使う:03/08/15 06:17 ID:???
ADO の Recordset である GUID を持つ行をフィルタしたいときにはどうすればいいんでしょうか?

Dim rs As ADODB.Recordset
<このへんで rs を初期化>
rs.Filter = "s_GUID = {F4BB253E-DACA-47C7-86F5-1E701AA65C96}"
これだとぜんぜん抽出されないんですよ…

rs.Filter = "s_GUID = {guid {{F4BB253E-DACA-47C7-86F5-1E701AA65C96}}"

でもダメみたい…

ちなみに、あんまりこの件とは関係ありませんが、
整数型は 16bit 長整数型は 32bit レプリケーションIDは 128bit ですが、
VBA の Integer がたでは所詮 32bit までしかあらわせません。
なので VBA ではレプリケーションIDなどの GUID は 16 バイトの配列で表します。

Dim s as String
s = "{F4BB253E-DACA-47C7-86F5-1E701AA65C96}"
Dim a() as Byte
a() = GUIDFromString(s)

72 :71:03/08/15 09:52 ID:???
すみません…俺のミスでした。
実はフィルタ設定とか云々の前に、
レコードセットが不正でした…(泣

結局 GUID でのフィルタには次のフォーマットでいいようです。
rs.Filter = "s_GUID = {F4BB253E-DACA-47C7-86F5-1E701AA65C96}"

なお、データベースプロバイダによっては
部分的に big-endian と little-endian が入れ替わることがあるみたいなので、注意が必要です。

HOWTO: Use GUIDs w/ Access, SQL 6.5 and SQL 7
http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/q197/9/16.asp&NoWebContent=1

このあたりも参考になるかもしれません。
HOWTO: Use CoCreateGUID API to Generate a GUID with VB
http://support.microsoft.com/default.aspx?scid=kb;EN-US;176790

73 :名無しさん@お腹いっぱい。:03/08/15 09:53 ID:???
Cursor & Lock 1997/10/08
http://plaza10.mbn.or.jp/~HighBridge/webapl08.htm

それはそうと、カーソルとロックのタイプって結構組み合わせに制限があるんですね。
これは古いドキュメントですが、 Access 2000 でもそれなりに制約があるみたいです。

74 :名無しさん@お腹いっぱい。:03/08/15 10:17 ID:???
ところで、リストボックスの各行に、違った色をつけることってできるんでしょうか?

75 :山崎 渉:03/08/15 22:10 ID:???
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン

76 :山崎 渉:03/08/15 22:38 ID:???
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン

77 :名無しさん@お腹いっぱい。:03/08/20 16:47 ID:???
システムテーブルMSysObjects の ForeignName って、
直接書き替えることはできますか?

78 :名無しさん@お腹いっぱい。:03/08/27 09:52 ID:JMm3rjJJ
>>77
そんな危険なこと、したくない。

79 :名無しさん@お腹いっぱい。:03/08/27 09:54 ID:JMm3rjJJ
まぁでも MSysObjects の各フィールドの意味とか、教えてほしいところではある。

レプリケーションのために各テーブルには一意に識別子というか GUID が割り当てられているはずなんだけど、
それはどこに書き込まれているの?とか。

80 :名無しさん@お腹いっぱい。:03/08/28 15:25 ID:g6hERXVh
access2000のソフトっていくらくらいすんの?


81 :名無しさん@お腹いっぱい。:03/08/28 15:51 ID:???
>80
ttp://www.pasoq.co.jp/shopping/special/micro/office.html

82 :名無しさん@お腹いっぱい。:03/08/28 15:55 ID:g6hERXVh
>81
ありがとー

83 :名無しさん@お腹いっぱい。:03/08/28 17:09 ID:???
accessの「データアクセスページ」の機能って
どのwebサーバ上でも使用できるのですか?

84 :名無しさん@お腹いっぱい。:03/08/29 03:16 ID:???
IIS限定じゃ?

それより〜
データアクセスページで明細行のある帳票を作る方法がわからないよ〜
Access2002だと「バンド ページ」でHelpに出ているが、Access2000には
無いのかな〜(- -; 「HF Grid」とかいうActiveXを使わなければいけないのかな〜
データアクセスページ、情報が少な杉と思うのは漏れだけでつか?

情報の少なさ、Access Workflow Designer に至っては…
使ってる人いないでしょ。(T T;

85 :84:03/08/29 12:06 ID:???
ttp://216.239.37.104/search?q=cache:qKPK1OascLkJ:www.accessclub.info/google/search.cgi%3Fmode%3Dlist+%E3%83%87%E3%83%BC%E3%82%BF%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%83%9A%E3%83%BC%E3%82%B8%E3%80%80Access&hl=ja&lr=lang_ja&ie=UTF-8&inlang=ja
ttp://www.microsoft.com/japan/enable/training/kblight/T005/9/09.htm
ttp://www.ysn21.jp/tetras/A/AM/AM_08.html
ttp://www.yoshi-mac.com/mybbs.asp?mode=detail&number=722
ttp://www.horikawa.ne.jp/cgi-bin/showlog.cgi?kd=1&no=1058

86 :名無しさん@お腹いっぱい。:03/08/29 13:29 ID:nKyilllO
AccessからODBCでOracle7につなぎたいのです。
しかし、ドライバの対応OSを見ると、対応していないようです。
あきらめた方がいいでしょうか?

クライアント(win2000)→Oracle7(win4.0)

87 :名無しさん@お腹いっぱい。:03/08/29 13:53 ID:???
使えるよ

88 :名無しさん@お腹いっぱい。:03/08/31 03:12 ID:c9R0D4OG
>>86 その組み合わせのソフトが私の勤務先で動いているよ

89 :名無しさん@お腹いっぱい。:03/09/01 10:01 ID:???
>>84
[ACC2002] データ アクセス ページを使って、サブフォームまたはサブレポートをシミュレートする方法
ttp://support.microsoft.com/default.aspx?scid=kb;ja;291803

ACC2000: How to Simulate a Subform or Subreport on a Data Access Page
ttp://www.excite.co.jp/world/url/body/?wb_url=http%3A%2F%2Fsupport.microsoft.com%2Fdefault.aspx%3Fscid%3Dkb%3BEN-US%3B232566&submit=%83E%83F%83u%83y%81%5B%83W%96%7C%96%F3&wb_lp=ENJA&wb_dis=3&wb_co=excitejapan

なんだできるじゃん。

90 :名無しさん@お腹いっぱい。:03/09/02 16:50 ID:wDW5xGok
型がテキストのフィールドにダブルクォーテーションを
2つ続けて入力する方法を教えてください。
文字列として""を格納したいのですが
「長さ 0 の文字列を格納することはできません」と怒られてしまいます。
初歩過ぎてどこにも載ってないので、、、助けてください!

91 :名無しさん@お腹いっぱい。:03/09/02 16:58 ID:???
fld = """""
fld = CHR(34) & CHR(34)

92 :名無しさん@お腹いっぱい。:03/09/02 17:12 ID:???
>>91
入力って書いてあるよ
"が5個だとエラーだしw

プログラムじゃなくてテーブル?から
直接入れれる方法があるなら漏れも知りたい。

93 :名無しさん@そうだ選挙にいこう:03/09/02 18:00 ID:???
>90
全角で入れるしかないでしょ

94 :名無しさん@お腹いっぱい。:03/09/03 09:57 ID:???
そ、それって、、、
違う文字では?(笑)


95 :名無しさん@お腹いっぱい。:03/09/03 11:00 ID:???
ほんとだ、、入れる手段あるのか?
あと別の方法で入れた後、この入力で他のフィールドを
変更できるのだろうか??

96 :名無しさん@お腹いっぱい。:03/09/03 13:32 ID:???
更新クエリ
UPDATE テーブル1 SET テーブル1.DATA = '""';
とか
UPDATE テーブル1 SET テーブル1.DATA = """""";
のような指定でもできるみたい。



97 ::03/09/03 16:06 ID:wVpKLXEA
Accessで、SQLを入力する時に、
半角、全角やスペースのある無しで、
クエリが作成されたり、されなかったりします。
SQLを入力する時の正しい入力方法が
分かり易い形で(入力時の写真付き)
解説されている
教本や参考書、サイトはありませんか
あれば教えてください。


98 :名無しさん@お腹いっぱい。:03/09/03 18:44 ID:y4gojCeO
長瀬愛ちゃんがセーラー服姿で乱れまくり!ルーズソックスが妙に似合います。
女子高生でも通用しそうな小さな体をクネクネ!得意の騎乗位でバンバン腰振ってます。
今すぐ無料サンプルムービーで確認せよ!!

http://66.40.59.77/index.html

99 :名無しさん@お腹いっぱい。:03/09/08 10:05 ID:???
>>97
いまいち状況がわからないのだけど、
デザインビューで構文エラーが出るとかそういうこと?
「半角、全角やスペースのある無しで」とわかってる以上、
そこの記述を間違えないよう気をつける以上の何が必要なのか。

100 :97:03/09/08 15:10 ID:5I8sAlyN
そこの記述が具体的に
明記されている、本やサイトは無いのですか。
構文が変わるごとに、
打ち間違いが、起こりやすいのです。

101 :名無しさん@お腹いっぱい。:03/09/08 16:28 ID:???
>>100
構文は原則半角で記述(単語間のスペースも勿論半角)。
オブジェクト名は[]で括るようにすると間違いがない。オブジェクト名を全て
半角文字で定義しておけばなお良い。(全角文字が存在しない方が望ましい)
これくらいで充分だと思うのだけど。
それでエラーが出るようならば、SQL文のロジックを疑ったほうが早い。

てか、まずはGUIでクエリ作ってそれをSQLビューで見てみるといろいろ
参考になると思う。

102 :名無しさん@お腹いっぱい。:03/09/14 17:40 ID:1aiG1jeF
普通の営業マンが個人で導入しても無意味だな。
ほとんど使わない。


103 :名無しさん@お腹いっぱい。:03/10/03 10:29 ID:nrvZVvZS
*.adp ファイルを開いたときの [ファイル]→[接続] は、
SQL Server もしくは MSDE に接続するためだけにしか使えない??

つまり、データプロバイダを指定することは出来ない?

104 :名無しさん@お腹いっぱい。:03/10/03 11:38 ID:nrvZVvZS
実践 クライアント/サーバーデータベースソリューション 
第17回 Access 2000はType x DB Serverのクライアント開発ツールになりえるか?
http://www.int21.co.jp/pcdn/vb/noriolib/vbmag/9908/db_solu/

からの連載を読んでみると、 Access 2000 を SQL Server / MSDE 以外の
データベースプロバイダのクライアントとして使うのは難しそうですね。

この状況は、 Access 2002 でも同じなのでしょうか?

105 :名無しさん@お腹いっぱい。:03/10/03 11:54 ID:nrvZVvZS
http://www.int21.co.jp/pcdn/vb/noriolib/vbmag/9909/db_solu/

Access 2000で作成するAccessプロジェクト(ADPファイル)は、
Microsoft SQL Serverとそのデータベースへの接続情報を保持する
(「Accessプロジェクトに設定されたデータベース」情報)。

ADPファイルに記述されたVBAコードで作成したRecordsetオブジェクトを
フォームのRecordsetプロパティに代入することで
「Accessプロジェクトに設定されたデータベース」情報とは関係なく、
フォームで操作することがでる。

106 :名無しさん@お腹いっぱい。:03/10/03 11:58 ID:nrvZVvZS
http://www.int21.co.jp/pcdn/vb/noriolib/vbmag/9910/db_solu/

Access 2000のAccessプロジェクトはあくまでもSQL Server専用のものであり、
ほかのデータベースに接続して使用するには多くの制約がある。
---------------------------------------------------
つーことらしいです…ションボリ
Access 2002 もしくは Access 2003 ではなにか進展があるんでしょうかね…

107 :名無しさん@お腹いっぱい。:03/10/03 12:03 ID:nrvZVvZS
http://www.f3.dion.ne.jp/~element/msaccess/
このあたりでも、あんまり 2002 以降に特化された説明ってありませんね…

108 :名無しさん@お腹いっぱい。:03/10/08 23:05 ID:CBVsWL7v
社内システム構築でアクセステーブルの構造を商品別に分割して
(つまり正規化されてないカード型データベースのような構造)
構築することってあるんですか?


109 :名無しさん@お腹いっぱい。:03/10/11 13:19 ID:GszSfmFi
ACCESSってレポート機能がいいんだよね。
VBだと別に開発ソフト買わないと間に合わないよ。


110 :NAME IS NULL:03/10/14 04:07 ID:???
Access2000で作ったプログラム使ってる人はWinXP・SP1/2000・SP4適用済みCD
によるクリーンインストールは要注意
素のWin→SP適用では何も問題ないのに、適用済みCDによるクリーンインストール
だと動かなくなる場合がある

Win2000の場合だとSP3適用済クリーンインストールは動くが、SP4適用済クリーン
インストールだと駄目なもの出てきて・・・鬱

111 :NAME IS NULL:03/10/14 11:33 ID:hgBvnL9m
Access 2002のランタイムってどこにあるんだ?
ダウンロードセンターわけわからん。
誰かおせーて。


112 :NAME IS NULL:03/10/14 12:52 ID:???
>>111
ランタイムはMSDNかOffice Developer CDにしか入ってない(一般には頒布していない)のでは?
つまりこれらの購入者が開発したシステムと一緒に配布することのみが許されるのかと…(詳細ワカリマヘン)

113 :NAME IS NULL:03/10/15 02:45 ID:???
Vector で探せばあるんじゃないか?
システムとセットだろうが

114 :NAME IS NULL:03/10/18 00:03 ID:???
>110
動かないってどういうこと?
もしかしてクエリ中の関数でエラーとか?

115 :Vss使い.たい:03/10/19 20:19 ID:pMpR+t9N
はじめまして WindowsXP Access2002環境のパソコンに、Vss6.0をインストールしたのですが
Accessのメニューバーから、ツール(T)-->VisualSourcesafeが表示されるようになるはずなのに、
従来通りのダイアログが表示され、Vssを使用することが出来ません。
Office2000 Developer活用ガイドには「Accessのソースコード管理アドインは
Office2000 Developer Toolsセットアップの一部としてインストールされ、
Accessの[ツール]メニュー」から直接使用できます。」とあります。
XPとAC2002の組み合わせだからVSSが使えないのかとも思いましたが、
マイクロソフトサポート技術情報287460や283228などを読むとどうやら利用できそうです。

Vss6.0も最新vss6.0cにアップしています。また、メニューバーから
表示(V)-->ツールバー(T)でソースコード管理のチェックをONにしています。

何か単純な設定漏れのような気もしますが
何故VSSが使えないのか、心当たりの方がおりましたらご教授願います。

一日中ネットを探した「VSS使い.たい」より


116 :NAME IS NULL:03/10/20 19:23 ID:cUZE6nZ9
>>112
> ランタイムはMSDNかOffice Developer CDにしか入ってない(一般には頒布していない)のでは?
> つまりこれらの購入者が開発したシステムと一緒に配布することのみが許されるのかと…(詳細ワカリマヘン)

Office 2003 ではどうなるんだろうね。
Office Xp では用意されていた Developer Edition が発売されないっぽい。

117 :NAME IS NULL:03/10/21 12:30 ID:???
>>115
Office XP Developer Edition のセットアップも実行しないと駄目だと思う
既に実行してたらゴメン

あと関係ないが VSS の最新は 6.0d じゃなかったっけ?

118 :VSS使い・たい:03/10/21 17:31 ID:TskdiXRo
>>117 ええっ!?、それってOfficeXP Professionalユーザーであっても
Office XP Developer バージョンを買いなさいということ?
う〜ん、ユーザー環境に合わせたかったのですが・・・・
それならAccess2000にしましょうか。

でも、そうなるとWinXP Access2000であればVSS正しく動くの?
ってことに。・・・とりあえず試してみます。

119 :NAME IS NULL:03/10/21 19:38 ID:Dy5xJv2p
どうしても VSS 使いたい?
あ、いや、あおっているわけじゃなくて、漏れは使ったことがないもんで。

120 :NAME IS NULL:03/10/21 21:37 ID:g0ZT+XTg
こんにちは。AccessVBAについて質問させてください。
環境はWinXP+OfficeXPです。
Accessから、DOSのコマンドラインを実行したいのですがどう
してもうまくいきません。
具体的には、WinZIP(圧縮解凍ツール)を実行して特定のCSV
ファイルをZIPに圧縮するという処理をAccess VBAで自動実行
したいのです。コマンドラインは以下の通りです。

 Ex) C:\Program Files\WinZip\WINZIP32.exe" -a -ex _
     c:\eee.zip c:\test.csv

Cドライブのtest.csvをWinZIPを使って圧縮し、eee.zipという
ZIPファイルを作成するというものです。
(DOS窓での動作は確認しています)
実際には、test.csv や eee.zip のパスは固定ではなくてAcc
essのテキストボックス上に入力しているパスを読み込む形に
したいと思っているので、どうしてもAccessからの実行を行い
たいんです。
また、会社のPC環境を変えてはならないので他のツールをイン
ストールしたりする事も出来ません。
もう何日も調べていますが、どうしてもやり方が分かりません。
どなたか教えてください。どうかよろしくお願い致します。

121 :NAME IS NULL:03/10/21 22:02 ID:???
>>120
詳細に書いているようですが、一番肝心の「何がダメ」なのかが書いてないですよ。
例えば
1.shell関数でエラーが出る。
2.shell関数で呼び出してエラーは出ないが
   解凍もされてなくてデータが取り出せない。
3.解凍されているが次の処理でデータが取り出せない。
4.shell関数って何ですか?

等々色々考えられますよ。

僕なら、unzip.dllでAPI呼び出しなり、それ相応のライブラリで
DOS窓を使わないようにしますけどね。

122 :NAME IS NULL:03/10/23 01:36 ID:QLG4Ahs3
>>121
お返事ありがとうございました!気をつけて書いたつもりだったんですが、
一番肝心のところが曖昧で申し訳ありませんでしたm(_ _)m
具体的に言うと、120で書いたコマンドラインをAccessから実行する為に
色々とやってみたんです。Call関数やShell関数などを使って試行錯誤し
てみましたがだめでした。
実際には以下のようなコードを書いてみました。
---------------------------------------------------------------
★Dim ZipStr As String
ZipStr = "C:\Program Files\WinZip\WINZIP32.exe -a -ex _
       C:\bbb.zip C:\test.rtf"
Call Shell(ZipStr)

→これを実行すると、プロシージャの呼び出し、または引数が不正です
   というメッセージが出てしまいます。

 ★Dim tmp As String
 tmp = "Command.com /C C:\Program Files\WinZip\WINZIP32.exe _
 -a -ex C:\bbb.zip C:\test.rtf"
 Call Shell(tmp, 4)

 →この場合DOS窓が一瞬開いてすぐに閉じられます。エラーmsgは出ま
  せんが、ZIPファイルは作られていません。
---------------------------------------------------------------

>僕なら、unzip.dllでAPI呼び出しなり、それ相応のライブラリで
>DOS窓を使わないようにしますけどね。

その方法はネットで検索をした時に見つけて、UNZIP32.DLLをダウ
ンロードして、それを使って圧縮するという方法がある事を確認
できました。
しかし今回使用するDBが会社のものなので、会社側から「元々の
環境に入っていないものをダウンロードして使うのは不可」とい
うお達しがあったんです・・・(T_T)
なので、どうにかして今ある環境(WinZip+Access)でファイル
の圧縮をしたいんです。
出来るか、出来ないかだけでも分かれば今後の対応も考えられる
んですが。。。
AccessからDOSコマンドを動かしてWinZip経由で圧縮ファイル
を作成する方法はあるのでしょうか?
質問ばかりで申し訳ありません。。。この1週間、力を込めて探
しましたが私のスキルではどうしても一人で解決出来そうにあ
りません。どうかアドバイスよろしくお願いいたします!

123 :NAME IS NULL:03/10/23 02:54 ID:???
うちではこれでうまく動きましたが。。。

Dim ZipStr As String
ZipStr = """C:\Program Files\WinZip\WINZIP32.exe"" -a -ex C:\bbb.zip C:\test.rtf"
Shell (ZipStr)

long名のところで"(VBAの文字列内なので""ですが)で
囲んで渡してやらないとダメなんでしょうかね。
圧縮ファイルや対象のファイルもlong名なら囲んでやればよいかと。

ってデータベースと関係ないじゃん(w

124 :名無しさん@そうだ選挙にいこう:03/10/23 08:25 ID:???
>>122

>  ★Dim tmp As String
>  tmp = "Command.com /C C:\Program Files\WinZip\WINZIP32.exe _
>  -a -ex C:\bbb.zip C:\test.rtf"
>  Call Shell(tmp, 4)

Command.com の部分
WIN98では「command.com」、WIN2000以降ではでは「cmd」
外してたらゴメン



125 :NAME IS NULL:03/10/23 21:55 ID:Pvev0WP4
ホームページつくってaspつかってアクセスファイルから検索とかやらせると
ごくたまにデータベースが開けないエラーが出ます。
しばらく開けない状態がつづきまた突然見られるようになります。
アクセス権限などはちゃんと設定していますし普段は開けます。
データーベースファイルを開けていると開けませんが、ちゃんと閉じています。
対策法をご存知のお方がいましたら教えてください。よろしくお願いします。

126 :NAME IS NULL:03/10/23 22:11 ID:???
インターネットで公開してるページのバックグラウンドにMS-ACCESSを使ってるんですか?



んなこたーないですよね。。。

127 :122:03/10/23 22:46 ID:QLG4Ahs3
>>123,124
アドバイスどうもありがとうございました!
123さんに教えていただいたコードで希望通りの
動作をさせることが出来ました。
本当にどうもありがとうございます。。。どうしても
うまくいかないので、もしかしたらAccessではそう
いう操作が出来ないのかと心配になっていました。
本当に嬉しいです(ToT)
ダブルクォーテーションで囲むとは全然思いつき
ませんでした。こちらで質問しなかったら一生気付
かなかったと思います(^^;)

>>123
>ってデータベースと関係ないじゃん(w

あっ、そう言えばそうですね!
本当はプログラミング関連の板で質問するべき
だったのかも。。。
Access=データベースという発想で迷わずこちら
に来てしまいました。失礼しました(^^ゞ

>>124
>Command.com の部分
>WIN98では「command.com」、WIN2000以降ではでは「cmd」
>外してたらゴメン

いえいえ、勉強になりました。今後の参考にさせ
ていただきます(^^)

本当にありがとうございましたm(_ _)m

128 :NAME IS NULL:03/10/23 22:54 ID:PqbBxV89
しつもーん。

フォームを自分で作って、その中に2つ以上のレコードを同時に表示させることってのはできますかね?

やりたいことは

例えば、出前の注文が次々に入ってくる。
1.山本さん 12時 そば
2.斉藤さん 13時 うどん
3.山下さん 12時30分 カレー 

それを、時系列的にカレンダーのフォームのようにを形作って表示させる。
見たいなことをやりたいんのですが。

どうも、フォームに複数のレコードを表示させるのがうまくいきません・・・。

フォーム→新規作成→デザインビュー でこのあとどういう風にすれば、こういうことができますか?


ぶっ飛んだ質問ですいませんが、だれかご教授ください。
ほかのソフトを使えばいいのかもしれませんが、訳あって、どうしてもACCESSでこれをやらないといけないのです・・・・。





129 :NAME IS NULL:03/10/23 23:27 ID:???
>>128
Access97以降ならサブフォームを使う。
サンプルデータベースのNorthwind.mdbをインストしてあるなら
『受注』を参照するよろし

130 :NAME IS NULL:03/10/24 09:08 ID:ESRhBeXa
>>126
> インターネットで公開してるページのバックグラウンドにMS-ACCESSを使ってるんですか?

漏れはリンク集とか日記とか、
バックエンドは PostgreSQL で、
そのメンテナンスのためのフロントエンドに Access をつかってるよ。
ODBC 経由で。

131 :NAME IS NULL:03/10/27 19:47 ID:tkGe9Yfq
しつもーん。

WIN2000でACCESS2002を使ってますが、

LANでACCESSを共有することってできますか?

あと、
ある会社の総務課で、データベースを作っています。
そのデータを使う部署が私の総務課と、開発2課なんですけど、
私の総務課だけで、ACCESSのデータをいじくれるようにして、開発2課ではそのデータを
いじくったりできないようにロックを掛ける方法がないでしょうか?

132 :NAME IS NULL:03/10/28 07:23 ID:MBdmNYnK
>>131

>LANでACCESSを共有することってできますか?
プログラム(フォーム、レポート、マクロ、モジュール)のMDB
からデータベース(テーブル)のMDBをリンクで共有すれば良いと思います。

ロックに関しては権限の設定があると思いますので
ユーザやグループごとに設定すれば良いのでは?



133 :NAME IS NULL:03/10/28 09:51 ID:???
>131
共有は可能だけど安定性低し。
権限を色々切りたいならC/SのDBMS使ったほうが楽かと。

134 :NAME IS NULL:03/10/28 11:22 ID:aMgZya+1
UNIX サーバ上に PostgreSQL が動いています。

Access 2000 の MDB ファイル内で、この PostgreSQL 上のあるテーブルをリンクし、
サーバ上のレコードを MDB ファイル内のテーブルにコピーして処理し、処理後に
書き戻しています。

テーブルごとずっとロックしておくわけにも行かないので、ロックはせず、
サーバへの書き戻しの際に衝突のチェックをしています。
ほとんど追加のみで更新されることはないテーブルなので、
実際に衝突がおきたことはありません。

と、こういう処理をやっていて思ったのですが、やっていることは MDB ファイル同士、
つまりデザインマスタの MDB と レプリカの MDB の間の同期と同じことなので、
できれば同期処理を Access に任せたいと思っています。

PostgreSQL に ODBC 経由で接続し、s_GUID や s_Lineage などの
レプリケーション用の特殊な型のフィールドをもったテーブルを作成し、
そのテーブルとローカルの MDB ファイル上のテーブルとの同期を
Access に任せることはできるのでしょうか?

つまり ODBC で接続された PostgreSQL 上のデータベースを、
Access の MDB の部分レプリカとして扱うことは出来るのでしょうか?

135 :NAME IS NULL:03/10/28 19:03 ID:b3xxqWdw
>132 133
れすサンクスです。

セキュリティの設定も何とかできたんですけど、

最後の一歩でもうひとつ障害が、
私を管理者にして、もうひとつの課で使うところをユーザグループにして、「見るだけ」に設定しようと
、セキュリティーウイザードで進めていきまして、完成したんですが、

Aというファイルでセキュリティを設定したら
「A.mdb」というファイルと、「セキュリティの設定済み」見たいなファイルと
「・・ .bak]みたいなファイルができていました。

その後自分のPCで起動すれば、パスワードとユーザ名が聞かれて、
うまくセキュリティを設定できたのですが

それらのファイルを、LANの共有フォルダにおいて、ほかのPCで使おうとすると
パスワードとユーザ名が聞かれずに、普通に始まってしまいます・・・・。
ただし、ロックはかかった状態になっています。

つまり、管理者である、僕のPC上でだけ、パスワードとユーザ名が要求され、
見るだけの権限しか与えていない、ほかのPCからは普通にACCESSを起動できてしまうのです。

共有フォルダにおいておくファイルがまづかったのか、自分の設定が下手なのか、ネットワーク上での共有に詳しい方
ご教授ください。

長文ですいません。





136 :NAME IS NULL:03/10/28 20:46 ID:???
クエリ上で、データをバイト数で絞り込むことって可能でしょうか?
フィールドのデータが特定のバイト数以上であれば、表示させたいという感じなのですが。
Access、Windowsともに2000です。


137 :NAME IS NULL:03/10/28 22:13 ID:???
>136
Accessならできるんじゃないかな。LenB()関数とかで。

138 :NAME IS NULL:03/10/28 22:16 ID:???
>134
試してみりゃいいんでないかい?

139 :NAME IS NULL:03/10/28 22:17 ID:???
>129
サブフォームならAccess2.0でも使えたような気がする。
AC97でなんか大幅に変わったの?

140 :詳しい方教えて下さい。:03/10/28 23:32 ID:AlfNli5N
すみませんが、至急で教えていただきたいことがあります。
2つのデータをリレーションシップして両データ共通のものだけを取り出すのはできるのですが、
逆にこの2つの両データに該当しないものだけを取り出す方法を教えていただきたいのですが。
仕事で急にやらなければならないことになりまして、すみませんが急ぎでアドバイスをお願い申し上げます。

例(百貨店のお歳暮顧客データとした場合)
○○百貨店は、お歳暮の売上高を上げるために、お得意様以外の、
あまりご利用頂けていないお客様への販売促進に力を入れることにしました。
そのため、A・B両データを使って、お得意様以外の顧客リスト(店舗番号別に)をピックアップしたいのですが、
ACCESSでどのようにしたらできるのでしょうか?

Aデータ(お得意先リスト)
店舗番号 顧客番号
 1       1000
 1       2000
 1       3000
 2       1000
 2       2000
 2       3000
 3       1000
 3       2000
 3       3000
※ 顧客は重複していない。

Bデータ(全顧客データ)
店舗番号 顧客番号 売上高
 1     1000     60000
 1     2000      40000
 1     3000     50000
 1     4000      3000
 1     5000      2500
 2     1000     45000
 2     2000     70000
 2     3000     60000
 2     4000      3500
 2     5000     3000
 3     1000     55000
 3     2000     50000
 3     3000     90000
 3     4000     2500
 3     5000     3000
※ 顧客は重複していない。

この中からA・B両データを使って、
BデータからAデータに該当しないものを抽出するにはどうしたら良いでのでしょうか?



141 :NAME IS NULL:03/10/29 06:02 ID:???
>140
クエリーのウィザードに「不一致クエリー」ってのがあるからそれを参考にしてみ。

142 :NAME IS NULL:03/10/29 08:20 ID:???
SELECT * FROM 全顧客データ
WHERE 顧客番号 NOT IN (SELECT 顧客番号 FROM お得意先リスト)

143 :136:03/10/29 14:50 ID:???
>>137
レスどうもです。

とりあえず、フォーム上からイベントを設け
LenB(strConv(Me![テキストボックス名],vbfromunicode))
ってな感じでやってみたんですが、表形式のフォームで現在選択されたレコード
にしか適用されないようなんですよ。(テキストボックス名=フィールドの内容)
フィールド全体をチェックできるようにしたいのですが。。。


144 :NAME IS NULL:03/10/29 17:34 ID:oMdWj1rJ
>>143
なしてイベント?クエリに書けばいいじゃん。
ただしVBの定数認識しないので直接128って書く必要あり。

145 :ブー:03/10/29 17:50 ID:hedny5uH
はじめまして。今、JSPでMYSQLのデータベースへアクセスするプログラムを作っています。
今回アイテムリストで選択された文字がボタンを押すとデータベースへアクセスされ、必要なテーブルが展開される
プログラムを作りたいと思っています。もしヒントか何かご存知の方、教えてください。お願いします

146 :NAME IS NULL:03/10/29 18:02 ID:???
とりあえずスレタイをよく嫁とだけ言っておく

147 :136:03/10/30 15:42 ID:???
>>144
そのヒント後、検索したら
http://pc2.2ch.net/bsoft/kako/1043/10439/1043996834.html
の422にダイレクト回答が載ってました。
助かりました。

ナヤミスギデハゲルカトオモタヨ…


148 :NAME IS NULL:03/10/30 15:53 ID:ujSxjMTh
>>147 なるほど、俺も実は同じような処理をしようと思って悩んでた。
Unicode なんて意識したことなかったからなぁ…

ACCESS総合相談所 その7
http://pc2.2ch.net/test/read.cgi/bsoft/1043996834/422
http://pc2.2ch.net/bsoft/kako/1043/10439/1043996834.html

Is Null Or LenB(StrConv([項目],128))

149 :NAME IS NULL:03/10/30 22:12 ID:sTbt+zO/
Accessでストアドプロシージャは使えますか?

150 :NAME IS NULL:03/10/31 04:15 ID:axrUWC9y
>>149
mdb内にストアドプロシージャを構築できるか?という意味ですか?
たぶんできないと思うけど。できたらMSDEを付ける必要ないような。

151 :NAME IS NULL:03/10/31 10:46 ID:???
>>150
丁寧に答えていただきありがとうございました。

152 :NAME IS NULL:03/10/31 12:05 ID:???
VBAで作った関数をストアドプロシージャの代わりに使うことは
できないだろうか?

153 :NAME IS NULL:03/10/31 12:54 ID:3HX0qPCq
VBAで作ったユーザー定義関数をクエリでは問題なく
SQLから使えるのですが、
Perlなどの他のプログラムからODBC経由でSQLを発行する際に
そのユーザー定義関数を使おうとするとエラーになります。

エラー内容:式に未定義関数***があります。

何故エラーになりますか?

154 :NAME IS NULL:03/10/31 17:23 ID:wlBbyDsr
主キーって何ですか?

155 :NAME IS NULL:03/10/31 23:49 ID:axrUWC9y
>>152
ストアーされないし遅いよ?

156 :NAME IS NULL:03/11/01 01:13 ID:???
Accessの「クエリ」はストアドっつーよりビューだしなぁ。

一般的に使われている用語を敢えて離れる「MS語」はやめてほすぃ


157 :NAME IS NULL:03/11/01 06:51 ID:???
   ___        __/
  /    /\     / _/\      ___
/ ̄ ̄ ̄\/|   /| ̄ .\/|    /    /\
       |  |   |/\__.|/  /| ̄ ̄ ̄\/| 
  / ̄ ̄~|/|   \/_/    | |____|/ 
./| ̄ ̄ ̄.|  |.      ̄/__    |/     / 
|  |     |  |   /フ ̄/\   | ̄| ̄ ̄ ̄ 
|/\   .|  |  /| ̄ ̄ ̄\/|  |/\ 
\/ ̄ ̄~|/|  |/\    ___|/  \  \   __ 
   ̄ ̄ ̄~|/  \/ ̄ ̄/      \/ ̄ ̄ /
              ̄ ̄ ̄          ̄ ̄ ̄ 
           (⊃)     (⊃)
     ∧_∧  / / ∧_∧  / /
    ( ´_ゝ`)./ / (  ´_>`)./ /
    ./     /  /     / 
   /   / ̄ ̄ ̄ ̄/   / 
__(__ニつ/   age.  /____|__
    \/____/

158 :NAME IS NULL:03/11/01 14:11 ID:sJELZLRi
Accessをデータベースとして、
Webページを作成しようと思っているんですが、
参考になるサイトをご存知でしたら
教えてください。

159 :NAME IS NULL:03/11/01 16:02 ID:hqmy3kq3
>>158
「壊れない」と豪語する人もいるんですが、
実際に壊れたのを見たことがあります。
書き込みアクセスのあるサイトですが。
基本的に1ユーザ仕様のはずです。

160 :NAME IS NULL:03/11/01 17:18 ID:???
>>158
作成に関することではないですが老婆心ながら・・・。
ttp://www.naboki.net/access/achell/index.html
これを了解した上でAccess使うならなら止めませんとも、えぇ。

もし、Accessで作るならmdbを直接DL出来ちゃうような
サイトになりませんように (-人-)ナムナム

>>159
いますねー。そういう人。
「壊れたことない」と「壊れない」を一緒にしちゃうんだよなー。_| ̄|○ハァー

161 :NAME IS NULL:03/11/02 02:58 ID:???
Accessにはロック処理はないの?
もし無いのなら(ちゃんとロック処理を施した)テキストファイルへの
読み書きにも劣るじゃん。

162 :NAME IS NULL:03/11/02 12:14 ID:fz8EzMsm
access95で作られたデータベースをaccess2000仕様に変換しようと
すると固まる。300M近いアクセスファイルはやっぱ無理なのか?

163 :NAME IS NULL:03/11/02 12:49 ID:wiZVNzC0
今、Acces2002(Access2.0からずっとアップデートしてきた)で
レコードが4万件程度だけど、もうそろそろ限界っぽい。
SQLserver2000に移築しようとしたが、参照整合性が全くとれない。
今まで増築増築でテキトーに作ってきた罰かな?
なんか、良い方法はないですか?
一からテーブルの作り直しかなぁ・・・。

164 :NAME IS NULL:03/11/02 13:26 ID:???
>>163
> SQLserver2000に移築しようとしたが、参照整合性が全くとれない。

SQL Server にデータをすることによって参照整合性が取れなくなるの?

165 :NAME IS NULL:03/11/02 13:45 ID:???
MS Access で通貨型のデータを扱っているのですが、
各国の通貨が入り乱れるような場合はどのようにしてテーブルに格納すればよいでしょうか?

166 :NAME IS NULL:03/11/02 19:47 ID:giLqeYG7
>>165
通貨型のデータそのものものは、バイナリ誤差を防ぐために
少数以下4桁の固定桁数にした整数型のようなもので、
書式は関係ないですよ。
表示方法はコントロール側の書式で自由に変えられます。
他の数値型と同じです。

167 :NAME IS NULL:03/11/03 16:51 ID:8mvhV3eF
>>163
Access 2003でアップサイジングウイザード使えば Data Integrity は維持されるよ。

168 :NAME IS NULL:03/11/03 20:33 ID:???
すみません。質問させてください。
クエリで取得したレコードに行番号を振りたいのですが、
どうもうまくいきません。
OracleのSQLでいうと、
SELECT rownum , 名前 , 電話番号
FROM 社員テーブル
WHERE 取得FLG = TRUE
;
みたいな感じです。
一度条件にあうレコードをオートナンバー型カラムのあるテーブルに入れてから
取得するといった面倒な方法しか思いつかないのですが、
なにかよい方法はないものでしょうか。
厨な質問で申し訳ないですが、よろしくお願いします。


169 :NAME IS NULL:03/11/04 01:48 ID:???
>>168
http://www.ruriplus.com/msaccess/tch/tch_idx.html

170 :NAME IS NULL:03/11/04 04:30 ID:???
>>135
漏れは、フォームのコピーをして一方にフォームのプロパティで「更新、削除、追加」の許可を
「いいえ」にしてまス。
変更権限者にはデータ変更できるフォームのオープンボタン(隠し属性)の場所を教えてまス。

子供だましのような手法だけど・・・

まぁ、これは同じ端末を変更権限がある人と無い人で共有してるからなんだけど。


>>162
300MBなのはデータ部分が大半だと思うので、それを一旦分離した上でコンバートかまして
データはその後インポートすればいいような気がするのだけど、的外してますか?


171 :NAME IS NULL:03/11/04 21:28 ID:RQhXg5RY
>>168
俺も知りたい。

172 :NHGuy:03/11/04 23:39 ID:u9Xzz4RY
>>168
1.次のようなクエリを作り、test1 と名づける。

SELECT MAILLIST.CompanyName, getpos([CompanyName]) AS 式1
FROM MAILLIST
WHERE (((MAILLIST.CompanyName) Like "株式*"));

2. getpos()という関数をモジュールに自分で作る。


Function getpos(strpass) As Integer
Dim MyDB As Database
Dim MyRS As Recordset
On Error GoTo RecErr
Set MyDB = CurrentDb
Set MyRS = MyDB.OpenRecordset("SELECT * FROM test1;")
MyRS.FindFirst ("CompanyName='" & strpass & "'")
getpos = MyRS.AbsolutePosition + 1
RecErr:
Select Case Err.Number
Case Is = 0
Case Is = 3021
MsgBox "Error!"
Err.Clear
Case Else
MsgBox Err.Description
End Select
End Function

3.うまくいけば行番号が表示される。

173 :168:03/11/05 00:36 ID:???
169さんの教えて頂いたサイトのサブクエリを使用した順位付けで、
目的を果たすことができました。
ありがとうございました。

172さんもわざわざありがとうございました。
今回はなるべくシンプルな形を望んでいましたので、
関数を使用するのは避けましたが、今後の参考にさせてもらいます。

それにしても、なんでACCESSってROWNUMが使えないんでしょうか。。。

174 :NAME IS NULL:03/11/05 05:37 ID:zNJ+UGHz
>>173
そんなこと言ったらMySQLにあるLimitをOracleでも使いたいよ。w
関係ないけど。

175 :NAME IS NULL:03/11/06 23:20 ID:B5xy+fUT
>>170
ありがとう!確かにデータがかなーりの部分をしめてるので
データ移動してコンバートかけてみます。助かりました。

176 :NAME IS NULL:03/11/07 04:10 ID:???
リレーションシップってのがさっぱり理解できません…
よい勉強サイトないでしょうか?

177 :NAME IS NULL:03/11/08 14:03 ID:oTczC7iW
行数を表すようなフィールドがないテーブルで
何行目から何行目までみたいに行数を指定したいんですけど
このようなことはできますでしょうか?
アプリ側で指定行を取り出すのではなく、SQLでやりたいです。

178 :NAME IS NULL:03/11/08 15:22 ID:???
>>177
DBの中じゃ順位なんて保証されないぞ。
後からINSERTしたものが下に来るわけでもない。
HDD上の物理的な配置に応じてころころ変わる。
できるかどうかは別にして、何の意味も無いとだけ言っておく。

>>176
@ITとか。

179 :NAME IS NULL:03/11/08 19:43 ID:Id7VLtFs
しつもーん。

ACCESSで月ごとの集計のやり方ってのは、いろいろ調べれば乗ってるんですけど、
僕の使用してるデータベースでは月をテキスト型で
「15年11月3日」
みたいに打ち込んで使用するDBになってるもんで
どうしても、月ごとの集計がうまくできません。

なんか、いい方法ないっすかね?

ちなみにテーブルで抽出しようとすると
「 年 月 日」で指定しなければならず、
特定の一日しか搾り出せません・・・。こまった・・

180 :NAME IS NULL:03/11/08 20:02 ID:???
SELECT CDate('15年11月3日'), Month('15年11月3日')

Expr1000    Expr1001
2015/11/03  11

ワラタ

181 :NHGuy:03/11/08 20:59 ID:PEd1+TN2
ロケールは?

182 :NHGuy:03/11/08 21:11 ID:PEd1+TN2
Format("15年11月3日","yy/mm/dd")

183 :NAME IS NULL:03/11/08 21:40 ID:???
>>179
データから作り直せ。気味悪い。
なんで日時データを文字列で入れるのやら・・・

184 :NAME IS NULL:03/11/08 22:40 ID:???
>>178
掲示板などでよくあるログデータを5件-10件目まで表示ということを
したいんです。
今はアプリ側で取り出したデータから指定行数を切り出しているんですが、
SQL側でこれができたら良いのになぁと思うのです。

185 :NAME IS NULL:03/11/08 22:44 ID:???
>>178
追伸。日付でソートしたデータに対して行数を指定したいということです。

186 :NAME IS NULL:03/11/09 06:38 ID:???
>>179
選択月の入力用テキストボックス(仮にselectとする)
をフォーム(仮にmainとする)に作る。

クエリで必要情報を追加して、DATEのフィールドに
Like "*"+[forms]![main].[select]+"*" という抽出条件を設定。

クエリをソースにしたフォーム(仮にoutdata)を作る。

フォームoutdataのオープン用コマンドボタンをmainに作成

テキストボックスselectに「○年○月」と入力すれば、
その文字列「○年○月」を含む情報一覧の抽出は出来る。
あとは好きなように集計して良し。

念のために書くが、勿論「15年1月」と「15年01月」は同一視できない。


>>185
177、184、185を読んで、何をしたいのかが想像できないのだが・・・
DB上でするべき事でないように思える。
そもそも、指定行は何を以て決定してるのだろう?

日付フィールドがあるならその範囲を指定すればいいのではないのかな?
まさか、同一日で日付が記入されてるのは一行だけということなのだろうか?
yymmdd ログ内容1
      ログ内容2
        :
とか。


187 :ひまで親切な人:03/11/09 10:58 ID:OQqVuAk7
Public Function convToDate(ymd As String) As Date
Dim y As Integer
Dim m As Integer
Dim d As Integer
Dim yPos As Integer
Dim mPos As Integer
Dim dPos As Integer

Const HEISEI_SEIREKI_DIFF = 2003 - 15

yPos = InStr(1, ymd, "年")
mPos = InStr(1, ymd, "月")
dPos = InStr(1, ymd, "日")

y = CInt(Left(ymd, yPos - 1)) + HEISEI_SEIREKI_DIFF
m = CInt(Mid(ymd, yPos + 1, mPos - yPos - 1))
d = CInt(Mid(ymd, mPos + 1, dPos - mPos - 1))

convToDate = CDate(y & "/" & m & "/" & d)
End Function


をどこかのモジュール内において、

「変換レイヤー」
----
SELECT
…日付以外のコラム…,
convToDate([元テーブル].[日付]) AS [日付]

FROM [元テーブル]
----
と、

「変換後のテーブル」
----
SELECT * FROM [変換レイヤー]
----
というクエリを作って、


188 :ひまで親切な人(切れましたすみません):03/11/09 10:59 ID:OQqVuAk7

「変換後のテーブル」を使って、そのやりたい処理をするとか

189 :ひまで親切な人:03/11/09 11:03 ID:OQqVuAk7
すみません。「変換後のテーブル」はいりませんね。
「変換レイヤー」を使って、そのやりたいことをやれると思います


190 :わむて ◆wamuteW7DE :03/11/09 13:47 ID:???
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄#ykZAfoE「      #ykZAfoE「
―――――――――――――‐┬┘ #ykZAfoE「      #lqi=(w「T
       #ykZAfoE「         |        #lqi=(w「T
       ____.___#ykZAfoE「    #ykZAfoE「      #lqi=(w「T
     |        |<_葱看>|   |   #lqi=(w「T      #ykZAfoE「
     |      / i レノノ))) \. |      #ykZAfoE「   #lqi=(w「T
     |        |(ヽl.゚∀゚ノ人/)  #ykZAfoE「  
     |        | ノ Y.ノ |     |     #ykZAfoE「
                  
                    #lqi=(w「T
      量産型を生産するっ

191 :NAME IS NULL:03/11/09 14:10 ID:o3Jv9ZcO
GIGO(Garbage In, Garbage Out)という有難い言葉があるだろ。
糞な入力からは糞な出力しか得られない。
対処療法的にぐちゃぐちゃやってると絶対破綻するぞ。
まずは元データをなんとかしろ。>>179

192 :NAME IS NULL:03/11/10 01:06 ID:???
文句いう香具師にはクエリー(View)でも作ってそいつで「年月日」になった表でも見せてやる。
中は日付型に変換しとく。

.....月に99月とか入れるパターンがあったりする罠

まぁ、漏れだったら「文字列フィールドにそんなことはできねー」ってつっぱねるけどなー。

193 :NAME IS NULL:03/11/11 21:54 ID:jVeK0E1I
>183
 
平成 年 月 日
と入力して、
平成 年 月 日と表示させたかったんです。

で、
「ACCESSは外国生まれなので、日付データは西暦で管理する仕様になっている」
ということを最近知ったもので、やっぱ日付型で管理するほうがいい見たいです、
がんばって作り直します。

しかし、
「平成15年11月3日」と表示させるにしても、
打ち込むときはやっぱ2003/11/3と打ち込まないといけないのですよね?

194 :NAME IS NULL:03/11/12 03:09 ID:???
>>193
入力規則の設定で、どうとでもなる。



195 :NAME IS NULL:03/11/12 07:17 ID:???
SELECT CDate("平成15年11月3日"), Format("2003/11/03", "ggge年m月d日")

196 :NAME IS NULL:03/11/12 21:01 ID:clfMy1v+
AccessでWindowsでログインするみたいに
ユーザー名とパスワードを入力させて一致したら
次の画面に行くように作ろうと思ってるんですけど、
何か参考になるサイトはないでしょうか?
よろしくお願いします。

197 :NAME IS NULL:03/11/12 21:46 ID:???
>>193
自分でルール組めば見た目上大抵のことはできるだろうが、
そもそも日付を文字列で保存するという考え方が、すっごく 変!

いいか?
時間というのは世界中誰にでも公平で、しかも必ず一定の速度で進む。
こういうデータはコンピュータ的には非常に扱いやすい。
しかし、人間の生活実態上はこれをデタラメな長さに寸断して
単位をつけている・・・月の長さがまず一定でなかろう。閏年もある。

この両者の変換ロジックを個人で組もうとしたら大変なことだ。
しかし変換しないことには大小比較(日付だから新旧比較だな)ができない。
日付のデータとしての価値が激減する。
だから、DBなり一部のプログラミング言語なりには、相互変換ロジックが
搭載されている。誰でも使う機能だからな。

それを敢えて使わんというのがさっぱりわからん。
DBを使うのであれば、データの格納形式には最大限の注意を払うべき。
表示形式と格納形式をイコールにする必要はどこにもない。

198 :NAME IS NULL:03/11/13 02:37 ID:h1rhUjKc
Access 2002
DB:Oracle 9i

でVBAからOracleのストアドプロシージャをODBC、またはADO
を使用して呼び出したいのですが、(oo4oはバージョンの違い
によるエラーなどで使用できない)
変数の宣言の方法やストアドの呼び出し方、エラーが起こった場合の
処理方法などがよくわかりません。

巷にはVBでoo4oを使ったストアドプロシージャの使用や、
Aceess + SQL Serverによるストアドプロシージャ実行の例ばかりで
ほかの例がほとんど見つからず途方にくれております。

どなたか教えていただけないでしょうか?
よろしくお願いします。

199 :NAME IS NULL:03/11/13 13:52 ID:qFjCuE6U
>>196
ツール - セキュリティ - データベースパスワード
というのがあるぜ

200 :NAME IS NULL:03/11/13 16:52 ID:KsKpd48D
>199
ユーザーをいくら作っても
管理者でしかログイン出来ないんだけど・・・・
使い方がよく分からんよ

201 :NAME IS NULL:03/11/13 17:45 ID:???
>>199
たぶんそりゃ違うぜ。w
普通にユーザマスタ作って参照するフォーム作るっつー話じゃないのか。
そこまで初歩的なサイトはあるかな。だいたいサイトは裏技集だから。
本買った方がいいぜ。

202 :NAME IS NULL:03/11/13 18:17 ID:J0a1uqDW
>>198
パススルークエリーを使って実行できませんか?
答えを返さないようなストアドならそれでできたと
思うのですが。



203 :NAME IS NULL:03/11/14 06:07 ID:gFzVemRx
データベースで
男なら「1」、女なら「2」って打って(いちいち女、男って入力するのがめんどくさいので)
これを、フォームで表示させるとき、には男、女と表示させたいのです。
iifの使い方はhelpにありましたので、1なら男、そうでないなら女っていう風に、2種類の場合はこれで対応できるのですが、

3種類以上の場合はどういう風にすればいいのか、教えてください
if 関数を使えばいいと思うのですが・・・、ルールにあってないらしく、うまく機能してくれません・・・・・。

204 :NAME IS NULL:03/11/14 07:39 ID:???
「うまく動きません」「出来ません」「動作しないんです。」
で分かる人は少ないと思います。

「何が」うまく動かないのか。うまく説明してください。
おかしい部分をそのまま貼り付ける、、、とかね。
そうすれば答えてくれる人もいらっしゃると思いますよ。

205 :NAME IS NULL:03/11/14 10:08 ID:???
>>203
複数の場合はswitch関数かselect〜caseで。
DB的にはマスタ作って連結する方が良い。

206 :NAME IS NULL:03/11/14 12:14 ID:GZ2cyDg4
Key(重複なし) Data
1         男
2         女
3         不明
こんなマスタ作って連結させればよい。

207 :NAME IS NULL:03/11/14 12:44 ID:???
正規化してないのがバレバレだな。
一から勉強し直した方が早い。

208 :NAME IS NULL:03/11/14 12:49 ID:???
154 名前:NAME IS NULL[sage] 投稿日:03/10/15 16:39 ID:???
これからの時代を考えると最低でも
1 男
2 男(タマ無しサオ有り)
3 男(タマ有りサオ無し)
4 男(両方無いが遺伝子はXY)
くらいは視野に入れておかないとね。

209 :NAME IS NULL:03/11/14 16:16 ID:???
ま、件数次第だが、いちいちマスタでこれ持つのもどうかと思う。
こんなで正規化やってたらキリねー。
マスタテーブルでいっぱいになっちまうよ・・・

210 :NAME IS NULL:03/11/14 16:55 ID:???
>>209
確かにたった一つのフォームだけで使用するのだったら
フォームに埋め込んでしまえとも思うけど、
DBでそういう例外入れるとあとで嫌な事になることない?
項目数が増えたり表記が変わった時にフォーム弄る破目になったり。
なにより気持ち悪くないか? 精神的に。

211 :NAME IS NULL:03/11/14 16:56 ID:???
>>209
確かに件数次第ってのもあるけど、件数が増加するか否かってのもあるでしょ。
今回の場合は関係ないけど、件数が増える可能性がある場合は
マスタ作っといた方が、メンテが断然楽。
増える度にselect caseにcase追加するのは非効率的。

まぁ今回はこれで良いだろうけど。
select case textbox1
case 1
textbox2="男"
case 2
textbox2="女"
case 3
textbox2="不明"
case else
textbox2=""
end select

212 :209:03/11/14 17:18 ID:???
>なにより気持ち悪くないか? 精神的に。

禿堂。質問者のスキル逆読みして、そんなにデカいの扱ってないだろうと
思ってたんだが、キモちわるいのは確かだな。


つか、質問者は消えたんか?

213 :質問者です:03/11/14 18:31 ID:gFzVemRx
>204 -212


解決しました、すいません、おさわがせしました。

結局

iif([ ] =1, "男 ",iif([ ]=2 ,"女 ",iif([ ]=3 "・・・・・・

と限りなくつなげていけばできるようです。ちなみにクエリ上でこれをやってます。
見栄えはよくないですが・・・・・。もっと関数の知識があれば、きれいな関数で美しく書けるそうなのですが・・・・。

EXCEL のif に相当するものが、ACCESSでは iifでできるそうです、すいません。

214 :NAME IS NULL:03/11/14 20:17 ID:???
SELECT x, switch(x=1, 'one', x=2, 'two', x=3, 'three') FROM test

xExpr1001
1one
2two
3three
4(Null)


215 :NAME IS NULL:03/11/14 22:40 ID:gFzVemRx
213

>214 それずいぶんきれいな関数ですけど、
それ、クエリ上でもそうやってうてば使えるんすか?

216 :NAME IS NULL:03/11/16 09:38 ID:0ItrEjun
ageageage

217 :いなむらきよし:03/11/17 19:24 ID:UAJJXCVn
キケー!

218 :NAME IS NULL:03/11/18 02:54 ID:???
FAQなのかもしれんが答えがみつからん教えろ

文字列の比較を case sensitive にする方法!!!

imode uidの処理させようと思ったらこれでハマった

219 :NAME IS NULL:03/11/18 19:06 ID:???
Access 2000 が Windows Server 2003で動くかやってみた人はいらっしゃいますか?

220 :NAME IS NULL:03/11/18 19:58 ID:eViro5SU
>>219
起動するだけでいいのか?なら桶だ
ただし、完全動作するかは白根

221 :219:03/11/19 13:09 ID:z3meqybY
>>220
通常作業はクライアントのXPから2003のmdbにリンクしてつかうんですが
クライアントから最適化を実行すると非常に時間がかかるので、
最適化だけ2003でやっちゃおうかと思った次第です。

222 :NAME IS NULL:03/11/19 16:33 ID:???
俺様専用メモ

C:\xxx.mdbを最適化してC:\xxx2.mdbを作成
1. ↓をメモ帳に貼り付けて拡張子vbsで保存する。
2. 作ったvbsファイルをダブルクリックする。

'-------------------------------
filename1 = "C:\xxx.mdb"
filename2 = "C:\xxx2.mdb"
cs1 = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & filename1
cs2 = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & filename2
Set je = Createobject("JRO.JetEngine")
je.CompactDatabase cs1, cs2
MsgBox "最適化が終了したかもしれません。"

223 :NAME IS NULL:03/11/19 18:21 ID:???
ところで皆さんは付属のVBAで書いてますか?
VBで書いてますか?

私はVBで書いてADOとOLEコンテナ使用してます

224 :NAME IS NULL:03/11/19 19:08 ID:bv1/QXAW
AccessをDBにWEBページを作ってみようと
思っているんですが、
AccessをDBとして作成することは可能なのでしょうか?
ASPでやってみようと思っているのですが・・・

225 :NAME IS NULL:03/11/19 20:21 ID:+vJTnwgH
>>224
Access+ASPは可能でしょう。
もう、5年前にやったことがある。


226 :NAME IS NULL:03/11/19 20:57 ID:???
>>224
IIS+Accessは定番でしたね

227 :NAME IS NULL:03/11/19 21:01 ID:???
>>223
何でわざわざそんなことするんですか?

228 :NAME IS NULL:03/11/19 23:55 ID:bv1/QXAW
>225
>226

可能なんですか!
しかも定番なんですか〜
参考になりそうなサイトか何かご存知でしたら
教えてください。

229 :NAME IS NULL:03/11/20 02:05 ID:???
>>228
ASPの解説サイトはDBにオラクルかSQL鯖使ってるところしか知りませんが
書籍ならASP3.0などの解説本をを求めればいいかと
asp.netだと開発環境に15万くらいかかりますよ
個人的にはphp+mysqlやpostgresqlの方が軽いし組みやすくて好き

>>224
アクセスセットのVBAはフォームの挙動とデータソース等のプロパティが設定しにくいです

230 :NAME IS NULL:03/11/20 13:20 ID:???
俺はPerl/CGI+Access2000で検索エンジン運営してるよ。

231 :NAME IS NULL:03/11/21 01:33 ID:???
本当に?

232 :NAME IS NULL:03/11/21 02:37 ID:???
質問です
正規化したテーブルで

テーブル1に商品コードのフィールドを置いて
テーブル2を商品コードフィールドと商品名フィールドで構成した場合

テーブル1をフォームで入力するときに
リストボックスで商品コードを選択させるときに
商品名が表示されて選択できてテーブル自体のデータには対応しているコードが格納されるようなフォームを作りたいのですが
どうすればいいでしょうか?

マイクロソフト公式のアクセス本を2冊隅々まで読みましたが記載されてませんでした


233 :NAME IS NULL:03/11/21 12:54 ID:???
>>232
リストボックスの設定
コントロールソース:テーブル1の商品コード
値集合タイプ:テーブル/クエリ
値集合ソース:テーブル2
列数:2
列幅:適当に設定
っていうことじゃなくて?





234 :NAME IS NULL:03/11/21 13:06 ID:???
>>232
テーブル1をデータ格納、2を参照元という前提で書く。

リストボックス(コンボボックス)は非連結にしてフィールドリストはテーブル2の「商品名」フィールドを使い、
選択後処理にそのリストボックス(コンボボックス)情報から「商品コード」フィールドへのdlookupで変換かます。
requeryも忘れないように。

勿論、テーブル1のopen時やレコード移動時には、逆向きのdlookup変換が必要。


使い方はhelp読んで。


235 :232:03/11/21 13:57 ID:???
>>233さん >>234さんありがとうございます

>>233さんの方法は本にも書いてあるのでそこまでは出来るのですが
選択時にだけ商品コードと商品名の対応が選択リストで確認できるけれど
フォームが静的な状態の時一覧する際にコードだけで商品名が見えないので
使い勝手が悪いと同僚・上司に不評なんです

彼らなんで正規化が必要なのかとか全くわかってくれないんです

>>234さんありがとうございます

変数 = DLookup("商品名","テーブル2","商品コード=テーブル1の商品コード")

関数はこんな感じでよろしいでしょうか?

236 :NAME IS NULL:03/11/21 19:30 ID:???
>>232
コンボボックスだったら・・
>233のようにコンボを作って、

Private Sub cbo商品コード_AfterUpdate()
Me.txt商品名 = Me.cbo商品コード.Colom(1)
End Sub

・・とかじゃだめ?リストボックスでもまぁ、いっしょでしょ。




237 :236:03/11/21 19:34 ID:???
上のは、Colomじゃなくて、Columnだな・・

238 :NAME IS NULL:03/11/21 22:22 ID:???
>>235
me![商品コード] =DLookup("[商品コード]", "テーブル2", "[商品名] = me![商品名]")

これを、商品名のフィールドを入力/変更した際のafterupdateのイベントプロシジャに入れると、
「"テーブル2の商品名"と"今いるフォームの商品名"がイコールの時、
"(テーブル2の商品名と同じレコードにある)商品コード"を"今いるフォームの商品コード"に反映させる」
という動作をする。
商品名フィールド情報から商品コードを抽出する訳。
これがデータを入力する時の動かせ方。

>>234にも書いたが、フォームのopen時やレコード移動時、つまりデータを見る時には、
商品コードフィールド情報から商品名を抽出する為の逆向きのdlookup変換が必要。

また、requeryも忘れないように。


239 :NAME IS NULL:03/11/22 00:41 ID:1HKnbsoC
例えば第一列を商品コード、第二列を商品名としたら
連結列:1
列数:2
列幅:0cm;5cm
と、第一列の列幅を「0cm」にすればいいんじゃないですか?

うちはいつもそうやってますけど。


240 :NAME IS NULL:03/11/22 10:45 ID:???
>>232
非連結テキストボックスのコントロールソースを
コンボボックス/リストボックスのColumn(1)でいいんでないの?


241 :233:03/11/26 13:04 ID:???
>>240
私もそれを良く使います。
DLookUpより速いような気がするし、Requeryも不要。


242 :NAME IS NULL:03/11/28 00:45 ID:iz6D/t1E
スタンドアロン形式でのDBを作成したのですが、テーブルやフォーム、モジュールの構造を
読み取れなくする為にはどのようにしたらいいでしょうか?
(セキュリティーウィザードでの保護もやったのですがログイン名などをユーザーに設定しないと
できない?ためお客さんの端末の使用状況も把握しないといけません。)
要は、1回1回セキュリティーをかけるのではなく1回セキュリティーをかければどの端末に持って
行っても保護されるようなツールもしくはモジュールを知りたいです。
お願いします!!

243 :NAME IS NULL:03/11/28 00:51 ID:y0Pfxr3x
>>242
Dev版ならそういう機能があったぞな

244 :242:03/11/28 01:04 ID:iz6D/t1E
>>243
社内にDeveloper版があるか見てみます。
ありがとうございました。

245 :NAME IS NULL:03/11/28 01:08 ID:???
>>242
該当mdbファイルを開いてツール→データベースユーティリティ→mdeファイルの作成

Accessのバージョンは同じである必要がある。

mdeファイルはAccessのバージョンが違うと扱えない

246 :233:03/11/28 13:20 ID:???
>>245
mdeだと確かにデザインの変更やコードの表示はできないが、オブジェクトの名前は見られたような。
んまぁ、起動時の設定でデータベースウィンドウを表示しない設定にし、さらにShift起動できないような処置をすればそのmdeで一覧は難しくなるけど、他のmdbからのインポートでオブジェクト名を見られる可能性はあるかも。


247 :NAME IS NULL:03/11/30 02:21 ID:???
mda にすればいい

248 :NAME IS NULL:03/12/02 22:59 ID:0zo3uvpx
AccessとVBを連携させる利点としてどんなものが挙げられますか?

249 :NAME IS NULL:03/12/03 00:29 ID:???
利点なんかあるのか?(w

250 :NAME IS NULL:03/12/03 01:52 ID:???
VBでAccessのレポート使うのは利点?

251 :NAME IS NULL:03/12/03 09:46 ID:???
フォームでよほど凝った処理するのでなければAccessで充分かと。

252 :NAME IS NULL:03/12/03 22:57 ID:m9jBr7Mn
教えてくださいな。Access2000でツールを作成していて、レポート出力機能をつけました。
プレビューを表示してから印字する機能と、直接印刷する機能をつけたのですが、直接印刷を行うと出力が
行われません。プレビュー表示してから印刷を行うのは大丈夫なのですが。。。
プリンタはEPSON PM-G700です。OSはWindowsXP Office2000 Premiumです。

253 :NAME IS NULL:03/12/04 00:49 ID:???
モジュールはどう書いてんの?

254 :NAME IS NULL:03/12/05 15:50 ID:GaCB2crP
超初心者です。
Xp+Access2000で、起動後にテーブルを表示させると大きいので
(小さなテーブなので無駄な部分が多い)
大きさを調整していったん終了後、次に開くとまた大きく表示させます。
Windowsも慣れていません。スレ違いかも知れませんが教えて下さい。

255 : ◆hZNVhf/PY. :03/12/05 17:04 ID:Ml2/VoPy
Microsoft Access2000について教えて君します。

テーブルにIDと電話番号があったとします。この電話番号は
-(ハイフン)を含んで保存されているものとします。

これをクエリにてID、電話番号、-(ハイフン)抜きの電話番号
の三つとして表示させたいのですが、置換に便利なsubstitute()
関数がヘルプにはあるのに実装されていないことに気付きました。
他の方法をとろうと思い、search()関数とreplace()関数を使っ
て書きましたが、これもヘルプにはあって、実装はされておらず。

何か良い方法があれば教えて下さい。

03-1234-5678

0312345678
と変換したいだけ。ただし、地域によって-(ハイフン)の
位置が変わるため、固定的にバイトや文字の数で位置を判別
することは不可。



256 :NAME IS NULL:03/12/05 19:13 ID:???
>>255
substitute, searchともに Excel関数でしょ。
設定すりゃ Accessからも使えるんじゃない?

あと、Left, Mid, InStr, StrReverse関数を使って
プロシージャ書けばできるよ。

257 :NAME IS NULL:03/12/05 19:56 ID:MiF/34vd
http://profiles.yahoo.co.jp/tengaiten2002

258 :NAME IS NULL:03/12/05 20:06 ID:???
replace関数だけで出来ませんか?
replace([項目],"-","")
とか。。。

試してないですが。。。

259 :NAME IS NULL:03/12/05 20:13 ID:???
>>255
あれー?Replace()関数で出来るじゃん!

結果 = Replace(電話番号, "-", "")

でも、compare引数を適切に設定しないと
正しく置換されない場合もあるよ。。。

260 :NAME IS NULL:03/12/06 13:33 ID:TydIS/3L
MDEをMDBに変換するソフトがあったらおしえてください。
裏ソフトでもなんでもいいです

261 :NAME IS NULL:03/12/07 02:35 ID:???
>>255
そんなのあるか、ばーか


262 :NAME IS NULL:03/12/07 03:44 ID:xmA9D5su
日付データの03/12/05 16:28:00を
03/12/05で表示したいのですがどうすればいいのでしょうか?

to_date('03/12/05 16:28:00','YY/MM/DD');
でやっても何もおきないのですが
oracleやsqlサーバなどでは出来るらしいのですが
accessでは不可能なんでしょうか?

263 :NAME IS NULL:03/12/07 05:36 ID:???
format('03/12/05 16:28:00', 'yyyy/mm/dd')

264 :NAME IS NULL:03/12/08 18:49 ID:???
Access(Jet) + IISでショボWebサーバ運営
DB参照だけで書き込みしないなら、それなりなんとかなる?

265 :NAME IS NULL:03/12/08 21:58 ID:4cx0zj+h
得意先から送られたファイルが
ファイルへのアクセスが切れていますと表示されてフォームなどを操作できません
オブジェクトを見るとテーブルなどを直接見ることは出来るのですが
こういうエラーの問題点が何処にあるかご経験のあるお方居ませんか?


266 :NAME IS NULL:03/12/08 22:10 ID:???
>>265
リンクテーブルになってて、リンク先のファイルが無いとか、
環境が変わってリンク先の設定がズレたとかでは?
テーブルそのものが開けない状態なんじゃないの?

267 :265:03/12/09 00:44 ID:???
>>266
ありがとうございます
テーブルの内容は開けるのです
自動的にデバッグが立ち上がりフォームのコードを開けるのですが
変更し、保存しようとするとファイルリンクエラーができて更新も保存できないんです
やはり環境の問題でしょうか

268 :NAME IS NULL:03/12/09 00:50 ID:???
>>264
なるだろうが MSDE 使えば

269 :266:03/12/09 01:30 ID:???
>>267
起動時に開くフォームでいきなり何らかの障害が
発生しているようですね!

あと考えられるのは、バージョンが違っているせいとか、
DBが壊れてて元々ちゃんと動かないのかも知れません。
得意先に聞いた方がよろしいかと・・・

270 :NAME IS NULL:03/12/09 05:24 ID:???
みなさんテーブルのデザインを印刷するときはどうされていますか?
コピペしてからプリントするのは疲れるんですが
やっぱりマクロ組まれたりしてるのかな?

271 :NAME IS NULL:03/12/09 11:18 ID:???
>270
ttp://www.bekkoame.ne.jp/~yoli/
でダウソできるオブジェクト名ユーティリティで一発解決。

272 :NAME IS NULL:03/12/09 17:20 ID:???
>>271
すばらしいです!ありがとうございます

またくだらない質問ですみません
フォームやレポートのopenargには配列で複数の値を渡すことは可能でしょうか?


273 :NAME IS NULL:03/12/09 18:39 ID:???
>>272
少しはhelp読め。あとはセンス。

274 :NAME IS NULL:03/12/09 21:00 ID:???
昔 OpenArgs って Variant 型だから何でも渡せるもんだと思ってたけど
String 型に Null の可能性を定義しただけなのな

275 :265:03/12/10 19:08 ID:???
>>269さん
うちは2000なのですが先方は2003をお使いでした
マクロの一部に非対応があったようです

276 :NAME IS NULL:03/12/11 18:50 ID:Jjp4dGqP
抽出条件を作っていて困っています。
フォームで、コンボボックスから選択された値を抽出条件に
クエリをかけているのですが、
何も選択されていないときに全部表示するようにしたいのです。

・条件AのときはAのみのリストを
・条件BのときはBのみのリストを
・条件が選択されていないときはAとBの両方のリストを

クエリの抽出条件にどのように記述すればいいですか?

277 :NAME IS NULL:03/12/11 22:17 ID:???
>>276
Null値で判断すればOK!
SELECT テーブル.* FROM テーブル WHERE テーブル.フィールド=IIf(IsNull(Forms!フォーム!コンボボックス),テーブル.フィールド,Forms!フォーム!コンボボックス);
または、
SELECT テーブル.* FROM テーブル WHERE IIf(IsNull(Forms!フォーム!コンボボックス),True,Forms!フォーム!コンボボックス=テーブル.フィールド)=True;

ついでだが、コンボボックスのリストの先頭行に、"Null;すべて"みたいなのを付加しておくとベター!
↓(以下参照)
マイクロソフト サポート技術情報 - 128881
[AC97] コンボ ボックスやリスト ボックスに"(その他)"を追加する方法

278 :NAME IS NULL:03/12/12 00:59 ID:???
>>242
亀レスですが、、、
セキュリティウィザードでセキュリティかければ、何の問題もなく出来ますよ!
本件の様な場合だと、ユーザーアカウントは共通で1つ作っておけば充分でしょう。
また、ユーザーのパスワードをあえて設定しなければ、起動用ショートカット中で
コマンドオプション「/USER ユーザーアカウント名」を指定する事により、
ユーザーのログイン画面を自動的にパスさせる事も可能です。
で、〜.mdb, 〜.mdw, 起動用ショートカットをセットにして各ユーザーに配布すれば良い。
なお、モジールにはVBA側でパスワードをかけておくと吉です。

参考までに、ユーザーに与える権限としては、およそ以下の通り・・・
 データベース…「開く/実行」のみ許可(「排他で開く」は必要があれば許可)
 テーブル…全て不可(この場合、クエリの実行権限は所有者でないとダメかも?)
 クエリ…「構造の変更」と「管理者」以外を許可
 フォーム…「開く/実行」のみ許可
 レポート…「開く/実行」のみ許可
 マクロ…「開く/実行」のみ許可

279 :NAME IS NULL:03/12/12 09:48 ID:???
>>276
数値型のコードを持つリストを数値型で格納するとnullに当たらないので0値判断も組み込むとベター

280 :NAME IS NULL:03/12/12 18:00 ID:???

そんな事しなくても何ら問題は無い・・・

281 :276:03/12/12 18:29 ID:???
みなさん回答ありがとうございます。
accessは超初心者のため、>277をどこに書けばいいのかわかりません。

現在はクエリをデザインで開いてそこの条件のところに
[forms]![フォーム]![コンボボックス]
と書いています。ここを書きかえればいいのでしょうか?

Select文などSQLの知識とVBの知識はあるので、構文自体は理解できますが。
アクセス初めてから、こんなんばっかです・・・。


282 :NAME IS NULL:03/12/12 19:42 ID:???
クエリに書くならSQLビューで



283 :NAME IS NULL:03/12/16 21:39 ID:???
いま業務で Access 2000 + VBA でアプリケーションを書いています。
それはそれでうまくいっているのですが、やはり VBA では限界があります。
趣味では Sharp Develop で C# プログラミングをやってます。
できれば Access アプリケーションも C# で書きたいんですが、
Access 2003 でもあいかわらず開発言語は VBA なんでしょうか。

284 :NAME IS NULL:03/12/16 21:46 ID:???
>>283
そんな貴方は Visual Studio Tools for Officeについて調べるのが宜しいかと。

285 :NAME IS NULL:03/12/16 22:23 ID:???
>>283
むしろ Accessにこだわるより VC#.NETに鞍替えしたほうがアナタは幸せになれるんじゃ?

286 :NAME IS NULL:03/12/17 10:14 ID:???
クエリの結果返ってくるレコードセットって、すべてオンメモリで処理されるんでしょうか?
それとも一時的なテーブルをディスク上に確保して処理されるんでしょうか?

UNIONによって一時的に数十万レコードの規模のレコードセットが返ってくるときは
やはりそれを超えるメモリが必要なのでしょうか?

将来的にレコードが増えたときのことを考えると不安で不安で。
マシンに積むことのできるメモリには限界がありますし。

287 :NAME IS NULL:03/12/17 10:16 ID:???
>>284-285 ありがとうございます。
Office 2003 からは Developer Edition がなくなってるんですね。
Visual Studio Tools for Office についても検討してみます。

288 :NAME IS NULL:03/12/17 10:25 ID:???
Access 2000 のヘルプによると、

MDB ファイルサイズの上限 2GB
テーブルサイズの上限 1GB
クエリのレコードセットのサイズの上限 1GB

となっています。たとえばメモリを 512MB しか搭載していないシステムでは、
仮に仮想メモリを使わなければ(ページングしなければ)、
テーブルサイズの上限とクエリのレコードセットのサイズの上限は
1GB よりも少ないということでしょうか?

289 :NAME IS NULL:03/12/17 12:39 ID:???
>>286
ADO 等のレコードセットのことなら
クライアントカーソルならオンメモリ

290 :NAME IS NULL:03/12/17 15:06 ID:???
>>287
アクセスVBAとVB.netだとほとんど出来ることに佐賀ないきがする


291 :NAME IS NULL:03/12/18 00:41 ID:???
そもそも.NETってものが何なのか良く分からないっす

292 :NAME IS NULL:03/12/18 10:41 ID:???
Access の MDI の背景に画像が貼れる様になってうれしいです、最近。

293 :NAME IS NULL:03/12/18 19:26 ID:yv1ESTIw
質問です
Accessに

数値入力 5


――――――――――
1 5    10

こんなふうに数値にあわせて▼を動かすようなのを
組み込みたいんだけど
できますか?

294 :NAME IS NULL:03/12/18 19:27 ID:???
おもいきりずれてスマソ

295 :NAME IS NULL:03/12/18 20:47 ID:???
>>293 そういやそんなコントロールがあったなぁ。
Microsoft Slider Control じゃなかったっけ?

296 :293:03/12/18 22:56 ID:???
>>295
サンクス
探してみます

297 :NAME IS NULL:03/12/18 23:08 ID:???
>>293
VB6だとスクロールバーコントロールで作れるよ
垂直ならリストボックスでも似たように出来る


298 :NAME IS NULL:03/12/19 15:32 ID:???
slider controlて
印刷のとき小さくなんない?
おれもそういうの作りたかったんだけど
うまく印刷できなくて挫折した

299 :NAME IS NULL:03/12/21 21:13 ID:???
質問です。

データベースとしてMDBを扱う場合、MDBの容量が極端に
大きくなっていくのですが、それを防ぐためには手動で
最適化するしかないのでしょうか?

300 :NAME IS NULL:03/12/21 23:10 ID:???
>>299
Access2000以降であれば該当DDBを開いて
ツール→オプション、全般タブにある、閉じるときに最適化する
のチェックを入れる

以降、そのMDBは閉じるとき最適化されるよ

301 :NAME IS NULL:03/12/21 23:26 ID:/2bjNVVH
>>299
それ、例のレコード単位ロックにしてるってやつでしょ?

302 :NAME IS NULL:03/12/22 14:38 ID:r5st6IdP
ASPファイルからAccessのユーザー定義関数を使っているクエリを
呼び出したいのですが、「式に未定義関数”ユーザー定義関数名”があります」
というエラーが返ってきてしまいます。
クエリ自体は正常に動くのでユーザー定義関数にはエラーがないと思うのですが、
ASPではこのような呼び出しは出来ないのでしょうか?

303 :NAME IS NULL:03/12/22 16:49 ID:cU6AwYWA
IIf関数がいまいちうまく使えないんですが・・・
AというテーブルとBというテーブルがあり、
Aの中にはa,bというフィールドがあり、Bの中にはc,dのフィールドがあり、
bとcをリレーションを張ったとします
もしbの値がcの中にない値が入っている場合に「無し」と表示させたいんですが
d:IIf(A.b=B.c,"B.d","無し")
こんな感じでやっているんですが上手くいきません
どのようにやればいいんでしょうか?

304 :NAME IS NULL:03/12/22 19:14 ID:???
>298

>AというテーブルとBというテーブルがあり、
>Aの中にはa,bというフィールドがあり、Bの中にはc,dのフィールドがあり、
>bとcをリレーションを張ったとします

上記がレコードソースでフォーム上でのフィールドの表示だと仮定
AとBのフィールド名が重複しない場合
=IIf([b]=[c],[d],"無し")

別フォームからは
=IIf([forms]![フォーム名]![b]=[forms]![フォーム名]![c],[forms]![フォーム名]![d],"無し")


305 :303:03/12/22 20:08 ID:cU6AwYWA
>>304
すいません、bとcは同じフィールド名でしたので
Aはa,b、Bはb,cということになります
ですので、
IIf([A]![b]=[B]![b],[c],"無し")
としているんですが、どうしてもAのbとBのbが等しくないデータは表示されません
これではダメなのでしょうか?

306 :NAME IS NULL:03/12/23 00:38 ID:???
>>305
joinの仕方がinner joinになってない
left outer joinなど片側外部結合にしないとそもそも結合キーが等しくないデータが存在しないよ

307 :NAME IS NULL:03/12/23 14:41 ID:oGjan/ci
えくせる しか使ったことのない初心者デス
あくせす では行列の表示を入れ替えることってできるんですかあ
どなたか 優しいお兄さん教えてください

308 :NAME IS NULL:03/12/23 15:10 ID:???
行列の入れ替えって、SQLでまともにやろうとするとかなりめんどくさいよね?


309 :NAME IS NULL:03/12/23 21:03 ID:???
行の入れ替えはOrder Byの条件付け次第、
列の入れ替えはフィールド順を変えるだけ、
というのとは意味が違う?(^_^;)

310 :NAME IS NULL:03/12/23 21:25 ID:???
まさか行と列を入れ替えるってこと?
123
456
789

147
258
369

みたいに

311 :NAME IS NULL:03/12/23 22:17 ID:9wvbNO7E
そうなんです
えくせる だと256列の、表示が限界ですよね
それ以上のインポートしたいテキストデータがあるんですけど・・・
そして、縦方向にサンプルを揃えたいんですけど
行列の入れ替えはエクセルでは簡単ですけど
あくせす ではどうしたらいいのかわからなくて・・・

312 :NAME IS NULL:03/12/24 11:47 ID:???
フォーム上で
例えばX + Y = Z
でX Y を入力でZを出したいんですが
印刷時にZの値が最初のレコードの値から変わりません
どうしたらいいでしょうか

313 :NAME IS NULL:03/12/24 12:40 ID:???
>>311
クロス集計じゃないの ? Jet用だが
http://www.google.com/search?hl=ja&q=access+%83N%83%8D%83X%8FW%8Cv&lr=lang_ja

314 :NAME IS NULL:03/12/24 17:01 ID:???
レプリカを作って同期をしています。
同期をするときにレプリカセットが一覧できますが、
もはやなくなってしまったレプリカも一覧に出てきてしまいます。
気持ち悪いので消せないものでしょうか。
MSYSReplicas をいじるのはさすがに怖いので、
なにか安全な方法はありませんでしょうか。

315 :NAME IS NULL:03/12/24 17:01 ID:???
クロス集計ってそういうもんじゃないと思う

316 :NAME IS NULL:03/12/24 17:03 ID:???
>>315
単に作業のしやすさのためだけに表示上入れ替える、
ってのができるといいんですけどね。

317 :NAME IS NULL:03/12/24 17:18 ID:???
データ型つうものを考えろや。

318 :NAME IS NULL:03/12/24 18:07 ID:???
>>312
XとYは入力(TextBoxかな?)させて、
Zはその値で計算させてるんですよね?
XとYの値が変わったら、Zの値をどうやって
計算させてますか?

「最初のレコードの値から変わりません」の
意味もよくわからないのですが...


319 :NAME IS NULL:03/12/24 18:29 ID:???
>>307
こういうのがやりたいのかな?
Excel使いはデータ型いいかげんな人が多いから全テキスト型。
DAOでスマン

Function InverseMatrix(strTableNameIn As String)

 'Dim省略
 Set Db = CurrentDb()
 Set rsIn = Db.OpenRecordset(strTableNameIn)
 strTableNameOut = strTableNameIn & "_行列交換"
 rsIn.MoveLast
 rsIn.MoveFirst
 varRecords = rsIn.GetRows(rsIn.RecordCount)
 
 '出力先テーブル作成(存在チェック省略)
 Set tbl = Db.CreateTableDef(strTableNameOut)
 tbl.Fields.Append tbl.CreateField("ID", dbLong, 5)
 tbl.Fields("ID").Attributes = dbAutoIncrField 'いちおうオートナンバー付与
 For i = 1 To rsIn.RecordCount
  tbl.Fields.Append tbl.CreateField("項目" & CStr(i), dbText, 255) 'テキスト決め打ち
 Next
 Db.TableDefs.Append tbl
 Set tbl = Nothing
 rsIn.Close

 Set rsOut = Db.OpenRecordset(strTableNameOut)
 For intCLoop = 0 To UBound(varRecords, 1)
  rsOut.AddNew
  For intRLoop = 0 To UBound(varRecords, 2)
   rsOut.Fields(intRLoop + 1) = varRecords(intCLoop, intRLoop)
  Next
  rsOut.Update
 Next
 
 rsOut.Close
 Set Db = Nothing
 
End Function

なんか気持ち悪いな・・・

320 :NAME IS NULL:03/12/25 01:02 ID:???
>>312
Zが非連結じゃないの?


321 :312:03/12/25 11:05 ID:???
解決しました
ありがとサンクス

322 :x:03/12/26 11:16 ID:ZlpNcPHE
Oracleのテーブルへの(ODBC経由の)リンクテーブルを作成する関数を作成しています。

元来、手動で作成していたのですが、
・開発中なので元テーブルの構成が頻繁に変わるので手動では面倒。
・リンクテーブル名の先頭にユーザー名が付いてしまう。
という動機からです。

で、パスワードを保存した状態でのリンクテーブルの作成までは順調にできたのですが
インデックスの設定ができずに困っています。

手動の時もOracleのビューはインデックスが自動取得できないようで、作成時に
インデックスを選択するダイアログが表示されます。
主キーにするフィールド名は決まっているのでそれをコードから登録時に同様に
設定したいのですが、うまく行きません。
これについての情報が見つかっておらず、ほぼ当てずっぽうで書いています。
ヒントの在処をご存じの方はいらっしゃいませんか?

323 :x:03/12/26 11:18 ID:ZlpNcPHE
Sub CreateLinkTables()
  Const lc_sPrefix As String = "UUU."
  Const lc_sMark As String = "MMM"
  Const lc_sPKField As String = "KKK"
  Const lc_sConnect As String = "ODBC;DSN=DDD;UID=UUU;PWD=PPP;DBQ=BBB;"

  Dim l_Database_Src As Database
  Dim l_TableDef_Src As TableDef
  Dim l_TableDef_Dst As TableDef
  Dim l_sName As String
  Dim l_colTableDefs As Collection
  Dim l_Field As Field
  Dim l_Index As Index
  
  Set l_colTableDefs = New Collection
  Set l_Database_Src = OpenDatabase("", dbDriverNoPrompt, True, lc_sConnect)
  
  For Each l_TableDef_Dst In CodeDb.TableDefs
    l_sName = l_TableDef_Dst.Name
    If Len(l_TableDef_Dst.SourceTableName) > 0 And InStr(l_sName, lc_sMark) > 0 Then
      Debug.Print "DEL: " & l_sName
      CodeDb.TableDefs.Delete l_sName
      DoEvents
    End If
    Set l_TableDef_Dst = Nothing
  Next
  
  For Each l_TableDef_Src In l_Database_Src.TableDefs
    l_sName = l_TableDef_Src.Name
    If InStr(l_sName, lc_sPrefix) = 1 And InStr(l_sName, lc_sMark) > 0 Then
      Debug.Print "ADD: " & l_sName
      Set l_TableDef_Dst = CodeDb.CreateTableDef(Mid(l_sName, Len(lc_sPrefix) + 1))
      l_TableDef_Dst.Connect = lc_sConnect
      l_TableDef_Dst.Attributes = l_TableDef_Dst.Attributes Or dbAttachSavePWD
      l_TableDef_Dst.SourceTableName = l_sName
      If l_TableDef_Src.Indexes.Count = 0 Then
        For Each l_Field In l_TableDef_Src.Fields
          'l_TableDef_Dst.Fields.Append l_TableDef_Dst.CreateField(l_Field.Name)
          If l_Field.Name = lc_sPKField Then
            Set l_Index = l_TableDef_Dst.CreateIndex(l_TableDef_Dst.Name & "_PK")
            l_Index.Fields.Append l_TableDef_Dst.CreateField(l_Field.Name)
            l_TableDef_Dst.Indexes.Append l_Index
            Set l_Index = Nothing
            Exit For
          End If
          Set l_Field = Nothing
        Next
      End If
      CodeDb.TableDefs.Append l_TableDef_Dst
      Set l_TableDef_Dst = Nothing
    End If
    DoEvents
    Set l_TableDef_Src = Nothing
  Next
  
  l_Database_Src.Close
  Set l_Database_Src = Nothing
  
  MsgBox "Done.", vbInformation
End Sub

324 :x:03/12/26 11:24 ID:ZlpNcPHE
あ、環境は、Access2003、Access2000形式MDB、DAO3.6です。

325 :NAME IS NULL:03/12/27 15:02 ID:???
いま Access 2000 を使っています。
このたび Office 2003 を買おうと思っているのですが、
Access 2000 と Access 2003 の間で同じ mdb ファイルをいじれますか?
一度 Access 2003 で開いちゃうと Access 2000 ではもう開けない
なんていうことになりませんでしょうか?

326 :x:03/12/27 20:30 ID:???
>>325
Access2003では、Access2000形式とAccess2002-2003形式を変換なしにいじれます。

327 :NAME IS NULL:03/12/27 20:40 ID:???
Access2000では、Access97形式を…… _| ̄|○ ヒドイメニアッタ

328 :NAME IS NULL:03/12/27 23:54 ID:???
>>327
それはいうな。 

329 :NAME IS NULL:03/12/28 08:52 ID:???
>>326 変換無しにいじれますか、安心しました。
>>327 そう、いつの間にかファイル形式が変わってたりしましたよね?

330 : :03/12/28 17:39 ID:8gJ0gDw/
テーブルの入力の際、「ルックアップ」をつかうとべんりですよね?
でもこのルックアップの際のリストに表示させる値って、
そのテーブル自身からは取り出せないんですよね?

つまり、そのフィールドによく入力される値をリストアップして候補にする、
なんてことができれば便利だなぁ、と思うんですが、無理でしょうか?

-----------
キャベツ
キャベツ
トマト
キャベツ
-----------

なんてすでに入力されている場合、新規レコードの入力の際の
ルックアップの候補に「キャベツ、トマト」の順で表示させたいんですけど

331 :こわれた。:03/12/29 11:22 ID:kSQnXoQy
なんかデータベースが壊れてしまった…
いくつかのモジュールが尻切れになってしまったり。
新しいMDBファイル作って、壊れたMDBファイルからインポートして復旧したけど、
全体としてのデータベースのサイズが30%くらい少なくなってしまった。

壊れたデータベース 10MB
復旧後のデータベース 6.5MB

まぁ特に欠落したレコードも無いようなので大丈夫そうなんだけど、なんで?
壊れたほうのデータベースだって、一日一回くらいは最適化してたんだけどなぁ。

332 :クエリのフィールドの説明:03/12/29 18:31 ID:kSQnXoQy
テーブルのデザインでは、各フィールドごとに
テーブルの説明をつけることができますよね?

クエリでもクエリのデザインで「右クリック→プロパティ」で、
フィールドごとの説明を書き込めるみたいなんですが、
これってどこで表示されるんでしょう??

333 :レポートのコントロールのイベント:03/12/30 20:01 ID:XXN3A+N7
レポートでは各コントロールにイベントは発生しないんですか?
テキストボックスの背景色を、その内容に応じて変えたいんですが。

334 :レポートのコントロールのイベント:03/12/30 20:02 ID:XXN3A+N7
条件が多いので、条件付き書式ではやりたくないんです。

335 :レコード移動後のイベント:03/12/31 00:37 ID:OAWCXjqq
Current イベントはレコードの移動が行われる場合に
その直前に発生するイベントです。
したがって Current イベントでは
「今まさに立ち去らんとしているレコード」が見えています。

これに対してレコード移動の直後に発生するイベントは無いのでしょうか?

336 :クエリ結果におけるレコードの追加:04/01/02 12:49 ID:Mcr5Okxu
選択クエリを作成すると新規レコード入力用の行がある場合と無い場合があります。
これってどういう条件で決まっているんでしょうか?

たとえば二つのテーブルの直積をとる単純なクエリを考えます。
片方のテーブルのレコード数が6、
もう片方のテーブルのレコード数が3、だとすると
クエリ結果は18行のレコードとなります。
このクエリ結果には新規レコード入力用の行がありません。

337 :NAME IS NULL:04/01/02 12:56 ID:???
そのクエリが更新可能かどうかで決まる。

338 :クエリ結果におけるレコードの追加:04/01/02 12:57 ID:Mcr5Okxu
あ〜わかった。
クエリ結果のレコードについて、
あるレコードに対する変更が他のレコードに影響を与えないような
クエリの場合には新規レコードの追加のための行が出現するんだね。

つまり、新しいレコードが追加されたときに
関連するテーブル全体にわたって
再度クエリをかけないとダメな場合は
新規レコードの追加のための行は出現しない、ということか。

339 :クエリ結果におけるレコードの追加:04/01/02 13:00 ID:Mcr5Okxu
>>337 おお、正月から見ている人がいるとは、びっくり。

クエリからのデータ更新について:AccessTips030
http://www.accessclub.jp/beginer/tips/tips_30.htm

「クエリ 更新可能」 でぐぐってみたら詳しくわかりました。
ありがとうございました。

340 :txtファイル”削除”:04/01/03 15:36 ID:wREPHqSk
accessにてエクスポートしたtxtをメール送信後
削除したいんですがどのように書けば削除できますか?
よろしくお願いします

341 :NAME IS NULL:04/01/03 16:03 ID:???
>>340
kill hoge.txt

342 :txtファイル”削除”:04/01/03 16:22 ID:wREPHqSk
>>341
できました。ありがとうございます

343 :新米君:04/01/03 21:00 ID:WWGwcJHW
新米プログラマです。
VBにてアクセス97のMDBに対して固定長で256文字の固定長を取り込んでいます。
\ . - () エン コンマ ハイフン 括弧 含んでいます
実行時エラー 3075でとまってしまい困っています。それも納期月曜ですやばいです。助けてください 
→ qdfTemp.SQL = SQLstr 'クエリーを定義


FsizeCount = Val(FileLen(inFile))
Open inFile For Binary Access Read As #intFileNo Len = Len(JYUDAT)
Do Until FsizeCount = 0
Get #intFileNo, lngRecordCnt, JYUDAT(256の大きさのTYPEを定義している)
If FsizeCount = 0 Then
Exit Do
End If
Close #intFileNo

DAT1=JYUDAT.DAT1
  ・
  ・
  ・

Call IsNull_ALL 'NULLを空白""に置き換える

SQL = ""
SQL = SQL + "INSERT INTO 工場DATA (" & _
"●●番号,何●口,お●●●,●●●,運賃," & _
"●●番号,●●月日,●●,●●区分,●●区分," & _
"品番,●●●●,品名,材質,●●," & _
"数量,単位,単価,コードNO,図面番号," & _
"●●,●●●,備考,●●日,●●予定日," & _
"●●日,●●数量,分納累計,●●●済,マーク) VALUES ('" & _
DAT1 & "','" & DAT2 & "','" & DAT3 & "','" & DAT4 & "','" & DAT5 & "','" & _
DAT6 & "','" & DAT7 & "','" & DAT8 & "','" & DAT9 & "','" & DAT10 & "','" & _
DAT11 & "','" & DAT12 & "','" & DAT13 & "','" & DAT14 & "','" & DAT15 & "','" & _
DAT16 & "','" & DAT17 & "','" & DAT18 & "','" & DAT19 & "','" & DAT20 & "','" & _
DAT21 & "','" & DAT22 & "','" & DAT23 & "','" & DAT24 & "','" & DAT25 & "','" & _
DAT26 & "','" & DAT27 & "','" & DAT28 & "','" & DAT29 & "','" & DAT30 & "')"
Call SqlExecute(SQL, "testdata.MDB")


Function SqlExecute(SQLstr As String, MDBfile As String)
Dim DB As Database 'データベースオブジェクトを定義
Dim qdfTemp As QueryDef 'クエリーのオブジェクトを定義
Set DB = OpenDatabase(MDBfile) 'データベース名称を指定しMDBをオープン
Set qdfTemp = DB.CreateQueryDef("") ' ""は名前の表示されないテンポラリ的なクエリー
Debug.Print SQLstr 'DEBUGPRINT
qdfTemp.SQL = SQLstr 'クエリーを定義
qdfTemp.Execute 'クエリーを実行
DB.Close 'MdbをCLOSE
End Function


344 :NAME IS NULL:04/01/03 22:18 ID:???
>>343
最初からエラーが出るのでしょうか?それとも途中で出るのでしょうか?
最初から出るのであればSQLがおかしいと思いますし、途中で出るのであれば、元データまたは取得後のデータが書き込みフィールド型に対して適合していないのかもしれません。
あと気になるのは、Access(MDB)の場合テキスト型フィールドに空白文字列("")は格納できないと思いましたが…

345 :新米君:04/01/03 22:32 ID:WWGwcJHW
ぜひともご教授願います。m(__)m

ここで3075が出ます→  qdfTemp.SQL = SQLstr 'クエリーを定義

この掲示板見て 変数は全部 MID(変数 & Space(8),8)こうやってスペース入れました
AAAAAAAAAAAAAAAAAAAAで256文字の取得には成功しています。ということはクエリの間違いではないとおもいます。

MDBで使えない文字列おしえてください '←これはダメだときいたことがあるのでないです。
それ以外に使えない文字列教えてください。

文字コートUNICODEに変換して格納すると'01733109' などが '0 1 7 3 ' になってしまいます。

chr(0) は格納できるのでしょうか?
詳しいことのってるHPしってたら教えてください


先頭の伝票番号ぶぶんだけ インデックスはい ですが重複するデータ書き込みに行くことはないのです。
データ型はテキストです。値要求はいいえ 空文字列の許可はい インデックスいいえ
フィールドサイズは各切り取りするサイズにしています。これに例えば 5文字のフィールドに6文字ほりこむとアウトでしょうか?

346 :新米君:04/01/03 22:39 ID:WWGwcJHW
神の降臨お待ちしてます。m(__)m
今自分でもWEBと本にらめっこちゅう 納期月曜なんで助けてマジで

347 :NAME IS NULL:04/01/03 23:25 ID:00I4mXLU
Accessのフォームに貼ったテキストボックスに
文字列を入力することで、さまざまな検索機能を実装しているのですが、
インクリメンタルサーチはどうやっても実装できないんでしょうか?
インクリメンタルサーチ実現のために使えるイベントってありますか?

348 :NAME IS NULL:04/01/03 23:33 ID:???
Changeとかではダメってこと?

349 :NAME IS NULL:04/01/04 08:19 ID:bl3pzlao
>>348 テキストボックスのキーイベントはたしかに発生しているんですが、
別のコントロールにフォーカスが移動するまで
Value プロパティが更新されないんです。

350 :NAME IS NULL:04/01/04 11:45 ID:???
>>349
だったら、value = trueと明示的に指定してあげればいいじゃない

351 : :04/01/04 20:18 ID:XHsDwE5w
Kさん 好循環  Aさん 悪循環  
 (健康体)  (喘息)

1.(天国・霊界が喘息であるかないかを決める)
2.K 喘息でない人 A 喘息の人は
は体力がある    体力がなくなる

3.K        A 行動力、五感(嗅覚)が鈍り感性が変化する。
4.K&A 天国・霊界は異常な感性の人間は本来人に迷惑をかけ
るから外に出てはいけないと思っている。

5.K 変化なし   A アトピーになる
6.K 正常な感性  A 外に出なくなりさらに異常な感性になる。
7.K 正常な人間   A 異常な人間(レッテル)
8.K&A 死  9.K&A      来世
10.K&A 天国・霊界は異常な人間は人に迷惑をかけるので行動
を抑制する必要があると思っている。

11.K&A 天国・霊界が喘息であるかないかを決める 12.K 喘息でない  A 喘息である
13.K&A    1.に戻る

これは事実。広めようぜ
解決法:寝て起きて、やな気分でも、続けるけること。
体力をつけると感覚が正常に戻り、
アトピーも快癒に向かう。 目安としてグランドを10週くらい。
あとはウォーキング 2.3時間を目安にウインドーショッピングや本屋めぐり
鼻に変な違和感があったり、気分の悪い時は、
お腹の中の空気を出さなくてはならない。
口をしっかり閉じたまま、口の中に空間を作り、
口の中にできた空気を吐き出す。
これを100回から200回。

352 :x:04/01/05 11:39 ID:pD2nKvIY
>>322-324
ODBCリンクテーブルへのインデックス設定、やっぱり誰もご存じないですか?
無理なのかなぁ...

353 :NAME IS NULL:04/01/05 13:34 ID:???
もしかして、インデックスじゃなくてoracleのビューを取り込むときの主キーのことなの?

354 :x:04/01/05 13:41 ID:Ewh+aBVn
>>353
そうです!!それです!!
(インデックスっていうと意味が違ってしまいますか)

何かヒントはありませんでしょうか?

355 :x:04/01/05 13:44 ID:Ewh+aBVn
>>353
要は「固有レコード識別子の選択」ダイアログでの選択をVBAから
行いたいのです。

356 :NAME IS NULL:04/01/05 14:33 ID:???
>354-355
や、広い意味では一緒だと思うけど、文章から索引だと思ってましたから、
あれ?ビューにインデックスつけてるの?とか思っただけ。

>「固有レコード識別子の選択」ダイアログでの選択
あー、あれね。

結論から言うと「僕は諦めた」。
ごめんなさい。お役に立てなくて。。。。・゚・(ノД`)・゚・。

昔(oracle触ってた頃)は色々考えてたけど、
別の役に立つもん作った方がよさげだったので
それ以上踏み込まなかった。
今はoracleあんま触ってないので環境もありゃしない。

357 :x:04/01/05 14:53 ID:???
>>356
どもです。

> 結論から言うと「僕は諦めた」。
やっぱりですかー。
難しいのかな。
MSへの質問権が余ってるから使ってしまおうか。

358 :NAME IS NULL:04/01/05 15:39 ID:???
俺も昔別サイトで質問立てて、無理っつー結論になったキヲク。
DAOにもそのへんのプロパティが無かったキヲク。

359 :NAME IS NULL:04/01/06 18:54 ID:wdtp64b6
Access2000をCGIと連携させて使っているのですが、
よく言われているように同時にAccessのmdbファイルに問い合わせがかかると
mdbファイルは壊れてしまうのでしょうか?

360 :NAME IS NULL:04/01/06 22:17 ID:???
見事に壊れます
10クライアントぐらい同時にやると

361 :NAME IS NULL:04/01/06 22:49 ID:???
>>360
排他処理、遅延処理がうまくいかないってことか?

っていうかそこまでして使いたいのなら、要するに「mysqlでも使え」
ってことなんだけどさ

362 :NAME IS NULL:04/01/07 01:50 ID:RDoobj/Z
質問させてください。
ローカルに顧客情報mdbファイルがあるとします。
その顧客情報を一覧表示したり、検索したり、ソートしたり、いわゆる顧客管理ソフトを、
windowsアプリケーションのごとく作成することはできるのでしょうか?
できればアクセスの入っていないマシンでも、動作するソフトがいいのですが。
できるとすれば言語とか、何がつかえるのでしょうか?
どうかご教授ください

363 :NAME IS NULL:04/01/07 02:34 ID:???
>>362
一番簡単なのはVB+ADO(orDAO)で開発。


364 :x:04/01/07 10:25 ID:???
質問です。

SELECT A.*, B.* FROM (SELECT * FROM X) AS A, (SELECT * FROM Y) AS B

みたいなサブクエリって、Access97では使えないと思っていたのですが、
あるとき、この手のSQLをAccess2003で書いていたら、いつの間にか

SELECT A.*, B.* FROM [SELECT * FROM X]. AS A, [SELECT * FROM Y]. AS B

っていう風に変換されてまして、この書き方だとAccess97でも使えました。

僕はずっと知らずにいたのですが、これは"Documented"な仕様なのでしょうか?

365 :NAME IS NULL:04/01/07 12:28 ID:???
それはM$を直接調べたほうが早いだろ。ノウハウならともかく、
公式仕様かどうかは検索するしかないよ

366 :NAME IS NULL:04/01/07 19:02 ID:wx4EMKG3
359です。
ツール>オプション>詳細
のところで排他制御関連の設定項目があるのですが、
これらを設定してもmdbファイルは壊れますか?

367 :NAME IS NULL:04/01/07 21:30 ID:???
Access 2000 を使っています。
VBA でのファイル入出力に際しての文字コードを指定することはできるのでしょうか?
現在ファイルを Open してそのファイルに String 型の変数を Print すると
Shift JIS で出力されています。

Access 2000 VBA では内部的には Unicode で処理されているのでしょうか?
だとすると Line Input ステートメントでのファイルからの読み込み時には
Shift JIS -> Unicode の変換が自動的に行われているということでしょうか?

さらに疑問なのは、ファイルの先頭が FF FE で始まる Little Endian な
Unicode ファイルであっても、Unicode としては読み込んでくれていないようです。
FE FF で始まる Big Endian な Unicode ファイルや EF で始まる UTF8 ファイルも
ただしく認識していないようです。つまりすべて Shift JIS ファイルであるかのように
扱われているようなのです。

VBA のファイル I/O で、Shift JIS, Unicode BE, Unicode LE, UTF8 を
正しく扱うにはどうすればよいのでしょうか?

368 :NAME IS NULL:04/01/07 22:14 ID:???
>>366
実際やられてみてはどうでしょう?
排他ロックとかで、エラーでちゃうかも知れないけど。

>>367
分かる範囲ですが。。。

>VBA でのファイル入出力に際しての文字コードを指定することはできるのでしょうか?
No
>Access 2000 VBA では内部的には Unicode で処理されているのでしょうか?
Yes
変数に格納した値をLenBとってみれば分かるかと。(半角でも2バイトとなるはず)

>Shift JIS -> Unicode の変換が自動的に行われているということでしょうか?
Yes

>つまりすべて Shift JIS ファイルであるかのように扱われているようなのです。
強制的に(たとえUnicodeでも)S-JIS > Unicode変換を行っている為かと。

>VBA のファイル I/O で、Shift JIS, Unicode BE, Unicode LE, UTF8 を
>正しく扱うにはどうすればよいのでしょうか?
1.(S-JISだけになるように)仕様を見つめなおす。
2.外部で変換してくれるようなコンポーネントを探す。
3.自分で変換機能作っちゃう。

#自分はよくEUCのデータと変換をするが、VBAでやらず(やれないので)に
#外部PGを利用してS-JIS変換してから読んだり書いたりしてます。
#面倒くさいのですが。

369 :NAME IS NULL:04/01/08 00:07 ID:???
>>362
今、まさに俺はVB + ADO with Data Environmentで作成中。
フレームワークができたら、お手軽キットとして公開しようとも
おもっている。

もちろん、接続関係やMDB最適化などはbasモジュールとして
分離しておき、コード内では呼び出すだけにしてあるよ。これら
をすべてPublicで宣言しておいて、あとは変数のこどく使える。
メンテナンスもしやすい。




370 :48*8:04/01/08 04:36 ID:3FQ9TQU5
Kさん 好循環  Aさん 悪循環   <日本> 完成版
 (健康体)  (喘息)

1.(天国・霊界が喘息であるかないかを決める)
2.K 喘息でない人 A 喘息の人は
は体力がある    体力がなくなる

3.K 変化なし    A 行動力、五感(嗅覚)が鈍り感性が変化する。

4.K&A 天国・霊界は異常な感性の人間は本来人に迷惑をかけ
るから外に出てはいけないと思っている。
5.K 変化なし   A アトピーになる
6.K 正常な感性  A 外に出なくなりさらに異常な感性になる。
7.K 正常な人間   A 異常な人間(レッテル)
8.K&A 死  9.K&A      来世
10.K&A 天国・霊界は異常な人間は人に迷惑をかけるので行動
を抑制する必要があると思っている。
11.K&A 天国・霊界が喘息であるかないかを決める 12.K 喘息でない  A 喘息である
13.K&A    1.に戻る
これは事実。広めようぜ
解決法:寝て起きて、やな気分でも、続けるけること。
体力をつけると感覚が正常に戻り、
アトピーも快癒に向かう。 目安としてグランドを10週くらい。
あとはウォーキング 2.3時間を目安にウインドーショッピングや本屋めぐり
絶対に直す方法:
よく海外に行ってアトピーが治る話を聞くが、基本的に日本の中のことだけなので、
海外に行くとほとんどの場合体力をつけると治る。 日本の中であっても、体力をつ
けると治るはずだが、 様々な理由により、霊界の存在がばれてしまい、 この失態が明
るみになるので、治さないようにしている。よって、絶対にアトピーを治すには、 海外
に行き体力をつける。
http://life.2ch.net/test/read.cgi/atopi/1035703616/l50を参照

371 :NAME IS NULL:04/01/09 22:49 ID:???
リンクテーブルで PostgreSQL に接続しています。
テーブルをクリックするともちろんテーブルの内容を見ることができるのですが、
クリックしてから表示されるまでに10秒ほどまたされます。
テーブルのサイズは整数のフィールドが6、それが30レコードほどあるだけです。

パケットモニタで見てみると、サーバの5432/tcp から即座にデータが
返ってきています。にもかかわらず表示されるまでに10秒ほどかかるのです。
これは何か設定が悪いからなのでしょうか?
それともリンクテーブルというものはそういうものなのでしょうか?

372 :371:04/01/10 09:43 ID:uDSX3oUw
いろいろと調査してみた結果、ODBCマネージャに問題がある
ことがわかりました。OS は Windows XP Professional で、
Access 2000 なんですが、これが問題なのかも。
と思って、ODBCマネージャを正常な状態に戻すためだけに
MSDE 2000 Revision A をダウンロードしてインストールしました。
直りました。

373 :371:04/01/10 10:14 ID:uDSX3oUw
>>372 http://www.microsoft.com/sql/msde/downloads/download.asp
これね。

374 :NAME IS NULL:04/01/10 19:28 ID:uDSX3oUw
テーブルのプロパティの「説明」の文字列って、
VBAから参照できますでしょうか?

MSysObjectsテーブルなどにメモ型として
格納されているのかとも思ったんですが、
そう簡単にはいかないようです。

TableDefs オブジェクトのプロパティコレクションに
はいっているのかともおもって探してみたんですが、
違うようです…

375 :NAME IS NULL:04/01/10 19:54 ID:uDSX3oUw
げ、やっぱり Description プロパティだったよ…
簡単にVBAからいじれるんだ…

376 :NAME IS NULL:04/01/11 21:53 ID:xySGFlC6
Access のツールバーにはユーザ設定で
いろいろなボタンを登録することができますが、
そのボタンイメージを既存の ICO ファイルなどから
簡単に取り込むことはできませんでしょうか??

377 :NAME IS NULL:04/01/11 22:00 ID:xySGFlC6
できました。ども。

378 :NAME IS NULL:04/01/12 08:10 ID:Qdx2iOKd
ああ〜
戯れに、フォームに画像を貼り付けてみたら、
MDBファイルのサイズが一気に増えました。
10MB→48MB

やっぱりいらないや、と思って画像は削除したんですが、
MDBファイルのサイズは大きくなったままです。
悲しいので最適化をやってみたんですが、ほとんど変化なし。
48MB→46MB

泣く。

379 :NAME IS NULL:04/01/12 12:42 ID:???
>>378
内部にバイナリデータとしてどこかに格納されている。

380 :NAME IS NULL:04/01/12 19:15 ID:7MUg9jRd
>>379 その領域って、永久に再利用されることはないの?
もしそうなら…データベース製品としてはありえないことのような…

381 :NAME IS NULL:04/01/12 21:05 ID:???
>>380
普通は取り込むんじゃなくて、一つテーブルを作って外部への
リンクで呼び出す。

で、フォームの飾りとしての画像類は消す方法が確かあった。

382 :x:04/01/13 10:59 ID:???
>>322-324
>>352-358
この件に関してMSの無償インシデントを使って問い合わせた結果を
遅ればせながらご報告します。

-----
CREATE UNIQUE INDEX <インデックス名> ON <テーブル名>(<フィールド名>)
なるSQLを発行してください。
-----

という、拍子抜けするほどシンプルな解決法でした。
おかげさまでツールが完成しました。

ついでに、

>>364-365

こっちの方も聞いてみたんですが、

-----
ドキュメントには見つかりませんでしたが、正しい使い方です。
-----

とのことでした。

383 :NAME IS NULL:04/01/13 15:41 ID:???
>>381
> で、フォームの飾りとしての画像類は消す方法が確かあった。

う、消えないよ…
内部的にはなにか特殊なテーブルのBLOBとして格納されているんだろうか。
それにしてもフォームごと削除してもMDBファイルのサイズが変わらないとは。
最適化も効果なし。

384 :x:04/01/13 15:54 ID:???
>>383
新しいMDBを作って、テーブルとかフォームとかをドラッグ&ドロップで
引っ越しさせるとどうなります?

385 :NAME IS NULL:04/01/13 19:00 ID:???
隠しオブジェクト、システムオブジェクトを表示して、
片っ端から開いてみて
それらしいデータ探して見れ

386 :NAME IS NULL:04/01/13 19:36 ID:???
新規MDBを作成して、すべてインポートしる。
それで解決


387 :331:04/01/13 20:19 ID:???
>>386 そう、その方法だと解決できるんですが…
MDBファイルってそういうものなんでしょうか…

388 :NAME IS NULL:04/01/14 11:20 ID:???
そういうものです。
だいたいテーブルのレコードを削除しても、その領域が残ったままになります。
つまり使いつづけるかぎり、MDBは増大していきます。
そこで最適化が必要となります

でもExchangeServerもいまだにJETベースなんだよね
大丈夫なのかな?

389 :初心者:04/01/14 16:29 ID:???
アクセスでエクセルの
vlookup関数のようなものはできますか?
番号を入力したら別項目にそれに該当した
データが入力されるというのを作りたいんですが

390 :NAME IS NULL:04/01/14 20:09 ID:FONo+8kF
条件に一致する日付のデータを抽出するフォームを作っています。
日付はテキストフィールドを2つ使って期間で入力させています。
(XXXX/XX/XX)〜(XXXX/XX/XX)

どちらか一方に日付として存在しない日(2004/02/31)などを
入力してクエリをかけるとエラーが出て困っています。
(式が正しく入力されていないか、複雑すぎるため評価できません。
 たとえば数式に複雑な要素が多すぎます・・・・。)

これを回避する方法はありませんか?

391 :NAME IS NULL:04/01/14 21:04 ID:D81+JUg1
>>389
dlookup
>>390
入力規則をして存在しない日等は入力させない

392 :390:04/01/15 02:31 ID:???
>>391
いや、もちろん規則していますが、オペミスというか
2003/11/31とか間違って入れてしまうとダイアログの嵐になってしまうんですよね・・・。

なんかいい方法ないかなー。

393 :NAME IS NULL:04/01/15 04:23 ID:???
SQLにする前にIsDatetとかでチェックしてないの?

394 :NAME IS NULL:04/01/15 04:24 ID:???
IsDateね。タイプミスしてしまった。

395 :NAME IS NULL:04/01/15 11:37 ID:???
>390
テキストボックスの書式をyyyy/mm/ddにすればいい

396 :NAME IS NULL:04/01/15 16:04 ID:???
>>390
誤入力を抑制する方向で考えるなら(連続して多くの件数を入力するとかでなければ)、
カレンダーコントロール等を使って直接日付指定させるというのもおすすめ。
職場用に作ったやつの日付入力は、常にテキストボックス(直接入力)と
カレンダー入力用フォーム(ボタン入力)呼び出しボタンをセットにしてある。
勿論処理前にチェックも入れてるけど。

397 :NAME IS NULL:04/01/15 16:33 ID:XPmdWg8G
ACCESS2000でmdbに最適化をかけるとクエリが極端に遅くなるという不思議な
現象を経験された方はいらっしゃいませんか?
単にmdbが壊れてるだけなのかな・・・

398 :390:04/01/15 17:54 ID:???
レスありがとうございます。

>>393
こういうのを知りたかったんです!
これ調べて組み込みます。


399 :NAME IS NULL:04/01/15 20:57 ID:???
>>397 念のため、空の MDB ファイル作って
テーブルとかクエリとか全部インポートしておいたほうが安全かと。

400 :NAME IS NULL:04/01/16 01:01 ID:???
>>397
よくぞ、違いに気付きましたね!
でも、クエリオプティマイザの仕様でそうなるのであって、別に壊れてる訳ではないよ
詳しくは、サポート技術情報[209126]を参照すべし

401 :NAME IS NULL:04/01/16 01:21 ID:noUnd11x
データベース部分とプログラム部分をべつの.mdbわけるってのを見かけるけど
そういう場合って、ADOだとかDAOを使って別のmdbのテーブルを操作するの?

402 :NAME IS NULL:04/01/16 02:24 ID:???
>>401
リンクテーブルじゃねーの?
(っていうか1.0のときにそうした気がする・・・)

403 :NAME IS NULL:04/01/16 12:34 ID:???
>>401
私はテーブルリンクで行っています。
ただ、データMDBのパスが変わったりするとリンクしなくなるので、システム運用段階では工夫が必要です。

リンクテーブルマネージャで手動で1回再リンクすれば済む、というのであれば問題ないのですが、
インストール先が想定できない場合やメニューカスタマイズされたMDEでリンクテーブルマネージャが使えない場合、ADOXとか使ってデータMDBと自動的に再リンクするようなしくみをプログラムMDB側に作っておかしないと実用が難しくなりますです。

404 :NAME IS NULL:04/01/16 14:42 ID:WFt2Q+dL
Option Compare Database に面食らった。
いままで Option Compare {Binary | Text} だったし。

405 :NAME IS NULL:04/01/16 14:43 ID:???
・Database モード
Access のみで使用できるモードです。データベースの文字列を比較するときに適用され
る、国別のID にしたがって並べます。日本の場合は、Binary モードと同じ結果になりま
す。
・Binary モード
大文字/小文字、全角/半角、ひらがな/カタカナを区別したUnicode 順に並べます。
・Text モード
OS の国別情報の設定によって並べ替え方法が決まります。日本の場合は、大文字/小文字、
全角/半角、ひらがな/カタカナを区別しない50 音順に並べます。

406 :NAME IS NULL:04/01/16 14:44 ID:???
http://store.nikkeibp.co.jp/msp/TXT/download/pdf/pdf/acvban.pdf
からの引用でした。

407 :NAME IS NULL:04/01/16 16:05 ID:???
>>401
うちも基本的にはリンクテーブル。
レジストリにPC毎に対応するデータmdbの場所等を保存して、
起動する毎に参照、リンクを更新してる。
で、更新時は単一のプログラムDBをLAN上の全てのPCに一斉に上書きする。

408 :397:04/01/16 17:28 ID:???
>>400
私の説明が舌足らずでした。すみません。
>>397の「最適化」とは
ツール(T):データベースユーティリティー(D):最適化/修復(C)
のことです。

409 :NAME IS NULL:04/01/16 19:07 ID:???
ACCESSなうえにレジストリまで弄るとはヽ('ー`)ノカンベン

410 :NAME IS NULL:04/01/16 19:19 ID:???
うちは、データとプログラムのmdbは一緒のフォルダとしていて
起動する毎にCurrentDBからパス生成してリンクを更新してる。

っていうか、データとプログラムを一緒にしてるのって
メンテナンスしにくくないですか?

411 :NAME IS NULL:04/01/16 19:20 ID:???
だからACCESSなんだって。

412 :NAME IS NULL:04/01/16 19:47 ID:???
>>411
俺はプログラム部分はVBで作っているが?

413 :400:04/01/16 22:43 ID:???
>>408
だから、DBを最適化するとクエリの最適化情報が失われるって事なんですよぉ〜
真意がご理解頂けなかったみたいなので、一応補足しておきます・・・

414 :NAME IS NULL:04/01/16 22:44 ID:BR1c0B+n
56歳
15年前まで大学に住みついてゲバ棒と赤旗もって内ゲバに明け暮れ
最近は国立と高槻でプロ市民運動に転向して
「将軍様!!将軍様!!将軍様!!将軍様!!」って環境保護キャンペーンとやらで
路上で全裸でわめきながら頑張ってきたけど
いまから8分40秒くらい前に「地球市民の妖精」とやらに出会って 
ナウシカに腐海に突き落とされたい気分になった。一度見てみなよ。
伺かでテポドンを東京に撃ちこんだり
日々の工作記録をかきこめたりしてマジでおすすめ
http://kazukimina.hp.infoseek.co.jp/index.html
http://kazukimina.hp.infoseek.co.jp/ukagaka.html
http://kazukimina.hp.infoseek.co.jp/hyoushi.jpg
http://kazukimina.hp.infoseek.co.jp/1.jpg
http://kazukimina.hp.infoseek.co.jp/2.jpg
http://kazukimina.hp.infoseek.co.jp/3.jpg
http://kazukimina.hp.infoseek.co.jp/4.jpg
http://kazukimina.hp.infoseek.co.jp/5.jpg
以下9まで

415 :NAME IS NULL:04/01/17 01:10 ID:???
最適化より VSS で再作成が最強
しかしフォーム等の説明が消える諸刃の刃

416 :NAME IS NULL:04/01/17 10:04 ID:???
>409にとってレジストリは神聖な領域らしいな

417 :NAME IS NULL:04/01/17 20:17 ID:A0zcU6Tf
すみません、非常に低いレベルの相談だと思うのですが、どうしても
FAQが見つかりません。
MS ACCSESS 2000 での話しです。ACCESS上でデータの入力をするとき、
既存のレコードがいくつかあり、その中の空白の文字列のフィールドの
レコードに、10と入力し、次のレコードに11と入力、ここで下矢印を押して
次のレコードに移動すると、勝手に、「12」が入力されてしまうのです。
もー、勘弁して欲しいのですが、どこでこの機能を停止できますでしょうか?

418 :NAME IS NULL:04/01/17 21:07 ID:QaIiV9GN
>>417 オートナンバーになっている、とかじゃないですか??

419 :NAME IS NULL:04/01/17 21:23 ID:A0zcU6Tf
>>418
早速のお返事ありがとうございます。
いえ、なっていません。テキスト型でも、この現象が出てしまうのです。
勝手に入力されるミスが恐くて恐くて・・・

420 :NAME IS NULL:04/01/17 21:52 ID:???
>>419
なにか式がうめこまれている・

かもしくは、どこかにオートナンバーの数値が入るような別の
ボックスがあると見た。

421 :417:04/01/17 22:06 ID:A0zcU6Tf
>>420
お返事ありがとうございます。
単にMDBをACCESSで開き、テーブル(7000件ぐらい入っている)名をダブルクリックして開きます。
そして、縦に空白が連続しているテキスト型フィールドの一つに、10と半角で入力し、
FEPがONになっているので、一度Enterを押し下線を消して決定します。そして下矢印を押し
下のフィールドに移動、ここで、11と同じように入力します。次に下矢印を押すと
このフィールドに、自動で、12が入力されてしまうのです。
式とかそう言った高度な話ではないような気がするのです。

422 :NAME IS NULL:04/01/17 22:21 ID:???
テキスト型との事ですが、そのフィールドの他の設定はどうなってますか?
既定値とか、書式とか。
また、そのフィールドにAとかBって入力するとどうなりますか?

423 :NAME IS NULL:04/01/17 22:23 ID:???
Access 2000 からの機能だろ
切り方は知らないけど

424 :NAME IS NULL:04/01/17 22:28 ID:???
ttp://fukkey.dyndns.org/pins/acc/010822/62014.html
を読む限りでは仕様だそうだ。
MSに確認したらしい。
なんて糞なんだ・・・

425 :NAME IS NULL:04/01/17 22:30 ID:???
おーホントだ。なるなる(w
こんな機能イラネ。
全然知らんかった。

426 :417:04/01/17 22:34 ID:A0zcU6Tf
>>422-425
みなさん、ありがとうございます・・・切れないのこれ?(号泣
なんだかものすごく変なんですよ。
10,11→12
10,12→14
10,13→自動入力なし
10,9→自動入力なし
月曜日,火曜日→自動入力なし
A,B→自動入力なし
+1と+2の時だけ自動みたい・・・勘弁して欲しいです!

みなさん、本当にありがとうございました、しかし、なんだなぁ・・・

427 :NAME IS NULL:04/01/17 23:22 ID:???
オートコンプリートOFFにすればいいんじゃ?
と思って試したがそれでもヤパーリ直らんな。
こんな機能イラネ

428 :NAME IS NULL:04/01/17 23:22 ID:???
ちなみに当方2003だが同じ状況でつ

429 :NAME IS NULL:04/01/18 00:11 ID:0pSYbmS4
おー、、こりゃ便利だ(w
ユニーク生成簡単にできるな(w

430 :NAME IS NULL:04/01/18 01:42 ID:???
>>427
おそらく、オートコンプリートがらみのフラグか何かが混じって居るんだろう。

仕様でもなんでもなく、便利と思って付けた機能が実は、特定の場合におい
てはどうしようもないうざい機能になった

それだけの話なんだろう。

431 :NAME IS NULL:04/01/18 11:43 ID:O5SAgrhy
VBA って、Structure ステートメントはないのでしょうか?
Windows の API で構造体へのポインタを受け渡しするものがあるのですが、
こういう API は VBA からは呼び出すことができないのでしょうか?

432 :431:04/01/18 12:19 ID:O5SAgrhy
Type ステートメントでしたね…

433 :NAME IS NULL:04/01/19 00:29 ID:???
名前、数、結果の3つのフィールドがあり
[名前]はリストボックスから選び、
[数]は[名前]が入力されると自動で決まり
[結果]は[数]*10とします

今後名前のリストを増やす時にVBやマクロを編集せずに
すむ方法はないでしょうか、自分ではなく
まったくの初心者が使うもので

長い上にわかりずらくて、すいません

434 :433:04/01/19 14:20 ID:???
自分で出来ました
スマソ

435 :NAME IS NULL:04/01/19 14:54 ID:uUxchYdR
すみません。超初心者なのですが、助けてください。

初めてaccessを使っています。
宛名ラベルをつくりたいと思い、
317人分入力済みのテーブルを基にレポートのプレビューを出しているところです。
しかし何故か177人目から表示されないんです。

なんせ初めてなもんで、途中でいろいろとどこかを扱ったりしてます。
何が原因かわからなくて困っています。
じつは時間がありません。あさってまでには問題解決したいです。
やさしい方、助けてください!!

436 :NAME IS NULL:04/01/19 15:26 ID:8Pv4Pi+x
たすけて・・

437 :NAME IS NULL:04/01/19 15:31 ID:???
>>435
表示されないとはどういう現象?

1)178人目からプレビュー画面が真っ白
 考えられる原因:Windowsのリソース不足
 確認用テスト:プレビューを出した時、レポート下のページ番号を
   178人目表示用に変更して移動。

2)データが177件目から先に進まない。
 考えられる原因:レポートのデータソース
 確認用テスト:レポートのデータソースを確認する。
  SQLが書かれているならそれをクエリーで作って、件数がちゃんと
  317人分出るか確認する。

他にも原因はありそうだけど、まず現象がはっきりしないと。
それとレポートのデータソースの記述も。

438 :NAME IS NULL:04/01/19 16:10 ID:vogU0c9x
accessで作成したposデータテーブルと分析ツールを、DB2に
乗せ替えようと思います。同じような経験のあるかた、アドバイス
お願いします。

439 :NAME IS NULL:04/01/19 22:37 ID:KNA0zH/2
accessで住所録作成中なんですが
.を...と3回打つと…に変わっちゃうんです。
メルアドなんで変わっちゃったら困るんです。
どうにかならないですかね?

440 :NAME IS NULL:04/01/19 23:45 ID:???
どうにか?

オートコレクト(ぼそ

441 :NAME IS NULL:04/01/20 00:26 ID:AaDNIlka
440さんありがとです。
そんな機能がついてましたねー。
ようやく思い出しました。住所録完成ですー。

442 :NAME IS NULL:04/01/20 15:20 ID:AHrfLEfF
>>437
435です。
せっかく考えていただいたのにちょっと無難しすぎて理解不能です・・
ワードで宛名ラベルやってみたら、178人目以降もちゃんと出てきました。
何故だかよくわからないのですが。
もうワードでやります。
どうもです!


443 :NAME IS NULL:04/01/20 16:06 ID:???
先日、クライアントからいきなりアクセスのデータを渡されて、
使い方もわからず困っております。
これまではエクセルでデータを渡されていたので苦労はなかったのですが…。
そこで、「初心者は必ず読んでおけ!」といった本があればオススメして
いただきたいのですが、よければアドバイスください。
取り急ぎ、「データベース」で閲覧可能な情報を、
エクセルで開くようなことはできるのでしょうか?
現在確認できる情報を、たとえばイラストレータやクォークなどの
別アプリケーションに転載したいのですが、
どこをどう操作すればいいやら……_| ̄|○
これを機に勉強しようと思います。初心者すぎて申し訳ありません

444 :NAME IS NULL:04/01/20 18:59 ID:???
>>443
使いまわしのきくCSVにでもエクスポートしてみれば?

445 :NAME IS NULL:04/01/20 22:41 ID:???
>>443
1) エクセルで、[データ]→[外部データの取り込み]→[新しいデータベース クエリ](MS-Query)を実行。
2) データソースの選択で、[MS Access Database]を選択。
3) データベースの選択で、目的のMDBファイルを開く。
4) クエリウィザード−列の選択で、使用可能なテーブルとクエリの一覧が表示されるので、
   とりあえず、何か1つテーブルを選び '>' ボタンで列を追加。
5) 後はひたすら '次へ' ボタンで進み完了。
6) 最後に取り込み位置を指定すればOK!
7) 4)で複数のテーブルやクエリがあった場合、ワークシートを切り替えて1)〜6)を繰り返す。

以上

446 :443:04/01/20 23:21 ID:???
>>444、445
どうもありがとうございます。
とりあえず445でお教えいただいた方法で試してみます。
なんとか仕事がはかどりそうで…
本当にありがとうございました


447 :NAME IS NULL:04/01/21 14:47 ID:kg8lfRWs
win98のPCで作ったアクセスのレポートをwin2000のマシンで開こうとすると
"0x77fcc641"の命令が"0Xfffffff8"のメモリ参照しましたが。メモリが"read"になることができませんでした。
というエラーメッセージがでてアクセスが落ちてしまいます
win98、win2000ともにaccess2000を使っています

同じような現象に遭った事がある、解決策を知っているという方いませんか?


448 :NAME IS NULL:04/01/21 18:07 ID:???
初心者です。
フォームに3つのコンボボックスと1つのテキストボックスがあります。

1.コンボボックスには各々別のマスターテーブル(フィールドA,B)のAの値を表示します。
2.テキストボックスにはプルダウンで選択された値に対応するBの文字列を3つ連結して表示します。
3.作成した文字列を結果テーブルに格納します。

ルックアップでプルダウンにAの値を表示すること、
Aを連結した文字列をテキストボックスに表示することはできました。
(テキストボックスのコントロールソースに=[コンボ1]+=[コンボ2]+=[コンボ3])

それで、以下の方法を教えてください。
・Bを連結した文字列をテキストボックスに表示する方法。
・結果を結果テーブルに格納する方法。

よろしくお願いします。

449 :NAME IS NULL:04/01/21 21:25 ID:???
初歩的な質問かもしれず申し訳ないのですが、どなたか教えていただけると幸いです。
Webのフォームで入力したデータを、
perl(CGI)で、microsoft accessのテーブルの内容を更新することは可能でしょうか。
また、そうしたことを易しく解説してあるHP等があれば教えてください。

450 :NAME IS NULL:04/01/21 21:44 ID:???
>>449
可能ですが、
そういう検索すれば、わかる質問はどうかと・・・。

451 :NAME IS NULL:04/01/21 23:10 ID:???
>>447 とりあえず Office のアップデートは?
http://office.microsoft.com/OfficeUpdate/default.aspx

452 :NAME IS NULL:04/01/22 00:58 ID:7DmWZOnm
重複しないレコードの取得で質問があります。
重複させたくないフィールドを指定していするには
どうしたらよいのでしょうか?
DISTINCTを使うとSELECTで指定したすべてになって
しまいますが、これを、、、
SELECT DISTINCT A, B, C FROM 〜
とあったら、BとCは重複しても良いが、Aが重複していない
レコードを抽出するというふうにしたいのです。


453 :NAME IS NULL:04/01/22 02:39 ID:???
>>452
そいつぁ無理な相談だぜぃ。

454 :453:04/01/22 03:12 ID:???
と思ったら・・・
SELECT A, MAX(B) AS BB, MAX(C) AS CC
FROM テーブル
GROUP BY A;
で出来るね。ゴメン

455 :NAME IS NULL:04/01/22 03:52 ID:???
検索条件となる連結コンボボックスに「全て」をつけたいです。
ttp://support.microsoft.com/default.aspx?scid=%2fdirectory%2fworldwide%2fja%2fkblight%2fT005%2f2%2f20.asp
を見てやってますが、なーんかうまくいきません。

追加したライブラリはDaoのみ。
Set rs = Db.OpenRecordset(strSql, dbOpenSnapshot)のとこで
型が一致しませんエラーで落ちます。
なんでですかねぇ?


456 :やばい:04/01/22 10:38 ID:???
すみません 教えて下さい
売り上げを入力する画面があって、支払い価格を入力する際、
画面表示では、品物の種類で選び、データ上はその品物の支払い価格で計算
されている様にしたいのですが。

社員の中に、得意先の身内がいて支払い原価がばれるとまずいので。
日本語がへんですみません。

457 :NAME IS NULL:04/01/22 13:17 ID:6nyayVQ6
>>456
コンボボックスを使用。
値集合ソースはselect [金額],[品名]の順
連結列=1
列数=2
列幅=0cm;10.0cm
※列幅の1つ目は0、2つ目は適当な数値で。

458 :やばい:04/01/22 14:06 ID:???
>>45
ありがとうございます。
やってみます。 多謝

459 :やばい:04/01/22 14:08 ID:???
>>45 じゃない >>457 だ。
スマソ

460 :NAME IS NULL:04/01/22 14:45 ID:???
>>456
テーブル構造が分からないとなんとも。。。

そもそもそれをAccessで実現するのは難しいだろ
見ようと思えば手段はいくらでもあるんだから

461 :やばい:04/01/22 15:03 ID:???
>>460
たしかに上記の方法だと、直接テーブルみれば、
ばれるのはわかってますが、あいてはただの事務員なので、
入力画面で見えなければ大丈夫だろうと思っているのですが。


単価マスタ
 100g 20
 200g 35
 300g 40

入力画面
発注先  部数  単価(表示は重さで)

単価が重さ別なので、表示は重さにしたい。
しかし自分たちが見るレポートは単価で確認したい。


ほかに良い方法があれば教えてください。


462 :447:04/01/22 15:18 ID:???
一応、解決しました

どうやら サポート技術情報 - 812654 と同じような状況になっていたようです
http://support.microsoft.com/default.aspx?scid=kb;ja;812654&Product=acc

463 :NAME IS NULL:04/01/22 16:13 ID:???
>>461
別テーブルに原価マスタがあってリレーションで単価マスタと結合してるの?
単価マスタって命名がわかり難いですね、売価マスタ、卸値マスタってこと?

一番ばれない方法は、オペレーション用MDBと管理用MDBを別々に用意する。
オペレーション用MDBからは売価マスタしか参照できないようにする。
管理用MDBからだけ原価マスタ、売価マスタを参照、操作できるようにする。

464 :461:04/01/22 16:29 ID:???
この単価マスタは、業者への支払い原価のことです。
客への請求の単価は直接金額を入力です。

MDBを2つにわけて、一回の入力で
どちらにもデータが登録されるのですか?
ちょっとぐぐってきます。

465 :NAME IS NULL:04/01/25 01:39 ID:???
Accessって難しくない?
単一のデータ入力ならものすごく楽だけど、
きっちり正規化やって、サブシステムがいくつもあって、マスタ
をよく弄ることになるとウィンドウやサブフォームが増えてくるし、
そうなるとフォーカス移すたびにアップデート&コミットしようとするから
整合性制約がまともに作れないじゃないですか。
ADP使うとこの辺解決するの?
C#やVBで作るのとどっちが楽?

466 :NAME IS NULL:04/01/25 03:02 ID:???
>>465
は?

それ、単純にDBの仕組み理解していないだけじゃない。

467 :NAME IS NULL:04/01/25 09:55 ID:???
設計が糞に3000jet

468 :NAME IS NULL:04/01/25 14:14 ID:???
>>465
意味不明 帰れ

469 :NAME IS NULL:04/01/25 15:40 ID:???
整合性制約をプログラムで実現してるのだろうか・・・

470 :NAME IS NULL:04/01/25 17:14 ID:Fafj+mEN
Access厨には話が難しすぎたか。

整合性制約は、トリガないからプロシージャで書くこともあるけど、
単なる外部キーの参照制約でも問題になる。
データ分析がしっかりしてるんでこの参照制約がたくさんあるんだよ。

やっぱりコミットのタイミングが、フォーカスがレコードから外れたときって
決まってるのは、トランザクションやアサーション的な整合性制約を意識
しない設計を行うことを前提としての仕様なのかな。





471 :NAME IS NULL:04/01/25 17:27 ID:???
>>470

君、ひどいよ。
僕はMySQL厨なのにさ  謝れ。さもないと、泣くぞ

472 :NAME IS NULL:04/01/26 13:28 ID:nnYYdGrV
>>470
フォームに直接テーブルを関連付けた
お手軽プログラムしか書いた事がない
坊やの寝言は要りません。

473 :NAME IS NULL:04/01/26 17:04 ID:???
>>470
> やっぱりコミットのタイミングが、フォーカスがレコードから外れたときって
> 決まってるのは、トランザクションやアサーション的な整合性制約を意識
> しない設計を行うことを前提としての仕様なのかな。

決まってないよ。
それはフォームのデータソースとして直接レコードセットを関連付けているときだけでしょ?
DAOにだってトランザクション制御機能あるじゃん。

474 :NAME IS NULL:04/01/26 19:06 ID:???
>>470が一番ACCESS厨な罠
そんな実装許されるのは素人のACCESSアプリもどきだけ

475 :NAME IS NULL:04/01/26 21:51 ID:ltZsp6yp
Office Pro がすべてのPCに入ってるせいで、ACCESS 使って DB 作れといわれますた
データ入力部分だけ ACCESS のフレーム使って、PostgreSQL で C/S型DB作りましたが、何か?


476 :NAME IS NULL:04/01/26 23:07 ID:pnmZMnR7
>>472
>>473
>>474
そんなん、ぜんぜんAccessの存在意義ないやん。
VB使ってるのと変わらんやん。
全員、首吊って来い。

477 :NAME IS NULL:04/01/26 23:16 ID:???
>>475
フレームってなんですか?
フォームと勘違いしてるんなら首吊ってください。

478 :NAME IS NULL:04/01/27 00:34 ID:???
フォームの中のフレーム・・・じゃあないだろうな(w

479 :NAME IS NULL:04/01/27 10:47 ID:???
VBA の代わりに C# になってくれ。
次のバージョンからはそうなるのか?

480 :NAME IS NULL:04/01/27 11:39 ID:???
>476
君がVB使えないのは分かったよ。
もう一度勉強してからまたおいで・・・

481 :NAME IS NULL:04/01/27 20:30 ID:???
一人智将が紛れ込んでるようですな

482 :NAME IS NULL:04/01/27 23:05 ID:???
ACCESSスレだもの、タダの℃素人だよ。

483 :NAME IS NULL:04/01/27 23:41 ID:???
℃素人同士、仲良くしろよな。

484 :NAME IS NULL:04/01/28 00:04 ID:???
     ,,、
    (・_・) <アレテキタ?
    .゚しJ゚

485 :NAME IS NULL:04/01/28 21:07 ID:???
>>482
智将=知障
という意味ではないかと思われ

486 :NAME IS NULL:04/01/29 01:24 ID:???
非連結コントロール多用
明細表示にサブフォーム使用かつ VBA 多用

上記で VB 移行

487 :NAME IS NULL:04/01/29 01:50 ID:???
Access って、トリガ機能ありましたっけ?

488 :NAME IS NULL:04/01/29 11:58 ID:6iArGRQK
レポートプレビュー画面より印刷するときに部単位で印刷をしたくないんですが
どのようにプログラム書けば大丈夫ですか?
部単位でした印刷できないためかなり印刷に時間かかってるので大変なんです
よろしくお願いいたします

489 :まり:04/01/29 21:13 ID:eyv0Sf2F
アクセスのオートナンバーがかかったテーブルのレコードを消してしまった場合、
どのようにしたら、もとのレコードナンバーでレコードを入力できるのでしょうか?
ご存知の方がいらっしゃいましたら、教えてください。

490 :NAME IS NULL:04/01/29 22:42 ID:???
>>489
一番大きな値を持ったレコードを消したんなら、
最適化を実行すればOK。
途中の値を消した場合はシラネ

491 :NAME IS NULL:04/01/30 03:09 ID:???
オートナンバは死ねるよね。
カット&ペーストやる人間なら。

492 :NAME IS NULL:04/01/30 03:54 ID:???
>>491 やっぱり死ぬしかないの?

493 :NAME IS NULL:04/01/30 08:53 ID:???
>>489
オートctィールドに番号を追加する方法

1.まずb追加したいテーブルをテーブル構造のみでコピー
2.コピーされたテーブルのオートb数値型に変更
3.追加したい番号を入力
4.そのテーブルのデータを追加クエリーで元のテーブルに追加
5.番号が追加される
6.このテーブルのデータベースを最適化してやる
7.終了

Access97ではこれで追加できるよ。

494 :NAME IS NULL:04/01/30 09:48 ID:i2VcEvk7
質問です。
Me!利用区分.rowsouce = "SELECT 利用区分
FROM 申込者情報 WHERE 申込者名前 = '" & Me!申込者名前 & "'"
とやると利用区分という名前のコンボボックスに結果が表示されますが、
利用区分がテキストボックスだった場合は.rowsouceの部分はどのような記述をしたらいい
ですか?ちなみにアクセス2000です。


495 :NAME IS NULL:04/01/30 09:52 ID:???
>>494
.Value

496 :NAME IS NULL:04/01/30 10:08 ID:???
.valueを入れましたが、テキストボックスには
SELECT 利用区分・・・が表示されてしまいました・・・。
そして何も記入しないとやはり同じ結果です。
設定とかが悪いのでしょうか?

497 :NAME IS NULL:04/01/30 13:55 ID:Rb6OlQ1l
VBAにて管理というテーブルの数値型のDENNOというフィールドから
データを取得したいんですがどうすればいいですか?


498 :NAME IS NULL:04/01/30 14:02 ID:???
まずは、ヘルプを読むこと。


かなぁ。。。

499 :NAME IS NULL:04/01/30 16:45 ID:UA56e49r
'
'>>497 DAOを利用する例
' フィールド"DENNO"は長整数型であると仮定
' Access97にて動作確認
'
Option Compare Database
Option Explicit

Function test() As Boolean
  On Error GoTo hErr
  Dim dbs As DAO.Database
  Dim rst As DAO.Recordset
  Dim dw As Long

  Set dbs = CurrentDb()
  Set rst = dbs.OpenRecordset("管理", dbOpenForwardOnly)

  While (Not rst.EOF)
    dw = rst.Fields("DENNO").Value
    Debug.Print dw
    rst.MoveNext
  Wend
  test = True
OnExit:
  On Error Resume Next
  If (Not (rst Is Nothing)) Then rst.Close: Set rst = Nothing
  If (Not (dbs Is Nothing)) Then dbs.Close: Set dbs = Nothing
  Exit Function
hErr:
  Debug.Print "*** "; Err.Description; "(id="; Err.Number; ")"
  Resume OnExit
End Function


500 :NAME IS NULL:04/01/30 17:06 ID:???
>494
Me!利用区分.ControlSource = "SELECT 〜


501 :NAME IS NULL:04/01/31 16:56 ID:wDE04cNC
オートナンバー型のように自動で値を割り振ってくれる
テキスト型のフィールドを作りたいのですが実現は可能でしょうか?

502 :NAME IS NULL:04/01/31 20:07 ID:dBT2K96p
>>501
ヴァリアントが使えるVBAがあるのになにを望むの?

503 :NAME IS NULL:04/02/01 10:48 ID:???
>>502
VBAを使わない方法で考えております。

504 :NAME IS NULL:04/02/01 11:00 ID:???
>>503
なにをどの様な規則に基づいて採番したいのか示せ
Max値に1をプラスしたものを振り当てるとか
採番用のテーブルを用意しておきそこから求める事も出来る

505 :NAME IS NULL:04/02/01 11:37 ID:ynLTAjln
>>499
できました。ありがとうございました

506 :NAME IS NULL:04/02/01 13:12 ID:???
オプションボタンを3つ配置し、A,B,Cと入れます。
各々選択された際に呼び出すクエリを変更する(Aの場合はクエリA,Bの場合はクエリBを呼ぶ)にはどうしたらいいですか?

507 :NAME IS NULL:04/02/01 13:45 ID:???
>506
A,B,Cは各オプション名でオプション値はそれぞれ1,2,3となります。
フレーム名を「フレーム0」とし、クリック時のイベントに

Private Sub フレーム0_Click()
Select Case Me.フレーム0
Case 1
DoCmd.OpenQuery "Aクエリ名"
Case 2
DoCmd.OpenQuery "Bクエリ名"
Case 3
DoCmd.OpenQuery "Cクエリ名"
End Select
End Sub



508 :506:04/02/01 14:48 ID:???
>>507
ドモです!

509 :506:04/02/01 15:06 ID:???
あ、すみません。追加です。
えっとフォームの中段のレコードソースにクエリ使ってるんです。
そこを、ガバっと変えることはできませんか?

上のやり方だと別画面が起動しちゃいました。

510 :NAME IS NULL:04/02/01 15:33 ID:???
>>509
そのフォームは表形式だという事?
それならば >>507 をちょっと改造して

Private Sub フレーム0_Click()
  Select Case Me.フレーム0
  Case 1
    Me.RecordSource = "Aクエリ名"
  Case 2
    Me.RecordSource = "Bクエリ名"
  Case 3
    Me.RecordSource = "Cクエリ名"
  End Select
End Sub


511 :506:04/02/01 16:01 ID:???
ありがとうございます。
説明不足&下手ですみません。
クエリBに変更したときに、エラーはでなくなりましたがうまく表示してくれないなー。

デザイン時はクエリAを表示させています。
表にはテキストボックスがあるんですが、それも新しいクエリと関連付けないとダメですかね?
まったく同じテーブルのフィールドデータを使っているんですが・・・。

512 :NAME IS NULL:04/02/01 16:13 ID:PwJidkXA
>>511
Me.Refresh

513 :NAME IS NULL:04/02/01 18:14 ID:RAyn3KuW
>>504
単にユニークなIDが振れればいいので特に規則は無いです。
最初はユニークなランダム文字列を考えていたのですが、
VBA、別テーブルに頼らないSQLのみでの解決となると
数字の文字列のMAX値+1が現実的でしょうか?

514 :NAME IS NULL:04/02/01 19:15 ID:???
>>511
各クエリはフィールド名を汎用に変更
例えばtxt1:日付,txt2:氏名....のように
その上でフォームの各テキストボックスの
コントロールソースも変更
例えば txt1,txt2,... のようすればいいのでは?



515 :NAME IS NULL:04/02/01 20:54 ID:???
(´-`).。oO(ID:RAyn3KuWは何故文字列にこだわるんだろう..)

516 :NAME IS NULL:04/02/01 23:17 ID:???
>>513
タイムスタンプとかは考えてないの?

517 :suzukid:04/02/01 23:22 ID:YC5fqR/B
クエリについて質問です。

同じ構造のテーブルが二つあります。

テーブルA
キー|その他のフィールド
01 |ああああ
02 |いいいい
03 |うううう
04 |ええええ
05 |うううう
06 |ええええ

テーブルB
キー|その他のフィールド
03 |ああああ
04 |いいいい
05 |うううう
06 |ええええ

テーブルAにはすべてのキーがあり、
テーブルBにはそのうちのいくつかのキーがあります。


クエリでテーブルAとテーブルBを左外部結合で結び、
テーブルBにキーがあればBから、
なければAから「その他のフィールド」を持ってきたいです。

抽出結果
キー|その他のフィールド
01 |ああああ ←テーブルAから
02 |いいいい ←テーブルAから
03 |ああああ ←テーブルBから
04 |いいいい ←テーブルBから
05 |うううう ←テーブルBから
06 |ええええ ←テーブルBから

全てのキーに対して「その他のフィールド」を
どちらのテーブルから持ってくるか、
というクエリです。

教えていただけませんか。
スレ違いだったらごめんなさい。

518 :NAME IS NULL:04/02/01 23:27 ID:Zm66lOMd
質問です。
ac2000+DAOを使ってますが、フォーム上の非連結テキストボックスなどに
入力された値を、次回フォームを開いたときにそのまま表示させることは
できますか?
VBAでDefaultValueを弄ろうと散々試しましたがうまくいきません。
もちろん、テーブルを作れば良いのは解ってますが、フォームを
マスタ代わりに使えないものかと。

519 :NAME IS NULL:04/02/01 23:34 ID:???
>>517
Iif関数使えば出来るかと。
>>518
無理じゃないのかな。
考えたこともないから。。。

520 :NAME IS NULL:04/02/02 00:26 ID:???
>>515
逆に聞きたいんですけど、IDって普通文字列にしませんか?
数字のIDってのもありなんですかねぇ。教えてエライ人!

>>516
タイムスタンプだとほぼ同時にINSERTがなされた場合に
重複IDが発行されてしまう可能性があるかなと思いました。

521 :NAME IS NULL:04/02/02 12:02 ID:???
自己レスですが、以下のような方法でテキスト型のフィールドに
自動的にユニークなIDを振る事ができました。
ストアドがあったらこんな苦労はしなくて済むのだろうに。

INSERT INTO t_hoge (id,f1,f2,f3)
SELECT Iif(Max(id),Max(id)+1,'1'),'aaa','bbb','ccc'
FROM t_hoge

522 :NAME IS NULL:04/02/02 14:16 ID:???
>>517
tbl_1 → テーブルA、tbl_2 → テーブルB、
KeyNo → キー、Subject → その他のフィールド
に置き換えて下のSQLを参考。
SELECT tbl_1.KeyNo, Nz([tbl_2].[Subject], [tbl_1].[Subject]) AS Subject
FROM tbl_1 LEFT JOIN tbl_2 ON tbl_1.KeyNo = tbl_2.KeyNo;


523 :NAME IS NULL:04/02/03 00:05 ID:B8AHGZ/v
>>521
1
11
12
13
2
21




524 :NAME IS NULL:04/02/03 00:07 ID:B8AHGZ/v
>>521
わざわざ文字列にするなら左をゼロ埋めくらいしたら?
標準のオートナンバーそのままで何の問題もないと思うけど。

525 :521:04/02/03 00:34 ID:???
>>523-524
これで満足していただけますか?

INSERT INTO t_hoge (id,f1,f2,f3)
SELECT Iif(Max(id),Format(Max(id)+1,'00000'),'00001'),
'aaa','bbb','ccc'
FROM t_hoge


526 :NAME IS NULL:04/02/03 01:45 ID:???
>>525
t_hogeのレコードの中で最大のidをdeleteした場合、次のinsertでは
また同じidが生成されるのがちょっと気持ち悪いかもしれない。
まあ、ユニークであればいいというならこれでいいのか。
しかし、標準の長整数のオートナンバーって使いにくい所が何かあるの?

527 :NAME IS NULL:04/02/03 09:29 ID:???
>>525
10万レコード超えると・・・。

528 :NAME IS NULL:04/02/03 14:47 ID:???
>>526
IDはやっぱり文字列で持ちたいんです。(特に理由は無し)
できればABC-0001みたいな規則のあるものか、ランダム文字列にしたかった
のですが、ストアドのないアクセスでは数字型文字列のインクリメントという
手しかありませんでした。
PerlからODBC経由で接続している為VBAが使えないのが痛かったです。

>>527
そうゆうこと。だから桁数決めない方がいいかなと思って
最初>>521のようにしてたんです。

529 :NAME IS NULL:04/02/03 15:22 ID:???
>>528 でもいずれにしろ Long 超えたらダメだけどね。

530 :NAME IS NULL:04/02/04 09:20 ID:???
>>529
Decimal型にするとかw

>>528
これといって理由がないなら文字列で保持するのは無駄だと思うんだけど。
処理遅くなるよ。
どうしてもというなら読み込み時にクエリで文字列にすればいんでないの?

531 :NAME IS NULL:04/02/04 10:01 ID:???
>>530
なんかやってるうちにそんな気がしてきましたよ。
オートナンバー型にしようかな。
ありがとうアホな質問に付き合ってくれたエロイ人達!

532 :NAME IS NULL:04/02/04 10:05 ID:???
つか、IDだろ。レコードの一意性を保証されてれば、何でもいいんだよ。商品コードとかじゃないんだから。

533 :NAME IS NULL:04/02/04 23:56 ID:???
    商品A  商品B
A店  10    20
B店  15    10

といったクロス集計に、別のテーブルから商品Cという列を加えることは可能ですか?


534 :NAME IS NULL:04/02/05 01:24 ID:???
>>533
可能
ユニオンクエリーで調べてください。

535 :NAME IS NULL:04/02/06 20:12 ID:Ps5eFJO1
ODBC接続する際のIDとパスワードを設定したいのですが、
どこで設定すればいいのでしょうか?

536 :NAME IS NULL:04/02/06 21:19 ID:???
>>535 ODBCマネージャのユーザDSN

537 :NAME IS NULL:04/02/07 02:02 ID:???
>>536
[ツール]>[セキュリティ]で設定するユーザーやパスワードは
ODBCのID、パスワードとは関係ないですか?

538 :533:04/02/07 09:17 ID:???
>>534
おそくなりました、ありがとうございました!

539 :NAME IS NULL:04/02/07 12:33 ID:???
Access + VBA なんかでカリカリ書いてると、
「これ、VBで作ったほうが早いんじゃないのか?」
と思ったことがある。

今はマクロがマイブーム


540 :NAME IS NULL:04/02/08 14:06 ID:ww8jGd3X
お願いします。マジで分からないのです。
当方は、事務員です。ACCESSは、フォームからの
入力しか普段はやっておりません。

環境はACCESS2000で
従業員の住所や顧客管理をしてます。

そこで質問ですが、インデックスと主キーは
どう違うのですか?

541 :NAME IS NULL:04/02/08 16:57 ID:???
>>540
ttp://www.google.com/search?num=100&hl=ja&lr=lang_ja&q=DBMS+%83C%83%93%83f%83b%83N%83X%81%40%8E%E5%83L%81%5B

542 :540:04/02/08 21:31 ID:ww8jGd3X
>>541
インターネットで調べても分からないのです。
私はDBを設計するつもりはなく、
ただ、どういう役割があるのか知りたいのです。
その役割の1部分だけでも十分なので、
具体例などを言っていただけると有り難いです。

543 :NAME IS NULL:04/02/08 21:50 ID:???
>>542
おおまかには、こんな感じ。

主キー:その列には、重複する値を入力できない。
インデックス:その列を検索条件にした場合に早くなる。


544 :540:04/02/08 22:25 ID:ww8jGd3X
>>543
有難う御座います。
1番検索条件として使う列は「単価」です。
ちょっと、やってみます。

545 :543:04/02/08 22:43 ID:???
ちなみに、Accessの場合、主キーにはインデックスが自動的に作成されたと思う。

あと、列の値の大部分が同一値の場合は、インデックスを作成しても早くならない
場合もある。(単価なら、100円のレコードばっかりだと早くならないかも。って事)

546 :NAME IS NULL:04/02/08 23:53 ID:???
インデックスつけて速くなるのはそのフィールドが
WHERE句で使われてる場合のみですよね?


547 :NAME IS NULL:04/02/09 00:08 ID:Oelii6dj
>>537
> [ツール]>[セキュリティ]で設定するユーザーやパスワードは
> ODBCのID、パスワードとは関係ないですか?

関係ない。

548 :NAME IS NULL:04/02/09 00:12 ID:Oelii6dj
>>547 あと、リンクテーブルを使う場合の注意。
ファイルDSNから作ったリンクだとパスワードが保存されない。
ユーザDSNから作ったリンクだとパスワードが保存される。

何が違うかは Table オブジェクトの Connect メンバもしくは
Connect プロパティを見ればわかる。
が、違いがわかったところでどうしようもないので、
パスワードを保存したいならユーザDSNを使うのが吉。

Access 2000 での話しなので、最新バージョンでは
改善されているのかもしれない。

549 :543:04/02/09 00:36 ID:s0j5z2In
>>546
yes

550 :NAME IS NULL:04/02/09 11:24 ID:???
>>547-548
よく分かりました。ありがとうございました。

551 :NAME IS NULL:04/02/09 16:58 ID:???
>>546
え。JOINじゃインデックス関係ないの?

552 :NAME IS NULL:04/02/10 10:48 ID:???
>>551
JOINもWHERE句の一部でわ?

553 :NAME IS NULL:04/02/10 10:53 ID:???
Group by は、どうなんだろ?

554 :NAME IS NULL:04/02/10 13:04 ID:???
女陰はFROM句の一部じゃねーのかゴルァですよ

555 :NAME IS NULL:04/02/10 19:36 ID:o2K/PF3a
テーブル 「T_価格」
型番:  品名 :       定価 :  卸価格
123AAA : 2ちゃんビューワー: 3000円 : 2200円
というようなテーブルから型番で価格等を引っ張る為に
フォームのテキストボックスForms![CD1]〜[CD20]
で、調べたい型番を入力させ、
クエリで型番に
[Forms]![F_複数検索]![CD1] Or [Forms]![F_複数検索]![CD2]
〜 Or ・・・・[Forms]![F_複数検索]![CD20]
という用に全てOrで繋いだ値を抽出条件にし、
単純に呼び出して電子カタログとしています。

さて、ここで困っているのが、このまま呼び出したクエリは
レコードの順番がめちゃくちゃになっており、見づらいのです。

これを入力したときのフォームの順番になるようにできないものでしょうか。

抽出後の結果が
[CD1]から呼んだレコード
[CD2]   〃
・・・・・
というようにしたいのですが、
何かうまい方法はないでしょうか・・・。



556 :NAME IS NULL:04/02/10 20:50 ID:3+rRDf+4
OrderByでできないソートは作業表使うしかないだろうね。
もちろんVBAからカーソルで読んでもいいんだけど。

557 :NAME IS NULL:04/02/11 01:07 ID:???
>>555

SELECT T_価格.*, 1 AS CD
FROM T_価格
WHERE T_価格.型番=[Forms]![F_複数検索]![CD1]
UNION
SELECT T_価格.*, 2 AS CD
FROM T_価格
WHERE T_価格.型番=[Forms]![F_複数検索]![CD2]
UNION
 :
 :
(以下20まで)
ORDER BY CD

デザインビューでUNIONは使えないから、直接SQLビューで。

558 :NAME IS NULL:04/02/11 01:25 ID:???
>>555
ユニオンクエリを使えば可能!
固有値と抽出条件のみ異なるクエリ1〜クエリ20を作成し、
これらをユニオンクエリで合体させれば良い。

【クエリ1】
SELECT 1 AS 固有値, * FROM テーブル WHERE 型番=[Forms]![F_複数検索]![CD1];

【クエリ2】
SELECT 2 AS 固有値, * FROM テーブル WHERE 型番=[Forms]![F_複数検索]![CD2];

クエリ3〜クエリ20も同様

【ユニオンクエリ】
SELECT * FROM クエリ1
UNION SELECT * FROM クエリ2
... (途中省略)
UNION SELECT * FROM クエリ20
ORDER BY 固有値;

559 :558:04/02/11 01:32 ID:???
あっ、かぶっちゃった!
でもさぁ、品名をLIKEで検索した方が良いと思うんだけど・・・
なんで、型番なんかで検索するの?

560 :NAME IS NULL:04/02/11 12:44 ID:sFClJU76
>>557
>>558
有り難う御座いました。クエリを20個作ってユニオンクエリで
まとめることが出来ました。
>>559
品名の曖昧検索機能はあるんですが、品目が1万点ほどあり、
スペック違いサイズ違いなんかも多いので下手に品目で検索すると
ヒット数が多くなりすぎるのです。
そのまま発注出来るようにもしてあるので、注文書の表順に結果が出てきて
欲しかったのです。社内SEが作った検索システムだったのですけどね。


561 :NAME IS NULL:04/02/11 21:20 ID:s54mFlgG
>>558 なるほどねー

562 :NAME IS NULL:04/02/15 12:21 ID:9SKqTqwQ
ボタンを押すと指定したホームページをインターネットエクスプローラにて
開くにはどうすればいいですか?それとアクセスで閲覧することはできますか

563 :NAME IS NULL:04/02/15 18:18 ID:???
おまえらCSE使おうぜ
http://www.hi-ho.ne.jp/tsumiki/

564 :NAME IS NULL:04/02/15 18:51 ID:2dMe3A3S
教えて君ですが・・・

┌───────────┐
│グループヘッダー    │
├───┬───┬───┤
│詳細行│詳細行│詳細行│
│1段目 │2段目 │3段目 │
└───┴───┴───┘
みたいなのをレポートで作るとき、グループヘッダは詳細行3行分の幅で
作れないのでしょうか・・・。



565 :NAME IS NULL:04/02/15 22:05 ID:???
>>563
これってAccessに対して使う場合、どういうふうに便利なの?

566 :NAME IS NULL:04/02/15 23:22 ID:???
>>563
AccessからODBC経由で接続するのより使い勝手は良い?

567 :NAME IS NULL:04/02/15 23:47 ID:???
AccessもCSEも使ってるけど、Accessのが使い勝手良いね。


568 :NAME IS NULL:04/02/16 01:36 ID:???
>>564
詳細部をサブレポートにすれば可能!

569 :NAME IS NULL:04/02/16 17:53 ID:???
レポートについてなんですけど
RecordSourceを指定せずにDAOやADOで取得したデータを出力することって出来ますか?
3つのテーブルから、ページヘッダー、詳細、ページフッターにそれぞれ出力したいんですが
次の詳細レポートやページに印字する方法がわかりません
ヨロスクオナガイシマス


570 :NAME IS NULL:04/02/16 18:42 ID:???
あの、Access って MDI よりも、
全ウィンドウが独立したウィンドウのほうが扱いやすいと思うんですが…
とくにマルチモニタだったりすると。

571 :NAME IS NULL:04/02/16 19:00 ID:???
Access2000なんですが、クエリを開いてからピボットテーブルを作成しようとしても、ビューの切り替えのところにそもそもピボットのビューが出てきません。
これってなんなんでしょうか?

572 :NAME IS NULL:04/02/16 19:49 ID:???
マルチポストはよろしくないなぁ

573 :NAME IS NULL:04/02/16 22:07 ID:???
>>572
マルチポストは答えを最速で求める為の一つの方法。
お前の脳みそはシングルタスクかっつーの!

574 :NAME IS NULL:04/02/16 23:13 ID:???
1月の売上と2月の売上のテーブルがあるとします。
これをくっつけて1〜2月の売上っていうクエリを作ることは可能なんですか?

日付  店舗  金額

1/1   A    100
1/3   B    100
2/5   A    150

みたいな感じで、縦にデータを連結させたいのですが・・・・





575 :NAME IS NULL:04/02/16 23:27 ID:???
SELECT * FROM 1月の売上
UNION
SELECT * FROM 2月の売上
ORDER BY 日付 ASC

テーブルを月ごとに分けるってのもどうかとは思うけど、
インポートしてきた状態だったらそういうこともあるか。

576 :NAME IS NULL:04/02/17 00:01 ID:???
>>575
レスどうもです。
他のシステムからエクスポートしたのを取り込むんでこういう形になるんですよ・・・

577 :NAME IS NULL:04/02/17 09:16 ID:???
>>576
だから、クエリの時に一つにするんじゃなくて、インポート時にしとけっていうことだよ。

578 :NAME IS NULL:04/02/17 11:50 ID:???
パス解析は何処で聞いたらいいですか?

579 :NAME IS NULL:04/02/17 12:11 ID:???
>>578
ググルに聞け。

580 :NAME IS NULL:04/02/18 15:09 ID:i3NQFhUW
2.mdbよりもう1.mdbを起動して1.mdbをアクティブにしたいんですがどうすれば
いいですか?
よろしくお願いします

581 :訂正:04/02/18 15:10 ID:i3NQFhUW
2.mdbより1.mdbを起動して1.mdbをアクティブにしたいんですがどうすれば
いいですか?
よろしくお願いします



582 :NAME IS NULL:04/02/18 18:03 ID:???
Dim AppAcc As Access.Application

Set AppAcc = New Access.Application
AppAcc.OpenCurrentDatabase "Mdbファイルのパス"

で開いたら自動的にアクティブにならない?
参照設定が必要かも

583 :NAME IS NULL:04/02/20 12:07 ID:r72qf0JX
ユニオンクエリーをFROM句のサブクエリ内で使っています。

SELECT a,b,c
FROM
(SELECT a,b,c
FROM t_hoge
UNION
SELECT d,e,f
FROM t_hage)

サブクエリ内ではhogeテーブルの(a,b,c)フィールドとhageテーブルの
(d,e,f)フィールドをUNIONクエリで連結させているのですが、
サブクエリの外のSELECTで(a,b,c)フィールドを指定しても
特にエラーになることはありません。

UNIONクエリで連結した場合、フィールド名は最初のSELECTで
指定したものに統一されるという仕様なのでしょうか?

584 :NAME IS NULL:04/02/20 23:55 ID:GVqkqHJp
>>583
UNIONの結果セット列名は、UNION内の最初のSELECTステートメントの結果セット列名と同じ。
その他のSELECTステートメントの結果セット列名は無視される。

585 :NAME IS NULL:04/02/21 00:23 ID:???
ORACLE←→ACCESSの顧客管理GUI作ってんですけど
テキストエリアにシングルクォーテーション入れられると落ちます。
助けてください。

つーか落ちまくりで作り直しになりそーな予感。

586 :NAME IS NULL:04/02/21 00:51 ID:???
サニタイズ sanitizeをキーワードにして勉強してみれ。

あぶないのって、 ' " : ; -- ぐらいだっけ?

587 :NAME IS NULL:04/02/21 18:25 ID:???
>>584
なるほど、ありがとうございます。

588 :NAME IS NULL:04/02/23 20:58 ID:kdCRlJac
AccessファイルをLAN上で共有してるのですが、
1人がファイルを開いてデータ入力などをしてると
他の人が違うデータを同時に入力することができないのですが、
これを効率よくするために、
同時にアクセスしてデータの入力作業をする方法があるのでしょうか?

589 :NAME IS NULL:04/02/23 21:50 ID:???
あー、MS-Accessではちょっと。。。

590 :NAME IS NULL:04/02/23 22:05 ID:???
>>588
排他モードで開いてるとか、全レコードロックしてるからでは?

591 :NAME IS NULL:04/02/23 22:45 ID:kdCRlJac
>588 599

レスありがとうございます。
やっぱりAccessでは難しいみたいですね。
そういうことが出来る技があるのかなと思いまして
聞いてみました・・・

592 :590:04/02/23 22:59 ID:???
あのー、出来るんだけど・・

593 :NAME IS NULL:04/02/23 23:29 ID:???
でも、それをやるとファイルが壊れるって聞いたけど。

594 :NAME IS NULL:04/02/24 02:22 ID:???
それを言っちゃーおしめぇーよ!
確かにクリティカルな用途には向かないが
それなりの使い道もあるじゃん

595 :NAME IS NULL:04/02/24 02:46 ID:???
だから自己責任でね。と書いておけ

596 :NAME IS NULL:04/02/24 03:43 ID:???
>>1人がファイルを開いてデータ入力などをしてると
ファイルを開いているのか?
ファイルを、直接?
各マシンから?
リンクテーブルとか生ぬるいやり方じゃなく、
各マシンのデスクトップあたりにショートカットでも貼り付けて?

いや、それが絶対に良くないとは言わないが。
言わないが
言わないが
言わないが

597 :NAME IS NULL:04/02/24 12:59 ID:???
>>588
ローカルのDBに作業用のテーブルを置いて、入力そのものはローカルに。
更新ボタン等のイベントで共有DBの方に排他で追加するのがええんではないかと。

なんにしても、直接多人数で開くのはよろしくない。

598 :NAME IS NULL:04/02/24 17:16 ID:???
なんでお前等MSDEの存在を教えてやらないんだ?
MSDE使えば一つのmdbに対して複数ユーザーが同時接続できるだろ。

599 :NAME IS NULL:04/02/24 19:26 ID:???
MSDEならMDBではないぞな

600 :NAME IS NULL:04/02/25 00:28 ID:???
前に単なる好奇心で試したことあるけど、MSDE + adp って何だかよく分かんねえぞ。
このフロントエンドのファイルにこのテーブルは要らないなと思って消したら、
大本のデータまで消えちまったの。
何だよそれ。
俺はそんなことをしたおぼえはないぞ。
以来、MSDEには触らないと決めました。
いいんです。
小さな職場で使う素人の自作システムは、mdbに自前ロックつけるだけで充分です。

601 :NAME IS NULL:04/02/25 01:13 ID:???
MDBでMSDEにリンクテーブル張るだけでも違うと思われ

602 :NAME IS NULL:04/02/25 01:20 ID:???
MDBに慣れきってるせいもあるんだろうが
ADPは非常に使い勝手が悪く反応もトロイと感じる
のは木の精?

603 :NAME IS NULL:04/02/25 02:18 ID:???
>>602
ADPが重いんじゃなくて、ADPを介して使ってるDBMSやネットに問題があるとおもわれ。


604 :NAME IS NULL:04/02/25 02:42 ID:???
JET(+ADO) でビット論理和って使えないんですか?
数十個のBooleanな検索条件があって、それをビットマスクで一気に片付けたいんですが…

605 :NAME IS NULL:04/02/25 23:55 ID:???
>>603
ならば、MSSQLServerやMSDEがJETより重いって事ですね!

606 :NAME IS NULL:04/02/26 20:26 ID:eh35xVEj
ExcelのVBAのリファレンス本はけっこうあるのですが、
AccessのVBAのリファレンス本ってあまりないですよね?
何か違うの?

607 :NAME IS NULL:04/02/26 20:49 ID:???
VBAって言語自体は特に違わないけど、使うオブジェクトがぜんぜん違うから
それなりにコツはいる。

608 :NAME IS NULL:04/02/27 09:22 ID:???
他のMDBファイルから、テーブルやクエリーを
インポートすることができますが、ユーザ設定の
ツールバーとか、お気に入りも含めて
インポートする方法は無いものでしょうか?

データベースが肥大化してしまい、最適化でも小さくならないので
一ヶ月に一度くらいの頻度で新しいデータベースに全部インポートして
きれいにしているのです。

609 :NAME IS NULL:04/02/27 10:49 ID:???
>>608
インポート時に出るダイアログの「オプション」を見れ

610 :NAME IS NULL:04/02/27 19:50 ID:tbwpGA1Q
>>609 ありがとうございました。
なるほど、ツールバーはインポートできるんですね。
お気に入りは無理なのでしょうか?

611 :NAME IS NULL:04/02/27 22:44 ID:???
AccessのVBAまでかじったら、他のデータベースも理解が早いですかね?
全然レベルが違うって思ったほうがいい?

612 :NAME IS NULL:04/02/27 22:49 ID:???
>>610
漏れの会社ではいまだにAccess97を使ってるから聞くけど、
「お気に入り」って言うのがAccess2000以降のバージョンに
あるの?


613 :NAME IS NULL:04/02/27 23:18 ID:???
>>611
VBAなんてAccessにしかないものだから他のRDBMSの理解にはつながらない。
クエリをSQLビューから自由に作れるようにした方がいいな。

614 :NAME IS NULL:04/02/27 23:33 ID:???
テーブルデータをフォーム上からチェックボックスを使って表示したいのですが、
チェックがオンの時には1と入力されたもののみ表示。
チェックがオフの時にはすべてを表示したいのです。
クエリのフィールドと抽出条件はどのようにすればよろしいでしょうか?

access2000 win2000 です。 どなたか教えてください

615 :NAME IS NULL:04/02/27 23:45 ID:???
>>613
>VBAなんてAccessにしかないものだから・・・

ということは、
Visual Basic for Access ですか?(w

616 :NAME IS NULL:04/02/28 00:00 ID:???
>>611
ASPでDB扱う方法は覚えやすくなるよ。
AccessやSQLServerじゃなくても、oo4oあたりも、ADOやDAOと似てるし。
DBの理解はできんが、DBの扱い方はちょっと覚えられる。


617 :NAME IS NULL:04/02/28 02:11 ID:???
先輩、インポートをインポって言うのやめてください、セクハラです。

618 :NAME IS NULL:04/02/28 02:28 ID:???
作業用に「インポート」っていうテーブル作ったんだけど、
作業で窓をいっぱい開くと、タスクバーに「インポ」って載ってて
ちょっと鬱。

619 :NAME IS NULL:04/02/28 06:51 ID:+w6dv8bo
え?>>612
Access97 には「お気に入り」ってないんですか?

620 :612:04/02/28 07:39 ID:???
>>619 はい

621 :NAME IS NULL:04/02/28 09:54 ID:???
>>615
揚げ足取るな低脳。

622 :NAME IS NULL:04/02/28 14:59 ID:???
>>613
ストアドプロシージャ書く下積みにはなるんじゃないかと。
まあ構造化言語だったらなんでもいいという話も。

623 :NAME IS NULL:04/03/06 12:23 ID:aj8nNqyj
Accessのテーブル同士で張るリレーション(?)って
Access特有の機能ですよね?

624 :NAME IS NULL:04/03/06 15:20 ID:???
参照整合性制約っていう意味ならAccess以外のDBMSにも普通にあるよ。

625 :NAME IS NULL:04/03/07 01:02 ID:aqhIYym3
いままでときどき、Windows Update で
Jet データベースエンジンに関するアップデートがあったんですが、
これってAccessの動作にも影響を与えているんでしょうか?

626 :625:04/03/07 02:27 ID:aqhIYym3
http://support.microsoft.com/default.aspx?scid=kb;JA;239114
これを見ると、どうやら、Windows Update の
Microsoft Jet 4.0 Service Pack 7 (SP7) 用推奨修正プログラム
は Access 2000 にも影響があるみたいですね。

627 :625:04/03/07 03:18 ID:aqhIYym3
[ACC2000] Jet 4.0 の使用時にデータベースの破損を最小限に抑える方法
http://support.microsoft.com/default.aspx?scid=kb;JA;300216
こんなのもあったのか…

628 :NAME IS NULL:04/03/08 00:10 ID:???
>>625
Access2003では最新版を導入しないと動かない

Accessのセキュリティを下げれば動いたと思うが・・・

629 :NAME IS NULL:04/03/08 20:30 ID:???
Access の組み込み言語(?)が C# だったら、
どんなに使いやすいだろう…

630 :NAME IS NULL:04/03/08 20:57 ID:???
>>629
いや、そうなるんだけど。

631 :NAME IS NULL:04/03/08 20:59 ID:???
>>630 え?そうなるの?いつから?
もしかして 2003 ではそうなっているのかな?
俺、2000ユーザ。

632 :NAME IS NULL:04/03/08 20:59 ID:???
C#はいま Sharp Develop でいじって遊んでる。

633 :NAME IS NULL:04/03/08 21:01 ID:???
2003 ではまだ.Netネイティブじゃない。

634 :NAME IS NULL:04/03/08 21:03 ID:???
>>633 今後 Office シリーズは .net ベースになるのかな?
とすると、.net フレームワークさえ実装すればいい、って時代が来る?
Javaで果たせなかった夢を果たすことができるのかな?

635 :NAME IS NULL:04/03/08 21:03 ID:???
>>633 つーことは、Access2003はまだ普通にVBA?

636 :NAME IS NULL:04/03/08 22:07 ID:???
は?組み込みって?

637 :NAME IS NULL:04/03/08 22:22 ID:???
Access2003はまだVBA。
ただWordとExcelには
http://www.microsoft.com/japan/msdn/vstudio/office/productinfo/
がある。

638 :NAME IS NULL:04/03/09 00:05 ID:???
>>637
Accessランタイムがついているが・・・


639 :NAME IS NULL:04/03/09 02:35 ID:???
ネットワーク上にMDBファイルがあり、
その中に1GBのデータが格納されている
テーブルがあったと仮定する。

JetでそのMDBにアクセスし、
その1GBのテーブルについて検索をかけた場合、
JetってSQLエンジンが各ローカル(クライアント)PCに
あるから、1GBのテーブルデータ
を全てローカルに持ってきてから検索するのかな?
インデックス検索ならば対象テーブルのインデックスデータ全て
持ってきて検索し、その後、テーブル情報を持ってくるのかな?

640 :NAME IS NULL:04/03/09 12:25 ID:???
>>639
つーかクエリ(SELECT 〜 WHERE)を投げて
レコードセット取得して操作ではダメなのか?


641 :NAME IS NULL:04/03/09 13:11 ID:mFU/pbhM
>>640
そのクエリの内部のメカニズムを聞いてます。

鯖系DBMSではクエリーのwhere句による絞り込み検索する場合、
対象テーブルデータに対し、where句の条件に適合した
結果セットを作成するのは「サーバマシンの処理」であり、
クライアント側(クエリ発行側)は
その作成された結果セットだけに対して
アクセスを行えばいいのですが、

クエリを投げるといっても、Jetの場合、
「Jet(エンジン)はローカルPCにある」ので、
例えwhere句で絞り込みを行うにしても、
Jet搭載マシン=自分のマシンに
テーブルの全データ(対象テーブルの全インデックスデータ)
を一旦持ってきてからでないと、
where句による検索不可能ではないかな?
ということです。


642 :NAME IS NULL:04/03/09 14:16 ID:???
>>641 持ってきていると思いますが。
MSDEでも使ったほうがいいかと。

643 :NAME IS NULL:04/03/09 14:23 ID:???
そいういや、MSDNとMDBの間のレプリケーション(?)ってできたのかなぁ。

644 :NAME IS NULL:04/03/09 14:35 ID:???
どう考えてもMSDNはレプリケーションできんだろw

645 :NAME IS NULL:04/03/09 14:41 ID:???
>>644 すまん… てか、MSDEって読み替えてくれよ(笑

MSDE に入ってるテーブルを部分レプリケーションシテ、
ローカルにMDBファイルとして持っておいて、
出先でデータ入力&修正。

会社のイントラネットにアクセスできる場所にたどり着いたら
同期したいな〜っておもってるんですが。

自前で同期させるアルゴリズムをVBAで実装しなきゃならないのかなぁ。

646 :NAME IS NULL:04/03/10 00:15 ID:???
>自前で同期させるアルゴリズムをVBAで実装しなきゃならないのかなぁ。

そのとおり。


647 :NAME IS NULL:04/03/10 22:33 ID:6LDN5Kh1
質問します。
皆様の中でAcessからSQLサーバへのデータの移行をしている人はいると思います
聞きたいことは、データは単純に移行できるのですがフォームやそれに対応している
クエリーなどはどうなのでしょうか?
やはり新しいデータをadp形式を使ってリンクし直して
作り直さなければいけないのでしょうか?
今まで作ったフォームをそのまま使いたいのでデータ移行だけフォームを使うことは
可能なのでしょうか?なにか知恵はないのでしょうか。またはサイトだけでも教えて頂ければ
と思っていますが。よろしくお願いします


648 :NAME IS NULL:04/03/10 23:37 ID:???
パラメータクエリ等はストアドを作成します
アクションクエリもそのまま移行は出来ません
そのまま使いたければデータだけ移行して
ODBC接続ではどうでしょうか?
SQL Server移行のメリットは減りますが

649 :NAME IS NULL:04/03/10 23:58 ID:???
>>647
既存のロジックをそのまま生かしたいなら
元々使用していたテーブルを
移行後のテーブルに対し、リンクテーブルを作成、使用する
しかないと思う。

650 :NAME IS NULL:04/03/11 00:02 ID:???
ちょっと日本語が間違ってた...
s/元々使用していたテーブルを
移行後のテーブルに対し、リンクテーブルを作成、使用する
/元々使用していたテーブルをSQL鯖に移行し、
そのテーブルに対し、リンクテーブルを作成、使用する


651 :NAME IS NULL:04/03/11 00:29 ID:3+zU4jQu
ありがとうございます。
データベースはアクセス2003でテーブル構造を変えずに元のフォームをそのまま使えるかどうか
を調べたのですがよくわかりませんでした。結局、フォームは使えないんですね。
手間がかかりそうですね。ODBC接続は知っていのですが。
データだけ移行して使えるのは考えが甘すぎたのかも・・・・・
でも結構こういう案件は多いのでは


652 :NAME IS NULL:04/03/11 08:56 ID:???
たまに、MDBファイルを閉じて、次に開くと空っぽになってることがある…
ガクガクブルブル…

653 :NAME IS NULL:04/03/11 09:05 ID:???
>>651
つーか、DB(MS)を変更すること自体
システムを作り直すのと同じ

案件多いけど、スクラップ&ビルドだろうな

654 :NAME IS NULL:04/03/11 18:13 ID:3+zU4jQu
というこは、VBかVB.netで作り直すことになる?
ビルドということは再構成。VBAのところぐらいは再利用になるのですね。
アクセスで適当に作ったのは全部アボーン?
何かいい手はないですかね。
データベースだけ移行してフォームは再利用は甘かった?

655 :x:04/03/11 18:49 ID:???
>>654
再利用も不可能じゃないと思うけど、現有資産にこだわるより
ロジックだけ継承して、全て再構成する方がきっと幸せになれるよ。

656 :NAME IS NULL:04/03/11 19:24 ID:???
DBだけ移行→テストで不具合発見→原因を探る→・・・作り直した方が早いな・・・

657 :NAME IS NULL:04/03/11 19:29 ID:???
スクラップ&ビルドのまとまった予算がなかなか下りないんだよな。
手持ちの予算ですこしずつやりくりして、けっきょく泥沼にハマる。

658 :NAME IS NULL:04/03/11 19:55 ID:kuIT7cQV
Accessでオートナンバー型をやめて
Dmaxを使った自動採番にしようと思っているのですが、
分からないので質問させてもらいました。

挿入前処理で
H16-0001といった風に番号をつけたいのですが、
ハイフンを入れることもできるのでしょうか?
できるとするなら、コードを教えてください。



それと以前、自動採番に挑戦したとき、
テーブルのデータが何もなしの状態で
Dmax+1を使用したら、番号がつきませんでした。

テーブルデータがない場合の対策も教えて頂きたいです。
よろしくお願いします。




659 :shun:04/03/11 20:28 ID:jNp4wpqc
アクセスのフォーム上の人物データを基に、アウトルック2000の連絡先フォルダ内のサブフォルダにメールアドレスを追加したいのですが、何か方法はありますか?
連絡先フォルダに入れるのは出来るのですが、サブフォルダにいれる方法がわかりません。もちろん手動でなら出来るのですが、アクセス上からボタン一つで自動化したいのです。


660 :NAME IS NULL:04/03/11 22:28 ID:FdHERjFn
アクセスの表でフィールドと型を表示してドキュメントに
まとめたいのですがアクセス順に表示させることのできる
ツールてないですかね?できればフリーで
ハードコピーはしんどいの。プログラムはアクセスで表示
させたときの順序が違うのでNG?
なんかないですかね


661 :NAME IS NULL:04/03/12 00:19 ID:???
とんとかいも氏のオブジェクト名ユーティリティでドゾー

662 :NAME IS NULL:04/03/12 01:03 ID:/HcWdJQD
ありがとうございます
フィールドの内容と型だけなので本をみて作りました。
Dim rs As Recordset
Dim i As Integer
Dim u As Integer
Dim kind As String

Set db = New Connection
db.CursorLocation = adUseClient
db.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=C:\ファイル;"

Set rs = New Recordset
rs.Open "select * from テーブル", db, adOpenStatic, adLockOptimistic
i = rs.Fields.Count - 1
For u = 0 To i

Select Case rs.Fields(u).Type
Case 202
kind = "テキスト"
Case 2
kind = "数値"
Case 3
kind = "数値"
Case 11
kind = "YES・NO型"
End Select

Text1.Text = Text1.Text & Str(u + 1) & " " & rs.Fields(u).Name & " " & kind & vbCrLf
rs.MoveNext

Next u
rs.Close


663 :NAME IS NULL:04/03/12 20:08 ID:v/nijgT3
コンボボックスの値をそのまま入力せずにたとえばAという値なら1を、Bという
値なら2をみたいにテーブルに登録するときに対応づけたいのですが、
いい方法ありますか?モジュールだとどのような記述になりますか?

664 :NAME IS NULL:04/03/12 21:00 ID:4XGPg6Tq
>>663
すごい質問だな
かなりワロタw

665 :NAME IS NULL:04/03/12 23:32 ID:???
>>663
おまいさんはAccessでのコンボボックスの使い方を
もう少し勉強する必要があるな。
ウィザードが使えるならそれを使えば良いし、慣れれば
普通に手で設定できる。 モジュールなんて不要。

666 :NAME IS NULL:04/03/13 15:32 ID:???
>665
それがですね、if文やcaseをつかってやっていたのですが、3つの
コンボボックスがあってそれぞれのボックスの値が5つずつありまして
それをやると5×5×5通りの条件文を書かなければならないと思って
もっと手軽な方法をってさがしていました。
たとえば果物っていう項目があるとするなら
みかん、りんご、バナナ、メロンとあるとします。
コンボボックスにはそのまま表示させますが、
テーブルに登録するときにはみかんを選択したら1、りんごは2
バナナは3、メロンは4というふうにしたいと思ってました。
その方法がしりたくて。

667 :NAME IS NULL:04/03/13 16:20 ID:???
つぶやき用AA用意しましたんで、存分にお使い下さい

(´-`).。oO(・・・)


668 :NAME IS NULL:04/03/13 18:25 ID:???
初心者なんだからちゃんと答えてやればいいじゃん

669 :NAME IS NULL:04/03/13 18:45 ID:???
(´-`).。oO(デザイン画面をよーっく見てみよう)

670 :NAME IS NULL:04/03/13 18:55 ID:???
(´-`).。oO(ウィザード使ってからプロパティ見ればいいのに)

671 :NAME IS NULL:04/03/13 23:48 ID:wUIFvOfa
まったくのシングルユーザで使っているのに、
MDBファイルが壊れることがあるってのは納得いかないなぁ。

672 :NAME IS NULL:04/03/14 14:41 ID:???
使い方だろ。勝手に壊れることないけどな。

673 :NAME IS NULL:04/03/14 23:30 ID:Op1lHktA
OS:W2000ps
Access Version:Access2000 SR-1
MSDEをインストールして、Access2000よりアップサイジングを行おうとすると、古い一時的な作業データベースがあるため作業ができないと表示されます。
古い一時的なデータベースを削除後再度実行してくださいと出るのですが
どのファイルを削除したらよいのかわかりません。
誰かわかる方がいらっしゃいましたら教えて下さい。

674 :NAME IS NULL:04/03/15 03:08 ID:WeH+Xi1G
修復可能ぐらいにMDBファイルを壊す方法ってありますか?



675 :NAME IS NULL:04/03/15 03:44 ID:???
ビット反転でもかけるとか。

676 :NAME IS NULL:04/03/15 14:12 ID:???
>>666
で、コンボボックス用のウィザードは使ったのか?
ウィザードを使う前に下のデータが入ったテーブルを
用意しろよ。
1:みかん
2:りんご
3:バナナ
4:メロン

後はウィザードで上のテーブルを指定するだけ。
デフォルトでコードは隠して登録、名前は表示だけで
登録はされないようにしてくれるはず。

>>671
フリーズしたのでタスクマネージャからキルしたり
VBAデバッグ停止中に急にAccessが落ちたり、
馬鹿みたいにコントロールが張られているフォームを
何回も修正するとよく壊れる。


677 :NAME IS NULL:04/03/15 22:25 ID:JHR0TViG
Access97ってデフォルトではDAOを使うようになってますが
ADOは使えますか?例え使えたとしてもデフォルトではないので
使うべきではない?

678 :NAME IS NULL:04/03/16 12:21 ID:???
>>677
全然問題無く使える
参照設定いぢるべし

679 :NAME IS NULL:04/03/16 13:30 ID:7GTJZR1Z
テーブル内のデータの集計のやりかたがいまいちわからないので><
1.ABCDE
2.ABCDE
3.ABCDE
とかの時に、Cだけの集計をとりたいとき等はどうしたらいいでしょうか?

680 :NAME IS NULL:04/03/16 14:09 ID:???
>>679
Cというのがカラム名ということなら
select sum(c) from テーブル

Cというのがデータということなら
select sum(カラム) from テーブル
where Cというデータが入っているカラム= 'C'

681 :NAME IS NULL:04/03/16 16:47 ID:kOORlT+2
>>676
> フリーズしたのでタスクマネージャからキルしたり
> VBAデバッグ停止中に急にAccessが落ちたり、
> 馬鹿みたいにコントロールが張られているフォームを
> 何回も修正するとよく壊れる。

あるある。そう、そういうシチュエーションで壊れるんだよね…
そのときやってた作業の内容が失われるのは仕方ないとして、
MDBファイル自体が壊れちゃうのは困るよなぁ。

まぁこまめなバックアップをとるしかないんだが…
わかっちゃいるけど、ね。

682 :NAME IS NULL:04/03/16 20:27 ID:e9hPvJ0j
>>678
ありがとうございます。ちゃんと使えますね。
でも、Access97ではDAOと比べるとADOはかなり速度が落ちると
聞いたのですが、どうなんでしょうか?
汎用性を考えて(今後2000へ移行することを考慮して)、
ADOで作りたいのですが。

683 :NAME IS NULL:04/03/16 21:48 ID:???
2000も普通にDAO使えますよ?

684 :NAME IS NULL:04/03/16 23:41 ID:???
AccessのクエリのSQLビューで

CREATE VIEW hoge
AS SELECT * FROM t_hoge;

とすると、「CREATE TABLEステートメントの構文エラーです」という
エラーが出るんですけど、AccessにはCREATE VIEW構文って無いの?

685 :NAME IS NULL:04/03/17 00:32 ID:???
>>684
まさか、ADPじゃなくMDBって落ちじゃあないだろうな・・・

686 :NAME IS NULL:04/03/17 01:34 ID:???
>>685
その「まさか」のような気がしてならない…

687 :NAME IS NULL:04/03/17 20:18 ID:???
Accessではクエリ=ビューだって言うから
CREATE VIEWでできるとおもってたんだけど出来ないのか。
つーか、もちろんmdbなんだが。

688 :NAME IS NULL:04/03/18 00:32 ID:m9rDweI8
VC6 & ADOで、mdbのデータベースパスワードを変更したいのですが、
JROをインポートしても、それらしき関数が見当たりません。
ご教授をお願いします。

689 :NAME IS NULL:04/03/18 01:51 ID:bR7Mgfz2
今ここのスレで祭り状態。ユーコってやつが日本がhomeで一勝でも出来たらヌード画像晒すって言ってた。
それで16日のレバノン戦で日本が勝ったから大騒ぎ!周りのやつが脱げ脱げって騒いでついに晒させた!
しかも結構かわいい!すっげぇ祭り状態!もうすぐ1000超えそうだから早くおいで!ここのスレで見れるよ。
http://tmp2.2ch.net/test/read.cgi/mog2/1076074534/l50
152 名前:ユーコ :04/03/16 17:05 ID:SZpRj0sm
わかった、日本がレバノンに勝てたら私のヌード画像晒してやるわよ!
153 名前:名無しさん◎書き込み中 :04/03/16 17:06 ID:PaBD9jNB
言ったなw みんな覚えとけよ!
256 名前:名無しさん◎書き込み中 :04/03/16 19:45 ID:SZpRj0sm
おっしゃ!ゴール!!うpしろうpしろ!
259 名前:ユーコ :04/03/16 19:47 ID:SZpRj0sm
はぁ?まだ前半20分じゃん。これから逆転されるわよ。
308 名前:玉の輿 :04/03/16 20:36 ID:uHsa/6Kq
マジかよ・・・レバノン・・・(涙)
319 名前:名無しさん◎書き込み中 :04/03/16 20:37 ID:SZpRj0sm
ゴール!信じらんねぇwww
350 名前:玉の輿 :04/03/16 20:57 ID:uHsa/6Kq
日本が勝ったわけだが…
351 名前:名無しさん◎書き込み中 :04/03/16 20:57 ID:tdEaD5sL
ユーコヌード画像うpしろうpしろ!!!
758 名前:ユーコ :04/03/17 23:36 ID:SZpRj0sm
わかったよ。約束通り晒すわよ…

(ここでうpされますた。)
760 名前:名無しさん◎書き込み中 :04/03/17 23:36 ID:atOaw/sA
>758
キター!女神降臨!!!
764 名前:名無しさん◎書き込み中 :04/03/17 23:37 ID:SZpRj0sm
ぬぉー!!!!!!激しく勃起!

690 :NAME IS NULL:04/03/18 18:21 ID:???
Jetデータベースのバージョンの
メジャーなアップデートはいつ?

ずっと4,0

691 :NAME IS NULL:04/03/18 18:38 ID:???
Jetの次のバージョンではストアドに対応して欲しいなぁ。

692 :NAME IS NULL:04/03/18 18:56 ID:TMOsz30I
フォームで名前で文字を検索すると
住所や電話番号などの多数の項目が検索できるDBを
つくりましたが、名前も完全一致でないとだめなんです。
そこであいまい検索できるようにしようと思っていたのですが、
それだと一件しか表示されないことがわかり、別のウィンドーに
表示させることを検討しましたが、数百件すべてのウィンドーを
表示というのは不可能です。オートフォームみたいに
フォームの左下にあるボタンを押して先探すみたいなことしたいのですが
どうしたらいいでしょうか?

693 :NAME IS NULL:04/03/19 01:21 ID:???
>>692
Form.Filter = "Like '*" & 名前文字列 & "*'"
Form.FilterOn = True
ぢゃだめなのか?


694 :NAME IS NULL:04/03/20 16:47 ID:???
AccessのDBに、クエリかマクロかを使って順位を振り当てる方法はありませんか?

695 :NAME IS NULL:04/03/20 16:51 ID:???
あああ、同じ質問がありました。すいません。

696 :NAME IS NULL:04/03/20 19:47 ID:???
>693
フォームがあってその上に3つのタブがあってそこに名前や住所などの項目
のテキストボックスがあるんですが、複数のテーブルのフィールドから
フルネームによる検索をしてそれぞれのテキストボックスに表示させる方法
なんですよ。でもそれってフルネームいれないと検索できないっていう弱点
がありまして、それであいまい検索とかしたいと思っていまして
たとえば山田っていう苗字の人を全部出したいとか思ったときに数十、数百
っていうウィンドを表示させることはできないので前にも言いましたとおり
フォームの左下のボタンを押すことによって先に進む方法があればと思って
ました。

697 :NAME IS NULL:04/03/21 10:34 ID:cdbpXFAE
VBAでAccessのバージョンを調べる方法はありますか?
具体的には97か2000以上かを判別したいのです。

698 :NAME IS NULL:04/03/21 10:45 ID:???
>>697
Application.Version は?(自分では使ったことが無いんで結果は知りませんが)


699 :NAME IS NULL:04/03/21 10:46 ID:???
イベント プロパティに指定した式 クリック時 でエラーが発生しました: Microsoft Access が OLE サーバーまたは ActiveX コントロールと通信
しているときにエラーが発生しました。
*マクロ名、ユーザー定義関数名、[イベント プロージャ]以外の式が指定されています。
*関数、イベント、マクロの評価でエラーが発生しました。
というエラーが出てしまうのですが原因がまったく分かりません。
良い解決法をご存知の方いらっしゃいませんでしょうか?
Option Compare Database
Option Explicit
Private Sub cmd確認_Click()
If Me!txtA Like "[あ-お]*" Then
MsgBox "「あ行」の文字"
Else
MsgBox "違います"
End If
End Sub
あ行かどうかを判定するプログラムです。
テキストボックスにはtxtAという名前で指定してあります。
もう頭が痛いです。・゚・(ノД`)・゚・。

700 :NAME IS NULL:04/03/21 13:59 ID:???
VBAでレコードの行位置を取得するプロパティを探しています。
調べてみたけれど分からないです。;;
宜しくお願いします。

701 :NAME IS NULL:04/03/21 15:16 ID:???
>>698
レスありがとうございました。

Msgbox Application.Version

とやると、「メソッドまたはデータメンバがみつかりません」
というエラーが出てしまうので、他の方法を調べてみたところ、

SysCmd(acSysCmdAccessVer)

という方法で解決できました。
お手数をおかけしました。

702 :NAME IS NULL:04/03/21 15:18 ID:cdbpXFAE
Access97ってもしかしてFROM句のサブクエリーって使えないの?

703 :NAME IS NULL:04/03/21 17:53 ID:xjgFf/sf
Accessの日付入力で楽をするために、
日付を入力部分をコンボボックスにし、
選択するときに、1ヶ月分のカレンダーを表示させ、
キーボードを使わずに入力できたらいいなと思っていますが
そんなことできるのでしょうか?
できるとするならば、やり方を教えてください。

よろしくお願いします


704 :NAME IS NULL:04/03/21 18:32 ID:Ufx7Jkph
>>703
そんなことするぐらいだったらカレンダーコントロールの方がいいんじゃないの?

705 :NAME IS NULL:04/03/21 21:04 ID:xjgFf/sf
>704

やり方を教えてください。お願いします

706 :NAME IS NULL:04/03/22 02:56 ID:???
100年分ぐらいのカレンダーテーブルをつくる
クエリで月だけのフィールドを足し、抽出条件を当月にする
そのクエリをコンボボックスのレコードソースにする


707 :NAME IS NULL:04/03/22 03:01 ID:???
そして100年後に2104年問題発生

708 :NAME IS NULL:04/03/22 12:35 ID:???
>>703
Access2000だったらOffice Developer版を購入し、DTPickerコントロール使うとか。
(ってもう売ってない?)

709 :NAME IS NULL:04/03/22 18:40 ID:???
>>706
それってナイスアイデアだよね。

710 :NAME IS NULL:04/03/22 19:09 ID:Uyn8edfq
>>700
AbsolutePosition

711 :NAME IS NULL:04/03/22 19:31 ID:wtIb2g3E
質問です。
規定値でID番号を自動で取得させているのですが、
現在は
=IIf(DMax("フィールド名","テーブル名","フィールド名 Is not null") Is Null,1,
DMax("フィールド名","テーブル名","フィールド名 Is not null")+1)

を使用していて、普通に1,2,3と増えていくだけなのですが、
これをH16-1、H16-2、H16-3といった具合に変えたいのですが
うまくいきません。

どうか良きアドバイスをお願いします


712 :NAME IS NULL:04/03/22 22:00 ID:???
カレンダーコントロールマウスでしか入力できないのでしょうか?
キーボードで入力したいのですが・・・・


713 :NAME IS NULL:04/03/22 23:58 ID:???
>>703

100年分のカレンダーを作るのもめんどいので、
まず t_hoge テーブルのDATE_SEQフィールドに1〜31の数字を入力し、
コンボボックスのレコードソースに

SELECT t_hoge.DATE_SEQ FROM t_hoge _
WHERE (((t_hoge.DATE_SEQ)<=Day(DateSerial(Year(Date()),Month(Date())+1,0))));

を入れるとよろし。
あとは、当月の年・月を取得してDateserial関数で日付にするとよろし。

714 :NAME IS NULL:04/03/23 00:18 ID:jRpEYr+Q
703です。

DTPickerコントロールというのを見つけたのですが、
これは難しいでしょうか?

715 :NAME IS NULL:04/03/23 16:49 ID:???
Office 2003 Home エディションがインストールされているパソコンを買った。
Accessが入っていなかったので、Office 2000 Professional から
Access 2000 をインストールしてみた。

よかったんだろうか…

716 :NAME IS NULL:04/03/24 01:32 ID:???
いいよ

717 :NAME IS NULL:04/03/24 13:42 ID:???
>>716 Office 2000 をインストールするとき、
インストールするディレクトリの名前をデフォルトの Microsoft Office から
Microsoft Office 2000 なんて感じで変更しておけば問題ないみたい。
あとはちゃんと Office Update をすればいいみたいだ。

なにせ、Microsoft のページには異なるバージョンのOfficeを同居させるのは
好ましくはないが、どうしてもやりたかったら古いバージョンから順に
インストールするように、ってかかれていたんで、プリインストールの場合も
いったんそれを削除しなきゃならないのかと思ってたんだが、
面倒なので Word 2003 とか Excel 2003 がインストールされている状態の
上から PowerPoint 2000 と Access 2000 をインストールした。

今のところ問題なし。

718 :NAME IS NULL:04/03/24 13:56 ID:???
テーブルとかクエリが山ほど増えてくると、
自分なりの名前付けの規則をつけていても
階層化して整理したくなりません?
そういういのって無理なんでしょうかね。

719 :NAME IS NULL:04/03/24 15:16 ID:???
山ほど増える前に名前付けの規則を作っておかないと・・・
名前変更は大変だべー

720 :NAME IS NULL:04/03/24 15:45 ID:???
>>719 ですね…
一般のプログラミングでの変数、クラス、関数なんかと同じように
名前付けの規則だけは作って守ってるんで
不用意な重複とかはないんですが、
一覧表示のウィンドウでそれを反映した表示になってくれればいいなぁ、
という無理な要求。

721 :NAME IS NULL:04/03/24 15:51 ID:bJpPIPwG
>>717
Format(Date, "yyyymmdd-01")なんてやると

「コンパイルエラー
 プロジェクトまたはライブラリが見つかりません」

てでませんか?

722 :NAME IS NULL:04/03/24 18:23 ID:???
>>720
自分は名前と説明欄の命名?規則を作り、
2系統の並べ替えが可能なようにしてます。


723 :NAME IS NULL:04/03/24 20:38 ID:???
>>720
Access2000以降ならデータベースウィンドの「グループ」を
うまく使えば?

724 :NAME IS NULL:04/03/25 10:10 ID:???
DAOを使ったプログラム講座のサイトとか、リファレンスを置いているページってあります?

725 :NAME IS NULL:04/03/29 16:05 ID:???
レコード数が10万件くらいになりそうなテーブルが2・3個あるのだが
検索とかクエリ開く時間が気になります。
余裕で使える範囲でしょうか?

726 :NAME IS NULL:04/03/29 20:13 ID:???
余裕
300万件ぐらいやったことがある

但し、設計に寄るが・・・

727 :NAME IS NULL:04/03/30 11:22 ID:???
>726
詳しくオシエテ。


728 :NAME IS NULL:04/03/30 12:33 ID:???
テキストボックスに4文字以上いれるとメッセージを発する
プログラムを作りたいのですが、MIDやLENじゃできません。
いい方法はありますか?


if me!テキストボックス > 4文字以上 then
msgbox("4文字以上はダメ")
else
・・・・
END if

の4文字以上って所をどのような記述にすればいいでしょうか?


729 :NAME IS NULL:04/03/30 13:10 ID:???
Lenでできるでしょ。

If Len(Me!テキストボックス) > 4 Then
msgbox "4文字以上はダメ"
else
・・・・
END if


730 :726:04/03/30 21:16 ID:???
keyは2つ以上あったほうがよい
そのうちのひとつを大雑把に絞り込める分類などにしておいて
indexの順番を最上位にしておき、まずここで絞り込む

これで少ない単語のLike検索とかしない限り普通のスピードだった

直接ソースにつなげるとか、コンボやリストボックスに使うのは無謀だと思う


731 :NAME IS NULL:04/03/30 23:30 ID:IC5Ys4Za
レコード数10万件ってaccessで充分運用できる数なの?
たまに聞くけどmdbが破損するってよくある事なんでしょうか

732 :NAME IS NULL:04/03/31 00:26 ID:4PESV2WG
>>731 MDBの破損は件数の多少に関係なく起こる気がする。
やだなぁ。

733 :NAME IS NULL:04/03/31 01:08 ID:???
システム開発には詳しくない運用部署の者ですが
うちの部内システムがフロントエンドを含め全て
Access95で作られてて、テキストファイルから
千件のデータを取り込むのに一時間かかってしまうとか
一事が万事こんな調子です。
データベースってこんなに取り込みが遅いもんなんですか?

734 :NAME IS NULL:04/03/31 02:07 ID:???
>>733
マシンスペックがショボイに一票!

735 :NAME IS NULL:04/03/31 06:43 ID:WeVO/eiK
>>734 いやぁ、それでもちょっとかかりすぎだろう。
メモリが足りなくてスワップがりがりしまくりならありえる話だが。
メモリが足りていれば1000件で一時間はかかりすぎ。

736 :NAME IS NULL:04/03/31 08:44 ID:???
>730
やはりそうか。リストビューやコンボにいれるのにかかっていた時間は省けないのね。。
レプリカの同期も時間かかりすぎ。。。

サンクス。



737 :726:04/03/31 10:54 ID:???
>736
ローカルに必要なデータだけ吐き出して
それを参照すれば (・∀・)イイ!!

738 :NAME IS NULL:04/03/31 22:13 ID:???
>>735
 御意
 テキストのインポート処理自体の前後で何か
やっているとか、Access95の機能を使わずに
VBAで無理やり処理していれば、内容によっては
ありえるかも。
 一行読み込んでは既存のレコードを検索して
突合せをして、加工処理をして登録して・・・

739 :NAME IS NULL:04/04/03 13:57 ID:???
ACCESS2000で、CGIからSQL文で1つのフィールドに対してビットで検索する、
(たとえば、SELECT * FROM TABLE_A WHERE (FIELD_A AND 4)=4
FIELD_Aの中で4=(2進数の100)で3つ目のビットが立ってるものだけ取り出す)
みたいなことって出来ないんでしょうか?
(604でも同様の質問が出てたみたいですけど)
MYSQLでは出来てるみたいなんですが。



740 :NAME IS NULL:04/04/04 14:36 ID:???
>>739
標準モジュールで
Public Function bitand(a, b)
  bitand = a And b
End Function
みたいに関数を作ってから
SELECT * FROM TABLE_A WHERE bitand([FIELD_A],4)<>0
とやればとりあえず目的達成だと思います(当方Access97)。
けど、SQLの中だけでなんとかしたいでしょ? 私もなん
とかしようとしたんだけど、And演算の結果がtrueかfalse
にしかならなくてうまくできなかった。スマソ


741 :739:04/04/04 17:23 ID:???
>>740
レスありがとうございます。
そうですか、やっぱりそれしかないですか。
私も観念します。

742 :NAME IS NULL:04/04/06 21:57 ID:hj56WCL/
Access2000以降でもmdbへの接続はADOよりDAOの方が
速いのでしょうか?

743 :NAME IS NULL:04/04/06 23:55 ID:???
>>742
 はっきり言って、今のPCでは体感出来るほどの差は
出ない。
 厳密に計測すれば、DAOの方が有利とは思うが。

 ちなみに、ADOでmdbに接続する場合、レコードセットの
レコードを削除すると、連結先のテーブルのレコードまで
削除されると言う仕様になっていて悩まされる訳だが。
 削除されないようにSQL文を工夫して記述するとエラーに
なるしね。

744 :NAME IS NULL:04/04/07 03:39 ID:+okfhixC
ループ処理で10万件ほどINSERTを繰り返すんですけど、
そうなるとかなり違ってきますか?

745 :NAME IS NULL:04/04/07 09:37 ID:???
>>744
とりあえず、ためしてみれば?
みんな細かい条件がわからないから何とも言えないでしょ。

ちなみにADOだとDBがMDBの場合、SQL文でINSERT INTOで追加するより
レコードセットでAddNewする方が速いらしい。



746 :NAME IS NULL:04/04/07 10:43 ID:juPhD3PG
ACCESS2000を使用して開発しているのですけれども、
ACCESSのラベルってリフレッシュする機能は無いのでしょうか?

VBだとラベル名.Refresh
で実現できたのですが・・・。

ループして行う処理の中でラベルのキャプションを更新しているのですが、
何にも表示してくれなくて困っています。

うまくRefreshさせる方法、ありませんでしょうか(;´Д`)

747 :NAME IS NULL :04/04/07 11:52 ID:???
>746
RepaintObject

748 :NAME IS NULL:04/04/07 12:11 ID:???
>>747タンありがd
無事出来ますた。・゚・(ノД`)・゚・。

749 :NAME IS NULL:04/04/10 15:30 ID:swVl7Jrl
アクセス大大大初心者です。
基礎の基礎がわかりません。どなたか助けてください(つД`)
ちなみに本は3冊買いました・・

売上管理のDBを作っているのですが、売上データを入力するフォームに
商品番号と商品名を入力するフィールドを複数(3つくらい)おきたいのです。
両方ともコンボボックスで選択入力可能にするつもりです。
いわゆる単票形式と帳票形式の合体してるフォームです。

コンボボックスの作り方などはわかったのですが、フォームに複数の同じ番号、
商品名が選択できるフィールドの作り方がさっぱりわかりません・・・・。
どのようなテーブルとフォームを作成すればよいのでしょうか?
何か参考になるサイトなどがあったらどうか教えてください!

かなりDQNな質問で失礼いたしました。

750 :NAME IS NULL:04/04/10 15:42 ID:???
>749
本は買うだけじゃなく、読んで実際に作り理解する所までやらないと意味が無い。
入門書の内容を一通り理解する事が一番の近道。
手取り足取り教えて欲しいなら金払って習いましょう。

751 :749:04/04/10 15:49 ID:swVl7Jrl
>>750
買った本の何処にも求めているものが載っていなかった者ですから。汗

ちなみにフォームウィザードで複数のテーブルから項目を選択すると
フォームが真っ白(というか灰色)でフィールドが何もありません。
これはバグなのでしょうか?バージョンは2003でOSはXPです。

752 :NAME IS NULL:04/04/10 16:16 ID:???
載ってないとできないのはつまり理解できてないって事でそ。

753 :NAME IS NULL:04/04/10 17:21 ID:???
 それよりも、データベースの概念とデータの持ち方と
言った基礎の基礎知識を勉強する事を強くお薦めする。
 そこらの解説書に載っているのは操作方法とフォームの
作り方と、そんなもんだよね。
 基礎知識が無いと躓くんですよ。

754 :NAME IS NULL:04/04/11 17:39 ID:3/Zh3u3a
質問です!どなたか知ってたら教えてください。
Access2000では、Access97形式のDBを読込・出力することができますが、
Access2003では、Access97形式のDBを読込・出力することができるでしょうか?

バージョンの異なる作業環境が複数あり、かつ今度新しく
Access2003を購入しても良いものかどうかを確認したいのです。

755 :NAME IS NULL:04/04/13 09:58 ID:gnd8mqEl
>>751

>>753の言うとおり、Accessの知識どうこうではないと思う。
少なくともあなたのやらんとしていること程度なら即興で1時間くらいで作れるよ。

>コンボボックスの作り方などはわかったのですが、フォームに複数の同じ番号、
>商品名が選択できるフィールドの作り方がさっぱりわかりません・・・・。

いや、フォーム内でコンボボックスに必要なテーブルを表示できてこそ作り方が
わかった、でしょう?
多分あなたは、フォームへコンボボックスを配置するやり方がわかっただけだ。
プロパティ開いて、表示したいコントロール(この場合はテーブル)を指定してみな。

756 :NAME IS NULL:04/04/13 10:10 ID:gnd8mqEl
参考にするなら、
インプレス発行『できるAccess2000ビジネス活用編』という本がかなり役に立つ。
まだあればの話だが・・・



757 :NAME IS NULL:04/04/13 20:28 ID:f60KI0nX
Access2000つかってます。電話のフィールドがあり、形態電話番号が入ってます。
これをクエリ上で下4桁しか見えないようにしたいです

具体的な方法を教えてください

758 :NAME IS NULL:04/04/13 21:43 ID:KYm9mF5S
      /   /        ヽ   \
     /    :/           }  ヽ  ヽ
    / :::/:://   / /    ノ / i ト、   ヽ ゙ 、
    / .:/:::::/:  /../  ..::/,イ:ノ .ノ ,イハi::: i iヽヽヽ
    i .::i:::::/  i:::ノ ...::::::::/ .ィイ :/_}___i:::.i: i ト 、i゙、
    | ::i:::::i::.  イ, -'" / / /ノノ ,ノ  }i: }: } l::. } }
    ! ::i:::::i::   レシンラミ<"// シテミ;メリ::,イ l:: ノ ノ
    | ::i ::ri:::..::..|' l::;;゙ '}        l:;;゙;:} ソ:/i:レ::/
   |::l:::{ハ::::::::i 、ゞ:;;'ノ        ゞ;シ /イイ:リ/
     Vノ:}::ヽゞ;::ハ `"::::::::. __'  :::: ノ,イ:} レ'
    //::ノ:/イ::l::トゞ、    ヽ__ノ   ,.イ;}::リ  
   ノ/::/:/::ハ::kハ. . . ゙ヽ、 ___ , ィ/::ノノ:ハ  
 //イ:/:/⌒ハ::::V ̄ニヽ\/  rー'^ヽ、リハ
 /イ:::::ノ, へ  Y<    、〉r ヽ {Y/i  `}\


759 :NAME IS NULL:04/04/13 21:53 ID:???
>>757
right([形態電話番号],4)

760 :NAME IS NULL:04/04/14 00:24 ID:ERxt16wL
>759 GJ

761 :NAME IS NULL:04/04/14 16:02 ID:???
tbl.Find "id like '*1*' "
と書くとエラーにはなりませんが、1のついているもの総てを拾ってしまいます。
2*1とか**1って言う風にしたいのですがどうすればエラーにならないようにできますか?

762 :NAME IS NULL:04/04/14 16:21 ID:???
>>761
2?1とか??1に汁

763 :NAME IS NULL:04/04/14 19:05 ID:???
>762
だめでした・・・。

764 :NAME IS NULL:04/04/14 21:32 ID:???
>>761
| 1のついているもの総てを拾ってしまいます。
そうなるように指定してるからだろ。
| 2*1とか**1って言う風にしたいのですが
わかってなさそうだから、どういうデータの絞込みを
したいのか書けよ。

>>763
だからどうダメだったのか書けよ。


765 :NAME IS NULL:04/04/15 00:14 ID:IJc8M8/L
right([data],1)
抽出条件 1
(下1桁1でしたらどぞ)

766 :NAME IS NULL:04/04/15 19:17 ID:???
ネタ野郎じゃないの?わざわざageてるし・・・。

767 :NAME IS NULL:04/04/15 23:46 ID:???
そうなんですか?


768 :NAME IS NULL:04/04/16 01:09 ID:???
access2000 を win2000 で使う予定です。

住所録を作るとします。

ファイルの数は1つだけにしておきたいです。

あるアカウントでは、全項目を入力・閲覧できるようにします。

別のアカウントからは制限された項目しか閲覧できないように
します。

このような運用は具体的にはどうすれば可能でしょうか?

769 :NAME IS NULL:04/04/16 02:10 ID:???
>>768
ttp://www2.moug.net/app/bbs/message.php?cat=acopr&id=20040414-000001

770 :NAME IS NULL:04/04/16 20:32 ID:7tkEaYqH
サブフォームの中にサブフォームってあり?

771 :NAME IS NULL:04/04/17 12:37 ID:???
アリ・ナシの前に、完全に設計ミス。1からやりなおせ。

772 :NAME IS NULL:04/04/17 20:27 ID:???
グループ化したレポートで、グループフッターを常にページの下部に表示する、
もしくはグループの最後のページだけフッターをつける方法はありますか?

色々試したんですが、グループフッターはどうしても最後のレコードの
すぐ後にしか出せなかったので、ページフッターの可視・不可視を
グループヘッダー・フッターのフォーマット時に切り替える方法をやってみたのですが、
ちゃんと表示される場合とされない(ページフッターが可視にならない)場合があります。

やっているのは、単純に
 グループヘッダーフォーマット時に ページフッター.visible = False
 グループフッターフォーマット時に ページフッター.visible = True
だけです。
ページフッター.visible = True を、10行くらい繰り返すとうまくいくことが多いので、
切り替えが表示に間に合っていないだけのような気もします。

うまくやる方法はないでしょうか。

773 :NAME IS NULL:04/04/17 23:48 ID:76M+RuU/
クエリで出した演算結果をレポートで集計させたいのですがやり方が
良くわかりません。泣
レポートだけでなくクエリ上でも一度演算したものを集計できるのでしょうか?

774 :NAME IS NULL:04/04/18 09:38 ID:???
>>770
多分無し
ただしサブフォーム1の特定のレコードと連動したサブフォーム2を同じFromの
別の場所に貼り付けるのは簡単
どんなことができれば良いかを、具体的に書いたほうが良いと思うがどうだろう。

775 :NAME IS NULL:04/04/18 13:58 ID:AihTTWFR
2000。列ごとに着色できますか?

776 :773:04/04/18 15:53 ID:5e2q77QL
自己解決しまスタ。

777 :770:04/04/18 20:34 ID:HaWEs8z6
>>774
まず大きな取引のデータを作って
そこに複数の取引先を入力するためのサブフォームを作る
で、取引先ごとの取引明細を入力するためにサブフォームの中にサブフォーム(とりあえず孫フォームと呼んでいるが)を作ってみた

778 :NAME IS NULL:04/04/19 10:08 ID:???
ACCESSで打ち出すレポート毎にプリンタ名やその他もろもろ、
モジュールを作って、グローバル定数で決めて使いたいんだけど、

レポート側でApplication.Printerとかコードかけないですよね。
何かいい方法ないでしょうか?

779 :NAME IS NULL:04/04/19 20:16 ID:???
>>778
 出来なくは無い。構造体で探してみるべし。
 APIの制限がモロに入ったり、非常に癖があるが。

780 :NAME IS NULL:04/04/19 22:27 ID:???
追記すると、DEVMODE構造体。
とても面倒で大変だと思うけど、くじけず頑張れ。

781 :NAME IS NULL:04/04/20 00:05 ID:???
AccessからExcel形式でデータを出力したいのですが、出力先のExcelファイルとして
すでに計算式が入っているような既存のシート上にデータを書き出すという事は可能でしょうか?
計算式の入ったボックス部分にデータを出力して、シートを開いたときには自動的に計算されて
いる、というようなイメージの物です。

782 :NAME IS NULL:04/04/20 01:32 ID:LRsbJcMq
>>781
計算用のブックを別にしたら?

783 :NAME IS NULL:04/04/20 09:37 ID:???
>>782
レスありがとうございます。
そもそも計算用のブックに手入力するのが面倒という話だったもので、
Excel上で後から修正も効くようにそのような仕様にしたかったのですが
色々調べてますが、やはり難しいでしょうか。


784 :NAME IS NULL:04/04/20 12:16 ID:???
>>778 >>779
Access2002からはVB6のようにPrinterオブジェクトを使えるようになったのでは?
(と聞いているが実際に触っていないので断言できない)

785 :NAME IS NULL:04/04/20 12:23 ID:???
>>781
VBAでEXCELファイルを開いて埋め込むことはできると思いますが…
1. AcceessのAutomationで計算式の入ったXLSファイルをGetObjectし、
 ワークシートオブジェクトを取得する
2. 出力するデータのレコードセットをDAOかADOで取得
3. レコードセットをループしながら、Excelワークシートオブジェクトの指定範囲に、
 レコードセットのフィールドから取得したデータをセル指定してデータを代入する
4. ブックを保存、閉じる


786 :NAME IS NULL:04/04/22 14:06 ID:DxKf1Mdu
Access2003で、

ttp://www.ontvjapan.com/program/gigapocket.php3?s_hsid=200404220004015

このような特殊なMIMEのファイルを読み込みたいのですが、IEコントロールのNavigate2だと
外部プログラムを呼ぼうとしてしまって読むことができません。
こういう場合はどのようにしたらよいのでしょうか?
よろしくお願いします。

787 :NAME IS NULL:04/04/22 14:57 ID:???
ACCESS2000でレポートを作成しているのですが、
レポート上にあるテキストボックスの背景色を
変えるため、関数を作成し、その関数の引数に
テキストボックスを渡すように作成したのですが、
うまく動作してくれなくて困っています。

Sub PaintTEXTBG(TX As TextBox)

Select Case TX.Text

Case "0"
Me.Controls!TX.BackColor = RGB(10, 100, 0)



指定した式で参照されている'TX'フィールドが見つかりません。
とメッセージが出てしまうんですが、何か間違ってるのでしょうか(;´Д`)
誰かわかる方がいらっしゃったら解決策をおながいすます

788 :NAME IS NULL:04/04/22 17:14 ID:???
>>787
Me.Controls!TX.BackColor = RGB(10, 100, 0)

TX.BackColor = RGB(10, 100, 0)
にする。



789 :787:04/04/22 18:52 ID:???
>>788タン
アリガトン。゚(゚´Д`゚)゜。

790 :NAME IS NULL:04/04/22 19:28 ID:???
料金計算のプログラムをつくっているのですが、
tbl.Find "id like '*1*' "
と書くとエラーになりませんよね。idとかいてあるテーブルには221、211、201、
222、202、212と6種類あるのですが、このうち下一桁が1のものだけに対して
検索をかけて処理を行いたいのですが、どうしても212のものにも処理が施されて
しまいます。どのような記述をすればいいでしょうか?
ちなみに'2?1'とか'??1'とやっても「引数が間違った型、許容範囲外、又は競合
しています」というエラーが出てしまいます。いい方法を教えていただけないでしょうか?

791 :NAME IS NULL:04/04/22 20:36 ID:???
>>790
like *1

792 :NAME IS NULL:04/04/22 20:43 ID:???
>>790
idって数値型のフィールドじゃないか?
だったらLike検索させる場合は、対象をCStr(id)とかにするのが普通

793 :NAME IS NULL:04/04/22 21:02 ID:???
いや普通、数値型には「#」を使う。
わざわざ文字列にする必要なし。

まぁ「*」でも「?」でも「%」でも逝けるんだけどね。
右の「*」が余分なだけだろ。

794 :NAME IS NULL:04/04/22 22:52 ID:???
>791-793

>761 >763 とそれに対するレス群の
>762 >764 >765 って、デジャヴか?

795 :NAME IS NULL:04/04/23 13:56 ID:???
>>793
SQL予約語のLikeは、本来文字列に対して行う検索。
それが数値型のフィールドに対して行えるのは、型の違う値の比較を常に
バリアント処理で行ってくれるAccessの親切設計によるものだが時折>>790
のようなバグが生じることがある。
バグ回避の策としては>>792の考え方が最も安全。

ODBC環境があるならビューやパススルークエリでテストしてみ

796 :NAME IS NULL:04/04/25 15:49 ID:???
はじめまして。
初心者です・・・お尋ねしたい事があります。
AccessでフィールドA(オートナンバー型)、フィールドB(テキスト型)。仮にここではAとBとおきます。
そしてフォームでテキストボックスにAの数字を打ち込むと自動的にそれに対応するBを表示させたいです。
それを同じフォーム上に20個程作ってそれぞれ独立させて、そのフォーム上ごと印刷したいです。

調べたのですがどうもわかりません。
どなたかお助けください。

797 :NAME IS NULL:04/04/25 22:53 ID:???
ここでも読め
http://www.mahoutsukaino.com/

798 :NAME IS NULL:04/04/26 13:13 ID:???
>795
ADO参照でLIKEをつかった検索をすると確かに
**1とかはエラーが出てしまいます。
一度フィールドを文字型にしてやってみましたが、結果は同じ。
そこでフィールドの設定とかは全く同じで
DAOでやると**1は上手く行きます。
もしかしたらADOでやっているんじゃないでしょうか?
ADOではこれはできないようになっているんじゃ・・・。

799 :NAME IS NULL:04/04/26 22:25 ID:???
そもそもidにlikeは使わないと思うんですけど
みなさんはどうですか?

800 :NAME IS NULL:04/04/26 22:35 ID:???
>798
根本的にワイルドカードの使い方を間違っているのは
理解しているのか?
それをADOの責任にするのは何故かと。

>799
idが数値型のフィールドならな・・・

801 :NAME IS NULL:04/04/26 22:40 ID:Oe6upCL+
>>800
まったくだw

802 :NAME IS NULL:04/04/26 23:04 ID:???
>>800
799です
コード体系が決められているものとかですかね?
私は管理しにくいんで区分とか設けてしまうんですが・・・
私ダメダメですか?

803 :NAME IS NULL:04/04/26 23:14 ID:???
>802
いや、そう言う風に区分を持たせて管理するのが
正当でしょう。
コード体系に意味を持たせて管理なんてやっていたら、
使えるコードが無くなって来て困る、と言う現象に
ぶち当たって困っているのが勤務先・・・
で、コードに意味を持たせたコード体系が禁止されました。

やっぱね、それ用の区分をもたせた方がすっきりするし、
扱い易いし、却って分かり易かったりする。

804 :よろしくどうぞ:04/04/27 00:34 ID:bfsCUZrU
sylkファイルをテーブルにインポートするVBAの記述を教えていただけませんか。
ワンクリックで…。

805 :NAME IS NULL:04/04/30 21:55 ID:???
Access2000でレポート表示時に画像を使ってるんですけど、
画像を用意しないでデータぼんぼん追加してくれるものだから、
ところどころ画像の参照先が無いところがあるんですが、
画像が存在しないレコードを一覧として抽出できないでしょうか?
現状では、画像が格納されているフォルダがあり、
テーブルで作成された画像パスの項目に画像が、
「格納されているフォルダパス&画像ファイル名」の画像パスが記述されていっている状態です。
何とか良い知恵を拝借できないでしょうか。
外部のリストソフト使ってcsvで画像パス一覧を吐き出して、それと重複クエリでやろうと思ったんですが、
これだとあまりスマートな方法ではないし、手間も掛かってしまうので。

806 :NAME IS NULL:04/05/01 09:57 ID:???
>>805
>画像を用意しないでデータぼんぼん追加してくれるものだから、
画像パスのフィールドにファイル名は入ってないだろうから、クエリーでも作ってみたら。

807 :NAME IS NULL:04/05/01 11:29 ID:???
Accessデータベースをネットワークで使用するのは根本的に間違ってますか?

808 :NAME IS NULL:04/05/01 11:58 ID:tdHwyQ7Z
テーブルの「日」
というフィールドに
01 02 03・・・・などと入っていたとします

クエリでこれに 2004/4/を加えてさら年月日として認識させたいんですが、どうすればよいのでしょうか?

"2004/04/"&[日] で。書式を年月日に変えるだけではダメなんでしょうか?

よろしくお願いします



809 :NAME IS NULL:04/05/01 12:25 ID:???
>>808
そこまで具体的に思いつくなら、直ぐに試せ。
10分で結果が分かるだろうに。

810 :NAME IS NULL:04/05/01 12:34 ID:tdHwyQ7Z
>>809
やったけどだめだったの(TT

811 :NAME IS NULL:04/05/01 12:56 ID:???
>>810
"2004/04/" & [日]の結果が「2004/04/04」になるなら、
そのままでも自動変換で認識する筈だが・・・
Cdate使ってみ。

812 :NAME IS NULL:04/05/01 12:57 ID:???
>>807
排他使用なら、ネットワークの速度次第。

813 :NAME IS NULL:04/05/01 13:01 ID:???
>812
やっぱり排他は絶対条件なのね。
MSDEにしたほうがよさげか・・・
よくわかんねぇんだよなぁ。

814 :NAME IS NULL:04/05/01 13:01 ID:???
>>808
CDate("2004/04/"&[日])
データ型を100回調べろ!

815 :NAME IS NULL:04/05/01 15:23 ID:???
>808は
日1 日2 日3 ・・・ 日31
01  02  03 ・・・  31
ってかんじの横に長いテーブルを元に
日1 2004/04/01
日2 2004/04/02
・・・
日31 2004/04/31
という結果を求めたいとか言い出さないだろうな。

816 :808:04/05/01 20:52 ID:tdHwyQ7Z
すいません、結局ぜんぜん違うフィールドでミスっていました(TT
簡単にできた・・・・・・

817 :NAME IS NULL:04/05/01 20:54 ID:uFnuqvWw
ゴマキと弟の近親相姦【動画あり】
http://tv5.2ch.net/test/read.cgi/morningcoffee/1083344761/

818 :NAME IS NULL:04/05/02 12:31 ID:kng9JGfP
#Errorの値が返ってきたときに、True、Falseを返す関数ってありますか?
Iserrorはうまくいかなかった
っていうか、#Errorは関係ないらしい・・

819 :NAME IS NULL:04/05/04 17:01 ID:???
>>813
推奨できる方法じゃないのでsage。

Win98/Meに格納されてるDATA mdbに、テーブルリンクでアクセスする分には、
複数クライアントで同時使用できた実績アリ。

SAMBAとか、Win2k WinXPだと_ぽ。

820 :NAME IS NULL:04/05/04 22:13 ID:???
昨日ノジマでACCESS2003アカデミック版買いまつた。
12670円でした。

821 :NAME IS NULL:04/05/04 22:50 ID:L8K+p4mD
FreeBSDのレンタルサーバ上にpostgresのDBがあり、
mdbファイル上に、ODBC経由で(上記DBの)リンクテーブルを、作成しました。

そして、そのリンクテーブルの中の値を変更しようとしたら、
警告音が出て、全く変更できません。
いったいなぜなのでしょうか?
教えて頂ければ幸いです。

822 :NAME IS NULL:04/05/05 00:56 ID:bpn0/yj6
ageテスト

823 :NAME IS NULL:04/05/05 11:18 ID:???
>>821
ユーザー権限とかは大丈夫なのか?
あと、ODBCドライバやPostgresのバージョン晒さないと詳しい事はわからないと思われ。

824 :NAME IS NULL:04/05/05 12:21 ID:???
>>821
主キーはある?

825 :NAME IS NULL:04/05/06 10:20 ID:???
MSDEデータベースをMDBにリンク(ODBC)張って使ってもネットワーク使用時の問題は解決できない。



ということで間違ってませんか?
結局MDBはログ取らないから問題なんだよね?

826 :NAME IS NULL:04/05/06 10:36 ID:???
間違ってるも何も、具体的に何が問題なのか書いてないじゃん

827 :NAME IS NULL:04/05/06 10:44 ID:???
MDBを共有したときの問題って言わずと知れてるじゃん。

828 :だいすけ ◆P0//Gikoow :04/05/07 15:32 ID:???
>>823-824さん、ありがとうございます。

失礼しました。
環境は、
FreeBSD 4.7-RELEASE-p22、Postfres 7.3.4
と、
WinXP-Pro SP1、MS-ACCESS2003 です、

で、>>824さんがビンゴでした。
ついめんどくさい設定していなかったです。

しかし、また新たな問題が、、、
リンクテーブルの値を変更しようとするろ、
あるテーブルのみ、

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

このレコードはほかのユーザによって変更されています。[レコードの保存]を選択すると、
他ユーザのによる変更を無視し、自分が行った変更を反映します。
[クリップボードにコピー]を選択すると変更したデータはクリップボードにコピーされ、
他ユーザによる変更が反映されます。必要に応じて、クリップボードのデータを貼り付け、
自分が変更したデータに戻すことはできます。

 [レコードの保存]   [クリップボードにコピー] [他ユーザによる変更を反映]
(レコードの保存]だけ、グレーアウトして選択できない)

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

といわれてしまいます。(正常なテーブルは正常)なにが違うのかわかりません。。。
どなたかお助けを。。。


829 :828:04/05/07 15:35 ID:???
追記;失礼しました。
ODBCのバージョンは07.01.0006 です

830 :NAME IS NULL:04/05/07 18:33 ID:???
フォ−ムで画像(JPG or BMP)を読み込むようにしています。
その際、フォ−ム下にあるレコ−ド移動ボタンを押してレコ−ドの切り替え
(同時にフォ−ムのの表示内容も切り替わります)を行うとAccess自体が落ちる
という現象が起こります。

画像を読み込まない場合は落ちません。
他サイトにて、同様の事象を発見しましたが、
ユ−ザの方で、レコ−ド移動ボタンを外さないで欲しいとの要望があり、
他サイトの方法では対応できません。

何か良い解決策をご存知の方が居りましたら、
知恵をご提供いただきたいと思います。

参考URL
ttp://www.accessclub.jp/bbs2/0001/beginter00198.html

831 :NAME IS NULL:04/05/08 00:21 ID:yDi9SUAr
本は沢山売っているけど
リファレンスとして使えるいい本がないね

お勧めある?

832 :NAME IS NULL:04/05/08 18:25 ID:???
>>828
列を減らしたテーブルを作って、どの列が問題なっているか調べるとか、
列の型を変えてみたり、名前を変えてみたりするとか、
やってみることは色々ある。

833 :NAME IS NULL:04/05/09 12:00 ID:pLqHZzQa
初心者からこつこつ勉強して在庫や商品管理のDBを作ってます。
なんとか簡易版ですができました。WEBを利用して在庫数の確認や
更新ができるようにしたいのですが、さっぱりです。WEBサーバーが
必要?なんてのを多少、耳にしたのですが、どうでしょうか?
また、購入しないとできないのでしょうか?お願いします。
誰か助けて下さい(>_<)

834 :NAME IS NULL:04/05/09 17:56 ID:???
webというのがインターネットを意味するのか、それとも社内LANのみを意味するのかで
敷居の高さも変わってきます。
ユーザインタフェースをwebブラウザベースで作りDBをACCESSで作るけれども、
社内LANのみで運用するというのであれば、比較的難易度は低いと思います。
(簡単という意味ではありませんが)
そうではなくインターネットの世界に公開するというのであれば、ACCESS云々よりも
もっと難しい問題が色々と出てきます。

835 :NAME IS NULL:04/05/09 19:28 ID:pLqHZzQa
>>834
ありがとうございます。自分では社内LANではなくインターネット
を利用したWEBアプリを作りたいと思っています。(工場と営業所が
離れているため、インターネットを使うしかないので)本当はプロの方に
作ってもらうのが一番なのですが、新規事業として会社設立の為、なかなか
システム構築などに経費をかけれません・・・(^_^;)
大体でも結構ですので、WEBアプリの作り方を教えて頂けたらと思います。
当方、ACCESS 2000を利用してDBを作っています。宜しくお願いします。

836 :NAME IS NULL:04/05/09 21:12 ID:???
>>835
 厳しいようですが、セキュリティの問題は非常に重要だと
言う事を承知できないのであれば、インターネットを使うような物を
作りべきではありません。
 ネットワーク構成から、サーバー、アプリケーションに到るまで
セキュリティを意識して構築できなければ、何が起きても
不思議ではありません。
 アプリケーション・サービス・プロバイダの利用を考えたらどうか。

 で、Webアプリケーションの作り方と簡単に言うが、簡単な
セミナーでも、3日15万円コースの量なんだが、ここで聞くかね?
 http://www.hitachi-ia.co.jp/h_comp/flow/web.htm
 本格的にやると、ざっとこれだけの事は勉強する事になるんだが。

 MDBとASPを使った入門書もあるぞ。(いまさらASPはお薦めせんが)

837 :NAME IS NULL:04/05/09 21:17 ID:???
>>835
2chで聞いたくらいでWEBアプリが簡単にできるようだったら
俺なんか失業だよ
自分で勉強 スレ (´∀`( ´∀`) チガイ

838 :NAME IS NULL:04/05/09 22:22 ID:???
>>835
IISとASPとAccess(または SQL Server)使えばそれなりのものが出来るかもしれんが、かなりリスキー。
スクリプトキディー(ガキ)のいたずらでシステム停止するのが落ち。
そんなことするぐらいなら、VPN組むことを考えたほうが楽だYO。

ってか、漏れがやるなら、PostgreSQL+Perl+Apacheでやるけどね。


839 :NAME IS NULL:04/05/09 22:56 ID:pLqHZzQa
>>836〜<<838
ご意見有難うございました。社員30〜40人程度の規模だったので、ある程度
は自分で作れるかな!?とは思っていましたが、やはり厳しいようですね!
もう少し勉強してみて検討しようと思います。もしインターネット以外の
方法でDBを共有できるような都合の良い方法(無いとは思いますが・・・)
があれば、ご指導下さい。宜しくお願いします。

840 :838:04/05/09 23:03 ID:Fm9eTSy/
>>839
だから、VPNって言ってるだろYO。

VPNって簡単に言うと、仮想専用線。
インターネット等の共用回線網の中に暗号化した経路を用意すること。

プロバイダ等のサービスを利用するか、Flets等回線側のサービスを利用するか、
VPNゲートウェイ(ルータや自前サーバ)を用意して実現するか、どれかでOK。

これ使うと、インターネット等経由でLANの中のごとく扱える。

とりあえず、VPNって言葉でググるなり、プロバイダに相談するなり汁。

841 :NAME IS NULL:04/05/09 23:12 ID:sAs3heUR
はじめましてです。

このたび、会社にてIISを用いて、ASP+Accessで
WEBデータベースシステムを作りそうな気配になっております。
で、ASP〜!!!!!!と思っているのですが、
たとえばこの先、今の会社を辞めた場合、ASP+データベースで
食べていけるのでしょうか・・・?

842 :NAME IS NULL:04/05/09 23:21 ID:???
何だそりゃ 質問ですらねーな
食べていけないっつったら、仕事断るの?

843 :NAME IS NULL:04/05/09 23:33 ID:???
>>841
そんなのお前の性格と能力しだいだろう。

ASPでもまともなモノを組めて、営業努力を怠らなければ独立して食っていける。
たとえPHPでもJSPでも、性格悪けりゃ客に嫌われて食いっぱぐれる。

つぶしが利くかどうかは結局、基本となる標準規格が決まっている技術(HTTP,HTML,SQL)を
どれだけ習得できるかだろ?

標準が決まっていない部分の言語依存を極力排除した設計が出来れば、ASPだろうがCGIだろうが関係ない。

少なくともアプリケーションの心臓部はAccess(DAO?ADO?SQL?)で動くわけだから、
ユーザインタフェースがASPだろうと、VBAのフォームだろうと、C#の外部プログラムだろうと、実装ベースは同じ。

そこの本質を見極めた設計が出来て、性格良ければ、食いっぱぐれ率はかなり下がる罠。

844 :NAME IS NULL:04/05/09 23:35 ID:sAs3heUR
いやいや、仕事として需要があるのかどうかというのを
聞きたかったのですよ(^^;
言葉足らずですいませんm(_ _)m

ASP+Accessでなくても。SQLServerとの組み合わせとか、
Oracleとか・・・

どうなのでしょうか?

845 :NAME IS NULL:04/05/09 23:51 ID:???
>>844
「ASPで」って事を意識しないと組めないのか?
サーバサイドでHTML組み立てるだけだろ?
その方法論がSSI+CGIなのか、ASPなのか・・・・の違いだけで、本質は何も変わらない。

お前の言い方は、頭の固いコボラーと同じに見える。
「コボルは仕事としての需要ありますか?」って聞いてくる。
「お前はプログラマじゃないのか?ロジックの組み立てはどの言語も同じだろ?リファレンス見てやれよ!」
と思うのは漏れだけ?需要云々言う前に自分で道を切り開いてみたらどうYO?

846 :NAME IS NULL:04/05/09 23:53 ID:???
ColdFusionもあるでよ

847 :NAME IS NULL:04/05/11 13:44 ID:qiDsoBU9
ちょっとお聞きしたいのですが、

重さ付きの木をデータベースで表現し、
上位ノードに対して数値が割り当てられると、下位の数値が算出されるようにしたいのですが、
どのようなアルゴリズムが考えられるでしょうか?

現状では、「親ID 子ID 重さ」をもつテーブルを用意し、DAOで親で絞り込んだのを開いて計算してます。
現状システムでは階層数が1桁だったので、何とか動いているのですが、
階層数を2桁に拡張する案件が出て来ていて、パフォーマンス改善が必要になりそうです。

SQLでまとめて計算する方法を考えたのですが、うまく思いつきません。

細かい条件は、
・2桁分階層がある木
・木の枝は再利用される(親A0-子A1-孫A2 親B0-子A1-孫A2 がありうる)
・孫の値=親の値*子の重み*孫の重み
・一から実装しなおしを覚悟してます。
・将来的にはクラサバに移植する予定なので、できればSQLで処理したい。

誰か手伝って(TT


848 :NAME IS NULL:04/05/11 15:11 ID:G2w96kI+
部品展開だったら、n階層までの無限にできるだろう。もちろん再起処理をつかってるんだろ

849 :NAME IS NULL:04/05/11 21:18 ID:???
・木の枝は再利用される(親A0-子A1-孫A2 親B0-子A1-孫A2 がありうる)
がネックになる悪寒

850 :NAME IS NULL:04/05/11 21:21 ID:G2w96kI+
>>849
それって普通の考え方じゃん。それが出来なきゃ意味無いじゃん。

851 :NAME IS NULL:04/05/11 21:38 ID:G2w96kI+
>>847
現在のバージョンのSQLではその処理は実装されていません。
普通のSQLサーバーにはSQLを組み合わせるマクロのようなものが実装されており
それで処理します。またサーバー上のプログラム言語からSQLをコントロールします。
アクセスの場合はVBAで簡単に処理することが出来ます。100桁くらいの階層は可能です。

852 :NAME IS NULL:04/05/11 21:39 ID:G2w96kI+
訂正  100桁  100階層

853 :847:04/05/11 23:19 ID:???
>>848
再起処理でやってます。
DAOでレコードセットをオープンして再起処理を使ってますが、
出来ればSQLベースで処理させたいんです。
あと、パフォーマンスの向上も課題の一つです。
>>849 >>850
現行で、この部分には問題は発生していません。
>>851
サブクエリによる処理とか、ワークテーブルによる処理なんかを思いついてはいるんですが、
ノウハウをお持ちの識者の方のご意見がいただければと思い、質問しました。

サブクエリだと、階層が増える毎にSQL文がどんどん増え、2桁の後半にはかなりヤバそうで・・・。
ワークテーブルを用意する方法だと、処理が遅くなりそうだし・・・。

テーブル構造に改善の余地がありそうだと思うのですが、そこから先が思いつきません。

854 :NAME IS NULL:04/05/11 23:39 ID:G2w96kI+
具体的にSQLサーバーは何を使うんだい?

855 :847:04/05/12 09:59 ID:???
>>854
SQLサーバを使うとかそういうことじゃなく、イントラクラサバに移行する予定があるので、その際に他のRDBMS上に移植するって事です。
もちろん、Accessが有利な部分はAccessをクライアントにしますが、Accessでなくても良い部分はWebブラウザをクライアントにしようと考えています。

予算の関係もあり、MySQLかPostgreSQLにCGI (ブラウザクライアント用)とODBC(Access用)を併用して実現しようと計画しているんですが、
現時点で階層を増やす作業が出たので、高速化のついでに、CGIクライアントにも手軽に移植できるように「VBA(DAO)で実現している部分」を
「SQL化」したいと考えているわけです。

で、テーブル構造も含めた改修を計画したのですが、どうも思いつきません。

別件の障害が上がってきてて、そっちの対応にも脳みそリソースをとられているせいかも知れません。
そこで、ヒントだけでもいいので、なにかアイディアを分けていただければと思いました。

ちなみに、現状のシステムではWindowsMeマシンをファイルサーバにしてデータおよびマスタのmdbを入れ、
複数のクライアント(WinMe/Win2k/WinXP)にプログラムmdbを入れて運用しています。

#かなり微妙な構成ですが、ロックに関する問題や上書きでの問題は今の所発生していません。

Win2kやWinXP、NAS、SAMBA等をファイルサーバにしてmdbを共有しようとしましたが失敗するので、次のメジャーUPでクラサバODBC化する予定です。


856 :NAME IS NULL:04/05/12 10:20 ID:iEHInYeS
処理速度が遅い? 
マスターデーターが大きいのかな
ふつうに階層なんかは10レベルくらいあればいけるんだけど


857 :NAME IS NULL:04/05/17 10:26 ID:???
Access超初心者です。
教えてもらいたいのですが、レポートを印刷する際に
フォーム上のチェックボックスに、チェックされた時は出荷先コードが変わるたびに改ページし、
チェックされなかったときは、改ページされないようにしたいのですが、何かいい方法はないでしょうか。
よろしくお願いします。

858 :NAME IS NULL:04/05/17 12:28 ID:???
レポートを、改ページするのとしないのを2種類用意して、
チェックボックスの値によって出力レポートを切り替えるというのはいかがか

859 :NAME IS NULL:04/05/17 12:29 ID:???
マクロでもVbaでもお好みで

860 :857:04/05/17 14:55 ID:???
なんとかやり方見つけて作ることができました(TT
レスくれた方ありがとうございました。

861 :NAME IS NULL:04/05/17 15:43 ID:???
泣くな(w 乙彼さん

862 :NAME IS NULL:04/05/19 04:21 ID:iEFTCgKB
初心者です。皆さん、少しだけ教えて頂けませんか!?
レポートの件なのですが、作業報告書を入力・印刷したいのですが、
日付を =NOW() としていて印刷プレビューをすると現在の時刻が表示されますよね!?
ここまでは良いのですが、後日にそのデータをもう一度印刷しようとすると、
日付が後日の日付に変わってしまいます。どのようにしたらよいのでしょうか?
また、印刷プレビュー時に印刷のアイコンをクリックすると全ページ分を印刷して
しまいます。その都度、印刷ページの設定をするのもなんなので、もっと良い方法は
ないのでしょうか?上級者の方から見れば簡単すぎるのでしょうが、僕はこれで10日間
悩んでも答えが見つかりません。お願いします。助けてください(TT

863 :NAME IS NULL:04/05/19 11:19 ID:???
>>862
10日も悩む間に本買うか、ネットでぐぐれ
素人でも半日もあれば解決するぞ

> 日付が後日の日付に変わってしまいます。
日付を格納するフィールドを作って印刷時にそこに日にちを保存

> 印刷プレビュー時に印刷のアイコンをクリックすると全ページ分を印刷して
しまいます。

印刷したいものだけをクエリーなり別テーブルなりに吐き出してからそれをレポートソースにしる

864 :NAME IS NULL:04/05/19 13:24 ID:fULRE3oY
ィールド1にテキスト型で
A001
A002
A003
A999
B001
B002
C001  と入れています。

先頭にAが付いているデータを抽出するというのは可能でしょうか?
可能であれば条件設定を教えていただけないでしょうか。

865 :864:04/05/19 13:26 ID:???
前文が欠けてしまいました、すいません。

抽出クエリーについて教えて頂きたいのですが、
フィールド1にテキスト型で
A001
A002
A003
A999
B001
B002
C001  と入れています。

先頭にAが付いているデータを抽出するというのは可能でしょうか?

866 :NAME IS NULL:04/05/19 13:56 ID:YGv7pYWs
>>865
Like "A*"

867 :NAME IS NULL:04/05/19 15:15 ID:fULRE3oY
>866
助かりました、ありがとうございました。


868 :NAME IS NULL:04/05/19 20:53 ID:8yE5kupj
>863
ありがとうございました<m(__)m>
早速、挑戦してみます。

869 :NAME IS NULL:04/05/19 22:49 ID:???
まったく的外れな質問かもしれないけど、

Accessをサーバー代わりにして、ほかのクライアントから接続する場合、
*.mdbは共有フォルダにおかないとダメ?
SQLServerみたくTCP/IP経由でmdbファイルを認識する方法はありますか?

870 :NAME IS NULL:04/05/19 22:55 ID:???
ACCESS2K(かな?)以降にいえるのだけど

NT4以降のWinサーバー環境で、(サーバーだけではないかも、NT系がPCサーバー用途の環境の場合)
リンクテーブルをつかうと極端にレスポンス落ちませんか?
テーブルを開くだけで1分くらいかかるようになる。

MS技術情報とかで「サブデータシート名をOFFにする。」等あるのですべて実践したが改善できない。
「あらかじめ、リンクテーブルを開いておく」とかなり改善するが、相変わらず、固まる(時間がかかる)タイミングがある。
(この時ハブをみるとコリジョン信号を多発しているようです)

これは、ギガビットイーサー環境でも変わらないし、AC97なら100Base環境でもさくさく動く。
原因は何でしょう?

基本的にAC2K以降って使い物にならなくありませんか?(重いし、ヘルプは糞だし)

871 :NAME IS NULL:04/05/20 07:18 ID:???
>>869
Accessをサーバー代わりにするだって?

素直にMSDE2000A使っとけ
http://www.microsoft.com/downloads/details.aspx?FamilyId=413744D1-A0BC-479F-BAFA-E4B278EB9147&displaylang=ja


872 :NAME IS NULL:04/05/20 09:45 ID:???
>>869
それはデータ構築かサーバーの問題では?
接続方法は何?

NT4.0はどうだか知らないけど2000、2003でも問題ないよ


873 :NAME IS NULL:04/05/20 15:57 ID:???
質問です。
Access2000のVBAからサブフォームのビュー(フォームビュー/データシートビュー)
を変更する方法を教えてください。CurrentView プロパティで取得できることまでは
わかったのですが、肝心の変更方法がわかりません。

どなたかご教示願えませんでしょうか。

874 :NAME IS NULL:04/05/20 21:09 ID:???
Access2000のテーブルデザインビューでフィールドセレクタや主キーインジケータが非表示になってしまいました。
データシートビューでもフィールドセレクタが消えています。どうすれば戻るか、お教えください。

875 :NAME IS NULL:04/05/21 15:09 ID:X0LlWSQ4
フォーカスを取得時に、現在入っているデータをクリアする方法なんてあるますか?
教えていただければ幸いです。

876 :NAME IS NULL:04/05/21 15:53 ID:???
>>875
何のフォーカス取得時?
テキストボックスなんかなら Me.テキストボックス名 = Null

877 :NAME IS NULL:04/05/21 18:39 ID:???
>876

テキストボックスでした。ありがと

878 :NAME IS NULL:04/05/23 13:45 ID:K2fPyIPs
Office2000Proの中のAccess2000をフルオプションでインストールしたのですが、
DAO関連のヘルプトピックが表示できません。削除・再インストしても駄目。
(OpenRecordset等。関連付けられてないとエラーが出る)
VisualBasic関連や、Access関連(CurrentDB、等)のトピックは出るのですが。

こんな症状が出た方、対処法しっている方がいたら教えてください。

879 :878:04/05/23 13:46 ID:???
OSはWinXPです。

880 :NAME IS NULL:04/05/23 22:27 ID:???
>>878
Access2000でADOとかDAOのヘルプが一部出ないバグがあったはず。
MSのサイトとか見てみ。

881 :NAME IS NULL:04/05/24 17:47 ID:6r0K7ZWx
フォーム上でフィールドAがnullだったらフィールドBには進めなくしたいのですが
どこをどうコントロールすれば良いのでしょうか?御教授お願いします。


882 :NAME IS NULL:04/05/24 18:18 ID:???
>>881
フィールドBのタブストップをFalseにするとか。
でもマウスでクリックされると無意味。


883 :NAME IS NULL:04/05/24 20:13 ID:9hAcDchb
フィールドBにフォーカスが移ったときに
フィールドAを見て判断する

884 :NAME IS NULL:04/05/24 22:29 ID:???
クエリーで集計の中にグループ化という処理がありますが、
実際のテーブルの値をテーブル上でグループ化ことは可能ですか?
だとすればどのような記述をすればいいですか?

885 :NAME IS NULL:04/05/24 23:25 ID:Ik3+PA30
>884
何をしたいのか分からない
例えみたいな奴書いて

886 :NAME IS NULL:04/05/25 04:40 ID:???
テーブルの元データがなくなっちゃってもいいなら
そりゃいくらでもやり方はあるわけだが

887 :884:04/05/25 09:42 ID:???
そうですね。わかりやすく言うとですね、

今月買ったもの


リンゴ   100円
みかん   50円
アンパン  70円
りんご   150円
肉     80円
みかん   800円
バナナ   300円
アンパン  300円
リンゴ   900円




こんな感じでリンゴなら合計いくら?
アンパンなら合計いくら?

クエリーで集計のグループ化で簡単に出来ますけど
テーブルの中で直接グループ化したいのですが、
VBAで記述するにはどうすればいいですか?

888 :NAME IS NULL:04/05/25 09:51 ID:xnhonw8Q
なおさら分からん。
集計結果を直接テーブルに保存したい
ってことか?

889 :NAME IS NULL:04/05/25 10:48 ID:???
>>887
マルチすんな。あっちの掲示板消しとけ

890 :884:04/05/25 11:12 ID:???
リンゴならリンゴをテーブルで直接ひとまとめ
にしたいのです。

891 :NAME IS NULL:04/05/25 12:13 ID:+W3QelmS
>>890
集計のクエリは作れるんだしょ?
じゃあ、そのクエリをテーブル作成クエリにして、集計結果を新しいテーブルに保存しちまえば…?
ダメ?

892 :NAME IS NULL:04/05/25 12:21 ID:+W3QelmS
ごめん、作成クエリなんてあったっけ?
携帯からなんでワカンネ
でも、Workのテーブル用意して、集計クエリを追加クエリにして集計結果をブチ込んでめいいじゃん?
ダメ?

893 :884:04/05/25 14:14 ID:???
>892
モジュールの勉強も兼ねてモジュールでプログラミング
できならなあって思っていたんです。
だから方法があればなあって。

894 :NAME IS NULL:04/05/25 14:59 ID:3djPOBUW
選択クエリーで

フィールド  重量  出庫   式1;[重量]*[出庫]     
        29.4    1    29.3999996185303

何で式1の結果は29.4にならないんですか?29.4にするにはどうしたらいいでしょうか?

895 :NAME IS NULL:04/05/25 15:12 ID:???
四捨五入したらいいんでないかい

896 :NAME IS NULL:04/05/25 15:14 ID:???
>>894
重量のデータ型を「通貨型」にするといいよ

897 :NAME IS NULL:04/05/25 15:16 ID:???
>>894
浮動小数点型の仕様

式1:CDbl(Format([重量]*[出庫],"0.0"))
とかに汁

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



899 :NAME IS NULL:04/05/25 16:03 ID:+W3QelmS
>>893
テメェでADOでSQLたたいてみたいってか
なら参考書見た方が早い希ガス…
ここで漏れ達が書いて教えるの、ツラいもんがあるぜ?
家に帰ったらやってみてもいいが

900 :NAME IS NULL:04/05/26 03:36 ID:???
>>878
Office 2000 の CD-ROM から DAO360.CHM
を下記のディレクトリにコピーする。
C:\Program Files\Common Files\Microsoft Shared\DAO\

901 :878:04/05/26 03:52 ID:???
>>880 >>900
回答感謝。これから試してみます。

902 :884: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

903 :NAME IS NULL:04/05/27 10:44 ID:???
>>902
>sql = "SELECT 顧客番号 FROM 合計金額 GROUP BY 顧客番号"
の最後に「;」がないよ

904 :884:04/05/27 11:45 ID:???
>903
それでもだめでした・・・。


905 :NAME IS NULL:04/05/27 12:12 ID:???
>>904
まずはConnectionString教えれ。

906 :NAME IS NULL:04/05/27 12:26 ID:???
俺にはただの選択クエリに見えるのだが

907 :884:04/05/27 14:21 ID:???
ConnectionStringですか?
これに関してはよくわからないのですが、記述はしていないです。

908 :NAME IS NULL:04/05/27 14:46 ID:???
>>906の言うとおり、DoCmd.RunSQLで選択クエリ(要するにselect文)実行してどうする、
という話だと思われ

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

とりあえず何がしたいのか書いてほしい。

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

910 :908: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を直接いじりたい、っていうことなの?

911 :NAME IS NULL:04/05/27 15:14 ID:???
>>907
コネクションを設定してないからSQLが動いて無いのでは?

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

それが成功したなら次はAccessのクエリ機能を使って本当に表示したいSQLを実行してみな。
どこでエラーが起きてるのか探すのが先決。

912 :884:04/05/27 15:23 ID:???
>908
いえ、@のテーブルをいじってAのようにしようと思ったのです。
それはやっぱだめですか?

913 :884:04/05/27 15:27 ID:???
もとのテーブルをAのように変化させようとしたのです。

914 :908:04/05/27 15:46 ID:???
「変化」は無理だろう、普通に。いやしくもAccessはRDBだから、
テーブルの構造をほいほい変えたりは普通はやらない。
(ちなみに、クエリだって、元のテーブルをいじっているわけではない。
クエリというのはあくまで計算式だ。)

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

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

当然ながら、[別テーブル名]が既にデータベースにあったら、エラーに
なるから、「そのテーブルがデータベースにあったらdropする」という
手順が必要になることに留意。

915 :884:04/05/28 12:54 ID:???
>908、教えてくれた皆さん。
ありがとうございました。おかげさまで望んだ処理ができました。

916 :NAME IS NULL:04/05/28 17:27 ID:7OPWyqFn
エクセルで現在管理中のDBをアクセスで管理したいそうなのですが
アクセスは一度も触ったことが無くて容易にできるのかできないのか
解りません。 VBA等を使って自力でやってくれとのことなのですが
一応PGの経験は有りますがアクセス素人でも2〜3ヶ月あればできるでしょうか?

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



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

よく知っている人が隣にいるとそれだけで大幅効率アップなんだけどな。

918 :NAME IS NULL:04/05/28 18:30 ID:???
>916
Excelでやってる現在の業務の内容次第。
簡単な社員名簿ならAccess初心者でも1ヶ月もかかんないだろうし、逆に
販売管理なんぞを1から作るならとても3ヶ月じゃおさまらないと思ー


919 :NAME IS NULL:04/05/28 21:07 ID:t5dksWco
漏れの会社の営業のごみめらがアクセス使って顧客管理しているらしいが、
あたしって天才??って大声で言ってたんだけど、
そんなに難しいモンなの?
そうとはおもえないんだけど、。
データベース設計もせずやってるみたいで、あとからあとから機能を追加しテルっぽい。
しょぼいシステム作ってそうなんだけど、みにいってやらない。


920 :NAME IS NULL:04/05/28 21:09 ID:t5dksWco
漏れの会社の営業のごみめらがアクセス使って顧客管理しているらしいが、
あたしって天才??って大声で言ってたんだけど、
そんなに難しいモンなの?
そうとはおもえないんだけど、。
データベース設計もせずやってるみたいで、あとからあとから機能を追加しテルっぽい。
しょぼいシステム作ってそうなんだけど、みにいってやらない。


921 :NAME IS NULL:04/05/28 21:11 ID:t5dksWco
漏れの会社の営業のごみめらがアクセス使って顧客管理しているらしいが、
あたしって天才??って大声で言ってたんだけど、
そんなに難しいモンなの?
そうとはおもえないんだけど、。
データベース設計もせずやってるみたいで、あとからあとから機能を追加しテルっぽい。
しょぼいシステム作ってそうなんだけど、みにいってやらない。


922 :NAME IS NULL:04/05/28 21:44 ID:???
必要上から画像をリンクさせた
データベースを作ろうと思っているのだが
数千枚ある画像を一括して印刷出力なんぞできるんだろうか?
そんなの作ったことのある人いるかい?

923 :NAME IS NULL:04/05/28 21:48 ID:???
必要上から画像をリンクさせた
データベースを作ろうと思っているのだが
数千枚ある画像を一括して印刷出力なんぞできるんだろうか?
そんなの作ったことのある人いるかい?

924 :NAME IS NULL:04/05/28 21:59 ID:MMkR7x31
「やったことないけど、アクセスなんて簡単なんだろ?時間がないからやらないけど」→ 一生ゴミ

925 :NAME IS NULL:04/05/28 23:48 ID:9r+OnDsn
>>919-921
乙カレー(w
とりあえず昨日はJimタソに感謝感謝

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

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

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

もっと具体的に教えれ。
印刷したいだけなら、画像保存ファイルを呼び出して出力するコードを
ちゃちゃっと入れればいいだけ。


926 :NAME IS NULL:04/05/29 00:04 ID:???
>923

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

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

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

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

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

#役に立たなくてすみません。

927 :NAME IS NULL:04/05/29 06:25 ID:L64/5/TR
Accessでショッピングサイトを製作する会社が在りますが大丈夫なんでしょうか?

928 :NAME IS NULL:04/05/29 07:59 ID:???
>>923
それなりのOCX利用すれば簡単だよ。
つい最近作ったし。

連続印刷は簡単だけど、紙切れ検出とかその後の継続印刷の方が
面倒かもしれない。

929 :NAME IS NULL:04/05/29 11:23 ID:???
>>927
大丈夫大丈夫。どうせIIS使ってるならセキュリティは同じだから。

930 :NAME IS NULL:04/05/29 11:50 ID:jNegBdZ0
みなさん教えて下さい!テーブルに商品名というフィールドを作って、
そこの中からレコードを抽出したいのですが、Google みたいな感じの
キーワードで検索という方法はできるのでしょうか!?
ACCESSは勉強中ですので、良かったらわかりやすく教えて頂きたいです。
宜しくお願いします。

931 :NAME IS NULL:04/05/29 12:40 ID:???
WHERE 商品名 LIKE '%うんこ%'

932 :NAME IS NULL:04/05/29 12:41 ID:???
Likeでいいんじゃないの?

933 :NAME IS NULL:04/05/29 12:49 ID:???
漏れもLikeって書こうと思ったけど、Likeでやるとキーワード複数に対応できない罠。
スペースを"|"に置き換えて、正規表現使えればイイんだろうけど・・・調べるからちょっと待っとき。

934 :933:04/05/29 12:55 ID:???
とりあえず、ワークテーブルつくって、そこにスペース区切りでキーワード切り出して入れて、
WHERE 商品名 ANY (SELECT キーワード FROM ワークテーブル)
で、やってみそ。

935 :NAME IS NULL:04/05/29 13:12 ID:jNegBdZ0
>>931〜934
ありがとうございました!
自分でもLikeを使って作ってみたのですが、複数のキーワードに対応
できずに困っていました。助かりましたm(_ _)m

936 :933:04/05/29 15:20 ID:???
>>935
そういう時は「複数キーワード対応にするには?」と書け。

937 :NAME IS NULL:04/05/29 16:44 ID:???
BuildCriteria()をうまく使えばいいんじゃね?

938 :OCR作成:04/05/31 21:00 ID:SfwwBETg
すみません、初歩的な質問で申し訳ないのですがどなたかお答えお願いします。

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

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

どなたかおねがいします <m(__)m> 。


939 :NAME IS NULL:04/05/31 22:21 ID:???
普通にレポート作ればいいよ

940 :NAME IS NULL:04/05/31 22:24 ID:Dja+Zb2C
全く同意

941 :NAME IS NULL:04/06/01 00:10 ID:???
DAOで値を取得する場合の質問なんですが
フィールド名を動的に設定することって可能でしょうか?
テーブルのフィールド数が150近くあり、変数に入れたフィールド名を使いたいのですが上手くいきません。

Set rs = db.OpenRecordset("select * from TABLE", dbOpenDynaset)
GetFieldName = "取得したいフィールド名"
Return = rs![GetFieldName] ’ここが上手くいかない


942 :NAME IS NULL:04/06/01 00:33 ID:???
Return = rs.Fields(GetFieldName)

943 :NAME IS NULL:04/06/01 13:30 ID:/K4PEhlc
テーブルのフィールドの1つのデータのみを
テキストボックスに表示させたいのです。
どうしたらいいですか?



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

この場合テキストボックスには車を表示させたいのです。
そしてその後処理が終わったあとテキストボックスを空にして
電車、飛行機と最初から最後まで表示させるようにしたいのです。

944 :NAME IS NULL:04/06/01 14:07 ID:???
>>943
txtBox = rs("物").Value

945 :943:04/06/01 14:32 ID:/K4PEhlc
>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



946 :NAME IS NULL:04/06/01 15:05 ID:???
>>945
ごめん俺ADODB派なんだ。
良くわからないがどんなSQL送ってdbに入れてるんだ?

下記みたいなsql文送って結果出せれば答えはすぐ出ると思うのだが。
"SELECT 物 FROM テーブル名 WHERE 番号 = " & i & " ;"

悪いが君の説明では電波要素が多すぎて漏れには_

947 :NAME IS NULL:04/06/01 15:07 ID:???
もうちょい自力でデバッグする癖つけないと先へ進めんぞ。
とりあえずそのコードのうち、どの行でそのメッセージが出るのかをつきとめて、
その後は該当部分をdebug.printするなりステップ実行するなりして確かめなよ。
やろうとしてる方向性はとりあえず問題ないと思うから。

948 :NAME IS NULL:04/06/01 15:10 ID:???
っ[ F8:ステップ実行 ]

949 :943:04/06/01 15:27 ID:???
>946-948
ありがとうございました。おかげでできました。
デバックでのチェックは大事ですね。

950 :NAME IS NULL:04/06/01 17:28 ID:???
>>949
tbl(0)を開いているが、どこで使うべきなのか?
よーく考えよう。

951 :938:04/06/01 20:06 ID:+zM8c6Vh
>>939 940
文字枠がうまく収まらないのと、文字列の長さによっては2行に分けたりと
しなければならないので困ってます ・゚・(ノД`)・゚・


952 :941:04/06/01 21:31 ID:???
>>942
ありがとう
解決できました!

953 :NAME IS NULL:04/06/01 22:04 ID:???
>>951
それって、1個の枠に上下中央揃えか大きさ変えるかして入れるって事か?

だったら、
一行分の枠:1行分のフィールド
二行分の一行めの枠:二行分の1行目のフィールド
二行分の二行めの枠:二行分の2行目のフィールド

と1項目につき3つ枠作ってデータの長さに合わせてデータセットするフィールドを変えればいいと思うぞ。

あと、原紙にぴったりあわせるなら、プリンタ選びをちゃんと汁。
漏れの経験ではCANONやEPSONのレーザープリンタでは2mm〜4mmほどずれが出ることがある。
リコーのレーザーならずれがほとんど無かったけどな。


954 :938:04/06/01 23:11 ID:+zM8c6Vh
>>957
ありがとうございます。
文字枠1個の範囲に上付きとか下付きとかそういう高度なテクニックではなく
ただ単に住所の文字列をOCR用紙に1個マスにぴったりと収めていくという
(基本?)作業をどうすれば収まるのか試行錯誤しているのですがわからないのです。
大概、最初の2〜3文字は収まってその続きがだんだんずれていく...という
状態です。


955 :NAME IS NULL:04/06/01 23:54 ID:???
>>954
 それだと地道に現物合わせで調整していくしかなかったと思う。
 枠線まで印刷してしまう事ができれば楽なんだけど、印刷済みの
用紙なんですよね。
 ピッチが合わないという事で、一文字ずつ切り出して枠に貼り付ける
なんて事もやりますね。

 既に953さんからレスがあるように、プリンタ毎に癖はあるし、
季節によって紙が収縮する事もあるし・・・(湿度の問題ですが)
 湿度に関係なく収縮しない紙って高いんだよねぇ。

956 :953:04/06/02 00:37 ID:???
ひとつ確認。プロポーショナルフォント使ってないよな?

そこ確認してもだめだったら、
1.1文字づつ枠を作る。
2.クエリで1文字づつ(mid$で)切り出したのを枠に割り当てる
でどうよ?


957 :938:04/06/02 10:17 ID:aETlYFNI
>>955 956 ありがとうございます (^ー^* ) 。

ご指摘を注意してちょっとやってみます。


958 :00:04/06/03 15:46 ID:???
拡張子が「.dbs」のファイルがあって、この中身をテキストデータとして流用したいのですが、
アクセスで開こうとすると「パスワードを入力しろ」との表示。
もちろんパスワードを知りませんので開くことが出来ません。
どなたかパスワードの「解除方法」もしくは「.dbs」ファイルの他の開き方など
ご存知の方がいらっしゃったれば是非、ご教授下さいませ。

959 :NAME IS NULL:04/06/03 20:34 ID:???
>>958
「Access パスワード 解析 -ログ」

960 :00:04/06/04 10:58 ID:???
>>959

有り難うございます

961 :NAME IS NULL:04/06/07 11:01 ID:v0TfDIUc
アクセス2000です。
---------------------------
製品マスターT
---------------------------
製品ID
製品名
期首在庫
--------------------------
--------------------------
入出庫T
--------------------------
入出No
日付
製品ID
製品名
入庫数
出庫数
--------------------------

上記の2つのテーブルがあります。在庫数を求めたいのですが、
クエリーで求めることができるのでしょうか。それとなく色々試してみたの
ですがギブアップ状態に陥りました。どなたか御教授ねがいます。

962 :NAME IS NULL:04/06/07 11:37 ID:???
>>961
在庫数=期首在庫+入庫数-出庫数 なんでしょ?
どこで行き詰まってるの?

963 :961:04/06/07 12:49 ID:v0TfDIUc
選択クエリーで

製品ID  (製品マスターT)
製品名  (製品マスターT)
期首在庫 (製品マスターT)
入庫数  (入出庫T)
出庫数  (入出庫T)
式1: [期首在庫]+[入庫]-[出庫]

といれてみたのですが、同じ製品に対して入出庫のレコードの数だけ在庫数を
表示してしまいます。たとえば期首在庫100個のAという製品は入庫が2回50個と20個
出庫は1回30個あったとすると在庫数量には140個と出て欲しいんですけど、
上記のクエリーでは製品Aの在庫がそれぞれ150個、120個、70個とでてしまっています。
また、入出庫がない製品の在庫も表示できてないし...
どうか解決策を教えていただけないでしょうか。

964 :NAME IS NULL:04/06/07 13:35 ID:???
>>961
クエリ「Q_入出庫T_製品別集計」
 SELECT 製品ID, 製品名, Sum(入庫数) AS 入庫数の合計, Sum(出庫数) AS 出庫数の合計
 FROM 入出庫T
 GROUP BY 製品ID, 製品名;

クエリ「Q_製品マスターT_在庫数」
 SELECT t1.製品ID, t1.製品名
      , (t1.期首在庫 + Nz(t2.入庫数の合計,0) - Nz(t2. 出庫数の合計,0)) AS 在庫数
 FROM 製品マスターT AS t1 LEFT JOIN Q_入出庫T_製品別集計 AS t2
      ON (t1.製品ID = t2.製品ID) AND (t1.製品名 = t2.製品名);

965 :961:04/06/07 14:09 ID:v0TfDIUc
>964 本当に申し訳ありません、当方はどこに記述すればよいのかも分からない初心者です。
クエリーを二つ作成するんだなぐらいしか....涙

「Q_入出庫T_製品別集計」のフィールドにはそれぞれ
製品ID
製品名
Sum(入庫数) AS 入庫数の合計
Sum(出庫数) AS 出庫数の合計
をいれればよいのでしょうか?だとしたら
    FROM 取引T
     GROUP BY 製品ID, 製品;
の部分はどこに書き込めばよいのでしょうか?それとも>964さんが記述して
くれたものをどこか1箇所に貼り付ければよいのでしょうか?
本当に何も知らず申し訳ありません。





966 :NAME IS NULL:04/06/07 14:23 ID:vuLmbwKd
>>965 本ぐらい買って読めば?

967 :NAME IS NULL:04/06/07 20:39 ID:sWJqhsx2
>>965
クエリなんかデザインのところぽちぽちいじってれば出来るだろ

968 :NAME IS NULL:04/06/07 23:56 ID:???
入出庫履歴を集計したクエリをつくる(IDグループ化、数量合計)

さらに、その集計クエリとマスタで、もう一つのクエリをつくる。

IDどうしを結ぶ。

結合線にマウスポインタを当てて右クリックする。

あとは自分で試しながら考えてくれ

969 :961:04/06/10 14:14 ID:???
>968
おかげ様で出来ました、感謝。


970 :NAME IS NULL:04/06/10 22:07 ID:U7F/0jCv
mdbでVBモジュールを使用してテキストファイルをインポートする時、
*.txtだとOK、*logだとNGになるんですが、原因わかる方いますか?

971 :NAME IS NULL:04/06/11 07:22 ID:A83B6YBV
txtでないから

972 :NAME IS NULL:04/06/12 12:11 ID:???
リネームすりゃいいじゃん。

973 :NAME IS NULL:04/06/12 23:41 ID:yCQzoECG
Access2000のVBAに関する質問です。

モジュールより新規テーブルの定義を行う必要があります。
CreateTableDefとCreateFieldを組み合わせてテーブル生成をすることはできたのですが、
主キーの設定をVBAから行う方法がわかりません。
方法をご存知の方、教えていただけますでしょうか。

974 :NAME IS NULL:04/06/12 23:53 ID:???
>>973
DAO なら、Primary = True にした Index を追加。


975 :NAME IS NULL:04/06/13 11:51 ID:a7F6G3Zw
>>973
できました。ありがとう。

976 :NAME IS NULL:04/06/13 11:52 ID:???
間違えました。>>974です。

977 :kk ◆WBRXcNtpf. :04/06/13 19:36 ID:dw0IFS93
l

978 ::sage:04/06/14 21:56 ID:vKQjEhzN
1

979 :sage:04/06/14 21:56 ID:vKQjEhzN
|

980 :NAME IS NULL:04/06/18 14:18 ID:???
ACCESSのクエリーで、「ある日付に対し○ヶ月後の月末 例:平成16年6月30日の4ヶ月後・・・平成16年10月31日」を指定する関数をつくりたいのですが、是非ご教授下さい。

981 :NAME IS NULL:04/06/18 14:19 ID:tPUG+vWu
まちがえました、あげときます(´・ω・`)ショボーン

982 :NAME IS NULL:04/06/18 14:41 ID:???
>>980
例でいえば、5ヵ月後の月初から-1日すると言う考え方

DateAdd("d", -1, Format(DateAdd("m", 5, [日付]), "yyyy/mm") & "/01")

983 :NAME IS NULL:04/06/18 15:04 ID:tPUG+vWu
>>982
ああ、ありがとうございます!!早速試してみます!!

しかし、なんて早いんだ(ノД`)ナカセル・・・

984 :NAME IS NULL:04/06/18 15:09 ID:tPUG+vWu
>>982
デキマシタ〜!!(・∀・)スバラシー

感謝です。ありがとうございました!!

985 :NAME IS NULL:04/06/18 15:12 ID:???
>>980
こういうのもある
DateSerial(Year([日付]), Month([日付])+5, 0)

986 :NAME IS NULL:04/06/18 15:57 ID:tPUG+vWu
>>985
それも使わせて頂きマシタ!(・∀・)両方あって助かりました。

284 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)