Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


479 / 500 ページ ←次へ | 前へ→

【3571】Re:非連結のテキストボックスにテーブルか...
質問  キャッピー  - 04/9/23(木) 23:10 -

引用なし
パスワード
   ▼こもれび さん:
何度もありがとうございます。
こもれびさんのおっしゃるとおりでしょうか?

顧客 氏名 住所 TEL
0001 ○○ ○○ xxx-xxx-xxxx
0002 ○○ ○○ xxx-xxx-xxxx
0003 ○○ ○○ xxx-xxx-xxxx
:  :  :    :

フォームヘッダー
顧客 氏名 住所 TEL ←ラベル
----------------------------------------
詳細
Me.顧客コード Me.氏名 Me.住所 Me.TEL ←非連結のテキストボックス
----------------------------------------
フォームフッター

こんな感じにしたいと思ってました。
テキストボックスのコントロールソースで、顧客マスタと連結(?)させれば、問題なく表示はなるのですが、マスタのデータを直接いじることになっちゃうみたいなので、非連結でやりたいなと、思ったんですが、他にどんな方法あるんでしょうか?本当にたびたび申し訳ありません。時間があったらレスお願いします。
・ツリー全体表示

【3570】Re:非連結のテキストボックスにテーブルか...
回答  こもれび  - 04/9/23(木) 22:30 -

引用なし
パスワード
   こもれびです

やっと話が見えてきましたけど、フォームの詳細に入れるレコードは
基本的に1レコードのみです。
複数のレコードは入りません。

もしかして、最終的にキャッピーさんが作られたい物は「クロス集計クエリー」
ではないでしょうか?

○ クロス集計クエリー(例)

    | 顧客1  顧客2  顧客3  顧客4  顧客5
-----------------------------------------------------------
製品A |
製品B |
製品C |<--------- 金額、データ数、その他 -------->
製品D |
製品E |

もし、これだとしますと作り方は全く違いますよ。

>Set Me.Recordset = recAdress
>は、どういう意味をもってるのでしょうか・・・?

これは、レコードセットをフォームにそのまま表示するだけです。
・ツリー全体表示

【3569】Re:非連結のテキストボックスにテーブルか...
発言  キャッピー  - 04/9/23(木) 20:40 -

引用なし
パスワード
   ▼こもれび さん:
たびたび申し訳ありません。

Set Me.Recordset = recAdress
は、どういう意味をもってるのでしょうか・・・?

vntArray = recAdress.GetRows(, , "顧客コード")
を使うことでデータは間違いなく順番に読み込まれてきます。
テキストボックスは「デザインモードの「詳細」に並んでいるテキストボックス」ということです。
これが「Me.顧客コード」って訳なんですが、読み込まれたデータをどうやって、列ごとに分けてセットしてやればいいのかわかりません。
データ1は一列目の「Me.顧客コード」、データ2は二列目の「Me.顧客コード」・・・
「Me.顧客コード」に順番とかつけることってできるんでしょうか?
初心者なんで、なにとぞよろしくお願い致します。
・ツリー全体表示

【3568】Re:非連結のテキストボックスにテーブルか...
回答  こもれび  - 04/9/23(木) 17:54 -

引用なし
パスワード
   こもれびです

▼キャッピー さん:

> テキストボックスは一つで、それがデータに合わせて増えてくれるみたいなんですが。んー、またちゃんと伝わらないような・・・

