http://oshiete1.goo.ne.jp/kotaeru.php3?q=140115
の回答を参考に、自分なりに変更させてやってみたところ、変な結果になってしまいました。

今現在の状態としては、
「支払先テーブル」というものがあり、
No  支払先名1  支払先名2
というフィールドがあります。

また「フォーム1」というフォームがあり、
そちらには
支払先No  支払先名1  支払先名2  テキスト1
というフィールドがあります。

フォーム1の支払先Noはルックアップになっていて、選択すると、「支払先テーブル」のNo・支払先名1・支払先名2のすべてが出てきて、どれかを選ぶと、Noが出るようになっています。

希望としては、上記に書いた、フォーム1の支払先Noで、選択すると自動で支払先名1、支払先名2に自動で入力されるようにしたいのです。


一番最初にもかいたように、参照ページをみながらやったので、ためしに、新しいフィールドをフォームに作成しました。(テキスト1)
こちらのコントロールソースに
=DLookUp("支払先名1","支払先テーブル","No"=[Forms]![フォーム1]![支払先No])
と入力して、実行したところ、「支払先No」が空欄の場合だけ、一番最初の「支払先名1」が出てきて、支払先Noが入っているところは空欄になってしまいました。

一体どこが間違っているのでしょうか?
よろしくお願いします。

A 回答 (2件)

失礼しました。



私は、更新後処理のイベントプロシージャで次のようにやっています。

参考になれば

Private Sub 支払先No_AfterUpdate()
me![支払先名1] = me![支払先No].Column(1)
me![支払先名2] = me![支払先No].Column(2)
End Sub

この回答への補足

2度もご回答ありがとうございます。

教えていただいたものを実行してみました。
が!変化が起きず・・・。

これは、上記でいうとフィールドの「支払先No」のところに入れていいんですよね?
そこの更新後処理のイベントプロシージャで「式ビルダ」を選択して、以上のものを入力すればできるはずなんですよね?

・・・やってみたんですが、変化がでないし、一度実行して戻る(デザインビューに)と、きれいサッパリ消えてしまっているんです。
なぜでしょうか?

まったくもって間違ったことやってますか?(汗)

何度も申し訳ありません。。。

補足日時:2001/11/26 16:44
    • good
    • 0
この回答へのお礼