あっ、テキストボックスって表形式のテキストボックスのことですか…(*o*;
ということは、単にレコードセットをフォームに表示しなさいってことですね
(デザインモードの「詳細」に並んでいるテキストボックスということですね)

それでしたら…
Dim recAdress As New ADODB.Recordset
Dim cn As New ADODB.Connection

  Set cn = CurrentProject.Connection    

  recAdress.Open "顧客マスタ", cn, adOpenKeyset,adLockOptimistic

  Set Me.Recordset = recAdress

サブフォームを使っていらっしゃらないのでしたら、これでいけるはずです。
・ツリー全体表示

【3567】Re:非連結のテキストボックスにテーブルか...
発言  キャッピー  - 04/9/23(木) 15:39 -

引用なし
パスワード
   ▼こもれび さん:
レスありがとうございます。
しかしごめんなさい、やはり上手く状況が伝わってなかったようです。
テキストボックスは一つだけなんです。そしてデータは4つと限らずたくさんあります。表形式のフォームにしたんで、テキストボックスは一つで、それがデータに合わせて増えてくれるみたいなんですが。んー、またちゃんと伝わらないような・・・
・ツリー全体表示

【3566】Re:エクセルファイルのレポート挿入につい...
お礼  やま  - 04/9/23(木) 9:46 -

引用なし
パスワード
   YU-TANG さん
おはようございます。やまです。
返事遅れまして失礼しました。

なるほど!メタファイルの制限ですね。Wordでも同じような現象
でした。
助言いただいた策でチャレンジしてみます。

本当にありがとうございました。
・ツリー全体表示

【3565】Re:非連結のテキストボックスにテーブルか...
回答  こもれび  - 04/9/23(木) 9:05 -

引用なし
パスワード
   こもれびです

次をお試しください

1.
フォーム上に配置した各テキストボックスの名前を規則化しておいて下さい
(例:Txt00,Txt01,Txt02,Txt03)
2.

  do Until recAdress.EOF
   Me("Txt" & Format(i, "00")).Value = recAdress!顧客コード
   I = I + 1
   recAdress.movenext
  loop

問いに記されたテキストボックスは4つで顧客コードも4つだけと
読めましたので、上の1の例はTxt00〜Txt03となっておりますが、
数に応じて適宜増やしてください。

ところで…Adressのスペルは本来Addressではないですか?
・ツリー全体表示

【3564】Re:印刷の不具合??
発言  こもれび  - 04/9/23(木) 0:47 -

引用なし
パスワード
   レポートはフロントエンドにあるのですか?
・ツリー全体表示

【3563】Re:レコード連結フォームのレコードの移動
お礼  ぷー  - 04/9/22(水) 17:20 -

引用なし
パスワード
   ありがとうございました。
悩んでいたフォームでは出来ませんでしたが、単純なフォームで試したらできました。
問題のフォームは、他にいろんな事をしているので出来ないのですね。
Gotorecord が使える事が解り次に進めます。ありがとうございました。
・ツリー全体表示

【3562】非連結のテキストボックスにテーブルから...
質問  キャッピー  - 04/9/22(水) 16:57 -

引用なし
パスワード
   どうかお助けを〜
表形式のフォームを作成し、テキストボックスに非連結でテーブルのデータを持ってくるようにしましたが、最後に読み込んだデータが全レコードに入ってしまいます。読み込んだデータをそれぞれレコード別に入れていくにはどうしたらいいのでしょうか?

顧客コード





↑こうしたいのに
↓こうなってしまいます・・・

顧客コード





Dim recAdress As New ADODB.Recordset
Dim vntArray As Variant
Dim vntTemp As Variant
    
recAdress.Open "顧客マスタ", CurrentProject.Connection, adOpenKeyset,
vntArray = recAdress.GetRows(, , "顧客コード")
For Each vntTemp In vntArra
  Me.顧客コード = vntTemp
Next

全部同じ「Me.顧客コード」に入れちゃってるのでこうなる理由は分かるのですが、レコード別に「Me.顧客コード」を指定してやる書き方がわかりません。それとも考え方が根本的に間違ってるのでしょうか?
うまく説明もできてるかどうかわかりませんがよろしくお願いします。
Accessは2000です。
・ツリー全体表示

【3561】Re:レコード連結フォームのレコードの移動
回答  クロ  - 04/9/22(水) 16:40 -

引用なし
パスワード
   使えますよ。
DoCmd.GoToRecord acDataForm, "フォーム名", acGoTo, InputBox("移動先を入力")
で試してください。
インプットボックスが開きますので移動先件数を入れて下さい。

>  エラー:指定したレコードに移動できません
このエラー5件のレコードしかないのに6件目を指定した場合に出ますね
・ツリー全体表示

【3560】レコード連結フォームのレコードの移動
質問  ぷー  - 04/9/22(水) 16:21 -

引用なし
パスワード
   ぷーです。初めて投稿させていただきます。
フォーム上でレコードソースを指定し連結のテキストを作りました。
移動ボタンのほかにレコード番号を直接指定してレコードの移動をし、カレントレコードにしたいのですがうまく出来ません。
下記のようにして見ましたが、エラーになってしまいます。
初歩的な質問ですが、よろしくお願いいたします。

  DoCmd.GoToRecord acDataForm, "S0010 雑誌MX", acGoTo, 件数_WK
  
  エラー:指定したレコードに移動できません
 
  ※連結フォームの場合、gotorecord は使えないのでしょうか?
・ツリー全体表示

【3559】Re:メニュー用フォームビルダ
お礼  さち  - 04/9/22(水) 11:09 -

引用なし
パスワード
   ▼クロ さん:
>データベースウィンドウのテーブルタブに「Switchboard Items」が
>あったら削除してみては?

できました。ありがとうございます。
・ツリー全体表示

【3558】印刷の不具合??
質問  MAD BAZ  - 04/9/22(水) 10:00 -

引用なし
パスワード
   久々に失礼いたします。どうしてもわからず、どなたかお教えください。
Access2000で在庫管理DBを作り、バックエンドを2000serverにおいて、数機にフロントエンドを置き、レーザープリンタを共有して、ピッキングリストを出力するのですが、内一台のWindowsMe機で出力すると、一ヶ月に2回程度、ピッキングリストの最下行が印刷されません。品番が途中までしか印刷されなかったり、数量が抜けていたり、元のオブジェクトが印刷されなかったりと、まちまちなのですが、印刷のかすれ等ではありません。APIか何かの影響かと、理解の範囲を超えています。どうぞどんなヒントでもかまいませんので、お教えください。
・ツリー全体表示

【3557】Re:メニュー用フォームビルダ
回答  クロ  - 04/9/21(火) 17:08 -

引用なし
パスワード
   データベースウィンドウのテーブルタブに「Switchboard Items」が
あったら削除してみては?
・ツリー全体表示

【3556】Re:日付の最新順にするには?
回答  クロ  - 04/9/21(火) 17:01 -

引用なし
パスワード
   >日付は日付型になっていますが降順にしても変わらず2004/01/01→2004/09/21という
>順になってしまいます。何がいけないのでしょうかね・・・

1)この「並べ替え」より優位(左側)に別の「並べ替え」がある
この場合は「日付」フィールドを最左端にドラッグアンドドロップで移動する