すいません。
式ビルダではなく、コードビルダでしたね(^^ゞ

おかげさまでできましたっ!
本当に本当にありがとうございました!!

お礼日時:2001/11/26 16:50

空欄のときは処理をしないようにしてはいかがですか?



http://oshiete1.goo.ne.jp/kotaeru.php3?q=140115

には iif(Isnull・・・ と書いてありますが

この回答への補足

最後にそこは入れますが、今の状態では、それを入れると、すべて空欄になってしまうのです。

数値が入力されたらそれを参照して結果を入力、としたいのに、実際は
・入力されていたら >>> 空欄
・入力されていないと >>> 何か文字が入る

となってしまうのです。

補足日時:2001/11/26 15:26
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QAccess2003]フォーム:オプショングループウィザード:割り当てる値「Yes/No型」

4月15日にオプショングループウィザードの割り当てる値について分からなくて質問しました。アドレスは、http://okwave.jp/qa4881106.htmlです。「Yes/No型」とは、理解できました。
http://okwave.jp/qa4881106.htmlで質問したことなのですが、更に疑問点が出てきました。参考書(下記のオプショングループウィザードは、著作権の関係もあり、ラベル名を変えてあります。また、テーブル名を変えてあります。)を見たら・・・・
オプションラベル名:営業中 営業終息
既存で選択するオプション:営業中
割り当てる値:営業中 0 営業終息 -1
値を保存するフィールド:営業終息
オプショングループのスタイル:標準
オプショングループの標題:営業終息

●「Yes/No型」について理解できた時点で、オプションラベル名:営業中 営業終息を入力した後、オプショングループウィザードの割り当てる値:営業中0  営業終息 -1と」の割り当てる値についてよく分からなくなりました。
☆営業中と営業終息の割り当てる値をそれぞれ入力するのに…..
(1)「営業終息」フィールド=オプションラベル名:「営業終息」なので、割り当てる値は、-1でOKでしょうか?
(2)「営業終息」フィールドは、イコールではないので、オプションラベル名:「営業中」の割り当てる値は、0と考えてOKでしょうか?

●もし…
『オプションラベル名:営業中 営業終息』で「値を保存するフィールド:営業中」だとしたら・・・「割り当てる値は、営業中 -1 営業終息 0」かなと思いました。この割り当てる値についての考え方でOKでしょうか?

*Access初心者なので簡潔に教えてくださったら助かります。

4月15日にオプショングループウィザードの割り当てる値について分からなくて質問しました。アドレスは、http://okwave.jp/qa4881106.htmlです。「Yes/No型」とは、理解できました。
http://okwave.jp/qa4881106.htmlで質問したことなのですが、更に疑問点が出てきました。参考書(下記のオプショングループウィザードは、著作権の関係もあり、ラベル名を変えてあります。また、テーブル名を変えてあります。)を見たら・・・・
オプションラベル名:営業中 営業終息
既存で選択するオプション:営業中
割...続きを読む

Aベストアンサー

きつい言い方になるのかもしれません。

先に結論を。
1度教えてくださる方と対話できる形で、講習なり講座を受けらたらと思います。
このご質問は数日前(22日?)の焼き直しと思います。
なぜ、回答がつかなかったのか、これについて考えて見られたらと思います。
Accessで実現する疑問点/対策/処置方法以前のものと、私は思います。
(今回のご質問からは消えていますが「返す」とはなんなのか・・・とか)


以下にご質問への回答になる(?)ものを記述します。

・フィールド名の命名について
フィールド名は後々処理するうえで、参照する人(VBAやクエリ等を利用して)がイメージしやすい名前を付けます。
今回で言えば「営業終息」という名前を付けたわけですが、値はYes/No。
では、営業終息=Yes と判別した時、どのようなイメージを持たれますか。
営業終息がYesなのだから、一段落した。。。と私はイメージします。
つまり、「営業終息」とフィールド名を決定したので、イメージと同じYes=-1の値を、オプショングループに表示している「営業終息」に割り当てます。
営業終息=No は、イメージからして終息していないのだから、営業中ととらえてた方が素直。

では、もし・・・のご質問に対して、
フィールド名を「営業中」とした場合、営業中=Yes をイメージしてください。

さらに、フィールド名を「営業」とした場合、営業=Yes でどのようなイメージを持たれますか。
(この場合、イメージし難いですよね)

前回の私の回答で、補足して書いておけばよかったのですが、
オプショングループで値をデータとして格納する場合の多くは、そのフィールドにどのような値を入れるか設計されていることの方が多いです。
オプショングループのそれぞれの値を逆にして入れても・・・は、通じません。
(オプショングループは単に分かりやすい入力を行わせるために使われる部品でしかないと思っています)

ただ、オプショングループの部分に限ってみれば、どの値をどの順で設定しなければならない、ということはありません。

きつい言い方になるのかもしれません。

先に結論を。
1度教えてくださる方と対話できる形で、講習なり講座を受けらたらと思います。
このご質問は数日前(22日?)の焼き直しと思います。
なぜ、回答がつかなかったのか、これについて考えて見られたらと思います。
Accessで実現する疑問点/対策/処置方法以前のものと、私は思います。
(今回のご質問からは消えていますが「返す」とはなんなのか・・・とか)


以下にご質問への回答になる(?)ものを記述します。

・フィールド名の命名について
...続きを読む

QACCESS 既存のテーブルのフィールド名をフォーム上のテキスト入力値に変更したい

いつもお世話になっております。

既存のテーブルのフィールド名を、単票フォーム上の入力値に変更
したいと思っています。
例)Aテーブル 月1 月2
  Bフォーム上のテキストA:200810 テキストB:200811
  (結果)Aテーブル 2008 200811

(テーブルデザインでの変更ではなく、コマンドボタン押下時等で行いたい)

どなたか、ご教示願います。

Aベストアンサー

フォームのボタンのイベントプロシージャの例
Private Sub コマンド_Click()
Dim TDS As DAO.Tabledefs
Dim TDF As DAO.Tabledef
Dim FLD As DAO.Field

Set TDS = CurrentDb.TableDefs
Set TDF = TDS("Aテーブル")
Set FLD = TDF.Fields("月1") '★1
FLD.Name = Me.テキストA.Value '★2
End Sub

★1定数にしておくと2回目からエラーになる。
 もし、「最初のフィールド」というなら(0)でも良い。
★2Null、空文字列、フィールド名として使えない文字のチェックを
 していないので、実際に作る時はチェックが必要