2)データベースが破損している
現行のmdbファイルをコピー(バックアップ)後に
ツール>データベースユーティリティ>最適化/修復
をしてみる。
ダメな場合は新規mdbを作成後、現行mdbからオブジェクトをインポートする。
新規mdbから
ファィル>外部データの取り込み>インポート>現行mdbを指定>すべての
オブジェクトにチェックを入れ>OK
※インポート定義などがある場合は「オプション」をクリックしてチェックする事

こんなものでしょうか?
・ツリー全体表示

【3555】Re:日付の最新順にするには?
回答  Gin_II  - 04/9/21(火) 17:00 -

引用なし
パスワード
   >降順にしたのですがだめでした。
>他に何か設定があるのでしょうか?

確認は、クエリでしていますか??
クエリでしているのなら、クエリを開くときにパラメータ要求がきたりしませんか?
・ツリー全体表示

【3554】Re:日付の最新順にするには?
質問  さち  - 04/9/21(火) 16:50 -

引用なし
パスワード
   ▼クロ さん:
>>昇順にすると2004/1/1→2004/0901という順番になってしまうのですが・・・
>
>日付のデータ型は「2004/0901」になると言うことはテキストなのでしょうか?
>クエリの空いているフィールドに
>Format(Replace(Format([日付],"yyyymmdd"),"/",""),"@@@@\/@@\/@@")
>と入れて「並び替え」を降順にしてはどうでしょうか?

日付は日付型になっていますが降順にしても変わらず2004/01/01→2004/09/21という順になってしまいます。何がいけないのでしょうかね・・・
・ツリー全体表示

【3553】メニュー用フォームビルダ
質問  さち  - 04/9/21(火) 16:38 -

引用なし
パスワード
   メニュー用フォームビルダで一度メニュー画面を作成し削除しました。そして又メニューフォームビルダでメニュー画面を作成してもメニュー画面が作成されないのですがどうしたらよいですか?
ちなみに、accessを開くと"メインメニューが不正です"とメッセージが出ます。
・ツリー全体表示

【3552】Re:クエリについて
発言  こもれび  - 04/9/20(月) 23:51 -

引用なし
パスワード
   ▼きらら さん:
>はじめまして、質問があります。
>例えばきゅうりと入力して10%で出るようにしてもう一度クエリをおしたらさらに10%引きになってしまいました。またクエリを押すとさらに10%引きになったのですが直し方を教えて下さい。お願いします。

いろいろ必要と思われる情報が不足しているように思うのですが、
次の点を教えてください。

その1
「きゅうり」という(恐らく)品物の名前をフォームに配置されたテキストボックスに入力し、同じくフォームに配置されたコマンドボタンをクリックし計算させているということでよろしいのでしょうか?
その2
「10%引き」ということで価格の計算ということでテーブルには標準価格等のデータがあるということでよいのでしょうか?
その3
「クエリを押す」ということでコマンドボタンの操作かなと考えましたが、
ボタンの1回の操作そのものは10%引きの実行でよいのでしょうか?
・ツリー全体表示

479 / 500 ページ ←次へ | 前へ→
ページ:  ┃  記事番号:
1084777
(SS)C-BOARD v3.8 is Free