Qエクセルのピポットテーブルで、フィールド名が正しくないとのエラーが

 エクセルのピポットテーブルについて勉強し始めたところです。
 自分で作ったエクセルシートの一覧表をピポットテーブルを使って集計しようとしていますが、「ピポットテーブルのフィールド名は正しくありません。ピポットテーブルを作成するには、ラベルの付いた列でリストとして編成されたデータを使用する必要があります。ピポットテーブルのフィールド名を変更する場合は、フィールドの新しい名前を入力する必要があります。」というメッセージがでて、集計しようとする範囲が指定されません。
 ちなみに、元のシートの一覧表の項目には、左右隣同士のセルを結合して、その下に複数の項目を設けているセルが存在します。
 お解りの方、どうかよろしくお願いします。

Aベストアンサー

セルの結合をしていることが原因だと思います。結合を解除し、それぞれの列に項目名を入力してやれば、okだと思いますよ。

Qサブフォームからメインフォームのフィールドにエンターキーで移動したい

ACCESS2000です。
フォームの中にサブフォームを作っています。
入力される都合で、フォームの中途にサブフォームがあります。このサブフォームのレコードの数は固定しています。(今は19です)
サブフォームは帳票形式です。
サブフォームの最後のレコードでエンターキーやTABキーが押された時、メインフォームの指定するフィールドに移動するには、どうすれば良いでしょう。
使用者に特殊なキー操作を強要したくないので、VBAで記述したいのですが。

Aベストアンサー

安直なのはショートカットキーを利用することです。
ショートカットキーは、多用しますので<共通記号定数>モジュールにまとめるといいです。

Private Sub s_name_KeyPress(KeyAscii As Integer)
  If KeyAscii = 13 Then
    SendKeys conGotoMain, False
    KeyAscii = 0
  End If
End Sub

' ----------------------------------------------------------------------------------------
' 共通記号定数
' ----------------------------------------------------------------------------------------
Option Compare Database
Option Explicit

'
' ショートカットキー
'
Public Const conGotoMain = "^(+({HOME}))"
Public Const conGotoSub = "^(+({HOME})){UP}{TAB}"
Public Const conDefaultValue = "^(%({ }))"
Public Const conPreviousValue = "^("")"
Public Const conClearField = "+({UP}){DELETE}+({DOWN}){DELETE}"
Public Const conRestoreField = "{ESC}"
Public Const conNextField = "{TAB}"
Public Const conPreviousField = "+({TAB})"
Public Const conNextRecord = "^({PGDN})"
Public Const conPreviousRecord = "^({PGUP})"
Public Const conRequery = "+({F9})"
Public Const conNewRecord = "^({+})"
Public Const conDropDown = "{F4}"

安直なのはショートカットキーを利用することです。
ショートカットキーは、多用しますので<共通記号定数>モジュールにまとめるといいです。

Private Sub s_name_KeyPress(KeyAscii As Integer)
  If KeyAscii = 13 Then
    SendKeys conGotoMain, False
    KeyAscii = 0
  End If
End Sub

' ----------------------------------------------------------------------------------------
' 共通記号定数
' -----------------------------------------------------------------------...続きを読む

QFileMakerで特定フィールドを空欄で複製

FileMakerでレコードを複製する時に、特定のフィールドを空欄で複製する方法を教えてください。
当方デザインデータの管理をFileMakerで行っています。
得意先、担当者、管理番号、内容、サイズ、日付、デザイン内容のJPEG等をFileMakerで管理しています。
お客様から一回の案件で複数のデザイン作成や修正を行い、そのたびにFileMakerで管理しています。
フィールドの中で(デザインの)管理番号とデザイン内容のJPEGは同じものが絶対に存在することがないため、レコードを複製する時にこの2項目をコピーしないようにしたいです。
今、現在はショートカットで複製、上記の2項目を手作業で削除しています。
ボタンを作成してスクリプトを組むことになると思うのですが、どのようにすればいいでしょうか?

当方のPC環境はiMac、OS X10.6、FileMaker Ver10を使用しています。
ご回答のほど、よろしくお願いします。

Aベストアンサー

管理番号とデザイン内容のフィールドオプションで入力値の自動化で
計算式を選んで、式を「" "」にして既存値を置き換えるにチェックす
ると複製したときどちらのフィールドも空になります。

スクリプトでやるときは
 レコードの複製
 消去/管理番号
 消去/デザイン内容
 フィールドへ移動[] --指定しない


人気Q&Aランキング

おすすめ情報