マンガでよめる痔のこと・薬のこと

アクセス フォームにコード番号を入力すると会社名が表示できるようにしたいのですが、今はフォームを一度閉じないと更新されません。なぜでしょうか。
フォームのレコードソースは
Aリース物件テーブル
Bリース会社リストテーブル
C引落銀行口座リスト
の3つのクエリーをつなげたものです。
更新ボタン(F5)を押すかフォームを一旦閉じて開くと出てくるのですが
リース会社の番号を入力するとフォームにリース会社がすぐ表示されるようにしたい。
引落銀行コード番号を入力するとフォームに銀行名がすぐに表示されるようにしたい。

アクセス 詳しくありません。わかりやすい言葉で教えていただけますでしょうか。

A 回答 (1件)

表示されないのはレコードの保存がされていないからなのですが


とりあえずマクロやVBAを使わずに表示する方法の1例。

http://accessvba.blog.so-net.ne.jp/2011-03-01-1
    • good
    • 0
この回答へのお礼

助かりました

教えていただいてありがとうございました。
時間かかりましたが出来ました。

お礼日時:2017/09/25 11:16

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

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

QAccessでのNullと長さ0の文字列につきまして

1、AccessにはNullと長さ0の文字列があるそうですが、どちらの空白を使うべきでしょうか?
2、すでに入力した空白をNullもしくは長さ0の文字列に簡単に置き換えができるのでしょうか?
3、長さ0の文字列の入力の際にわざわざ""をいれるのが面倒なことにつきまして
以上のことをお聞きしたいと思います。

今年から顧客情報をデータ管理しようと思い、Excelを利用していたのですが、データが複雑になり、Accesの方が良いと判断したため、数日前使い始めました。
Excelからインポートした今まで作ったデータに新しいデータを追加したのですが、IIfで""に一致する条件分岐をクエリ上に作るも、追加したデータは一致しません。
値要求と空文字の設定を「はい」変えましたが、すでに入力した分が自動的に置き換わることもなく、また、値要求の関係でレコードの追加のたびにいくつもある空白セルに""の入力を要求されたりと、面倒に感じました。

もう一つAccessの質問ではないのですが、Excelで空白を関数を引用すると、0が出現することがあります。
これはAccessのNullと長さ0の文字列と同じようなものなのでしょうか?

調べてもnullと長さ0の文字列についての違いがほとんどわからなかったため、勘違いているところもあると思いますが、ご指摘とご回答をよろしくお願いします。

1、AccessにはNullと長さ0の文字列があるそうですが、どちらの空白を使うべきでしょうか?
2、すでに入力した空白をNullもしくは長さ0の文字列に簡単に置き換えができるのでしょうか?
3、長さ0の文字列の入力の際にわざわざ""をいれるのが面倒なことにつきまして
以上のことをお聞きしたいと思います。

今年から顧客情報をデータ管理しようと思い、Excelを利用していたのですが、データが複雑になり、Accesの方が良いと判断したため、数日前使い始めました。
Excelからインポートした今まで作ったデー...続きを読む

Aベストアンサー

どちらの空白を使うかは、その値(情報)の使い方によって変わってくると思いますので
「どちらを使うべきか」は一概に言えないと思います。

ただ、「備考に特に記述する情報は無い」とか、「Fax番号は必須ではないので記述しなくともよい」等
テーブルのそのフィールドに値が無くてもいい時などは、私はNullを使っています。
理由としては、
1.レコードを追加した状態ではフィールドはNullなので、そのままでよいから
2.フォームから値を代入する場合、フォームのテキストボックスが空の状態ではNullが代入されるから

>2、すでに入力した空白をNullもしくは長さ0の文字列に簡単に置き換えができるのでしょうか?

私の場合ですが、Excelから最初にインポートした後で、VBAでテーブルの全フィールドを検索して
長さ0の文字列("")をNullに置換するルーチンを走らせています。
他にもっと良い方法が有るのかもしれませんが。。。

Qエクセルで見えないが、何かがまだは言っているのを取りのぞくにはどうすればいい。

教えてください。

エクセルのA1に「〇○錠 1.5錠」、A2に「〇○錠 3錠」としてある場合。
「〇○錠     」とだけするために、1.5錠を「””」、3錠を「""」として変換して
一応消されはするのですが、ピポットテーブルにのせると同じものと認識しないが、
これにはなにか残っているようなのですが・・。これを消して同じものとして
認識するためにはどうすればいいか。クリーン関数などというのもあるようだが、使い方が
わからない。

Aベストアンサー

>1.5錠を「””」、3錠を「""」として変換して

これ、どうやったんですか?数式?
置換機能?
◯◯錠の後ろにスペースが残っているのでは?

=CLEAN(TRIM(A1))

とかで、一度にやってしまったら如何でしょうか?

Q更新クエリで日付だけ更新されません。

お世話になります。
以前、ご回答くださった方、ありがとうございます。

質問なのですが、accessでフォームを作り、日付型(と数値型)のカラムのみ更新されません。
どういうことが原因でしょうか。
今までは短いテキストで誤魔化してきていたのですが、今回はどうしても日付型の必要があります。

▼DB
○ シリアルナンバー 短いテキスト
○ 顧客番号 短いテキスト
○ 顧客氏名 短いテキスト
○ フリガナ 短いテキスト
× 貸出日  日付型
× 返却日  日付型

▼フォーム
シリアルナンバー デフォルト
顧客番号 デフォルト
顧客氏名 デフォルト
フリガナ デフォルト
貸出日  日付型 日付(S)
返却日  日付型 日付(S)

短いテキストにすると、更新クエリのうち、×の部分も更新できます。
よろしくお願いします。
参考程度でもいいのですが、数値型も更新できない理由が知りたいです。

Aベストアンサー

なるほど、フォームから更新クエリですね。
お書きになった内容でできるように思うのですが、なぜだろう?^^;
画像がよく見えませんが、2017/08/28の表示形式でしょうか?
8/28と入力すれば2017/08/28になりますか?

とりあえず、No.1の方が仰るようにCDate関数を使ってもできませんか?
患者一覧.貸出日 =CDate([Forms]![フォーム_患者一覧]![貸出日])
またはFormat関数で
患者一覧.貸出日 =Format([Forms]![フォーム_患者一覧]![貸出日],"yyyy/mm/dd")
それでも駄目なら
患者一覧.貸出日 =CDate(Format([Forms]![フォーム_患者一覧]![貸出日],"yyyy/mm/dd"))

Q全てのテキストボックスをセルに出力

VBAを使ってシート上の全てのテキストボックスのテキストを取得・出力するマクロを作成したいと思っていますがうまく行きませんので、お知恵を拝借したいと思います。

環境:Windows10 Office2016

状況:
既存のエクセルシートに約100個以上のテキストボックスが作成されており
一覧を作成するためにセルにコピーしたい。

テキストボックスの並び順などは一切こだわりません。
そもそも実現可能かでもご存知の方いらっしゃいましたらお教えください。

Aベストアンサー

> 上記は出力結果の例ですが、数字部分はテキストの作成順を表すものでしょうか。
> そうであれば、例えば新規に追加した図形は textbox 164 となるべきだと思いますが

Excelが勝手に付ける番号って以上は、特に決まり無いのでは。
手動でtextbox 165とか、textbox 9999999とか作ったとして、次に連番振らなきゃならないって事もないでしょうし。


> If tx.Type = msoTextBox Then
> のほうが良いかと。

良さげですね。

Qプリンタの設定を同じようにしているのに、ものによって変わってしまうのはなぜ?

プリンタはエプソンのEP-806Aシリーズを使っていて、A4とB5とA5をよく印刷します。
エクセルのプレビュー画面を開いて、A5は「お気に入り」にA5として登録してあり、印刷したいときは、プリンタのプロパティをA5に設定して使います。
でも、原因はわからないのですが、毎回初期設定に戻ってしまって設定しなおさなくてはならないものと、設定がそのまま生きているものとあります。なぜだかわかる方いらっしゃいますか?一度設定したらずっと設定したままになっていてほしいのですが。

Aベストアンサー

そうですか。残念です。
一応、下記設定で動作しないのですね。
これで、動作しないなら、エプソンのプリンタドライバではこのコードではダメなのかもしれません。

Sub PageSize()

Dim ws As Worksheet
Set ws = ActiveSheet

'用紙サイズ設定
ws.PageSetup.PaperSize = xlPaperA4

'印刷品質設定
ws.PageSetup.PrintQuality = -3

'印刷プレビュー表示
ws.PrintPreview

End Sub

他の方法として、用紙設定は、最初のマクロを使用して、印刷品質設定は変更しないなら、スタート→設定→デバイス→プリンターとスキャナー→関連設定→デバイスとプリンターからコントロールパネルのプリンタの設定画面が出てくるので(Win10の場合)、右クリック→プリンターのプロパティ→基本設定→印刷品質設定で次回もこの設定で印刷する、にチェックを入れる、で行けるかも?ただ、エプソンの場合も同じように次回もこの設定で印刷する、があるかどうかは分かりません。

そもそも、質問の間違いだと思って無視していたのですが、エプソンのプリンタにお気に入りという機能があるのですね。
ネットで見るところ、この設定も先ほどのコントロールパネルのプリンタアイコン上で右クリック→印刷設定→基本設定→応用設定→登録/削除→設定名」や「コメント」の入力、およびアイコンの設定を行い、[登録]ボタンをクリックします。「設定リスト」に入力した設定名が追加されたことを確認し、[閉じる]ボタンをクリックします。
というやり方で登録してましたか?

そうですか。残念です。
一応、下記設定で動作しないのですね。
これで、動作しないなら、エプソンのプリンタドライバではこのコードではダメなのかもしれません。

Sub PageSize()

Dim ws As Worksheet
Set ws = ActiveSheet

'用紙サイズ設定
ws.PageSetup.PaperSize = xlPaperA4

'印刷品質設定
ws.PageSetup.PrintQuality = -3

'印刷プレビュー表示
ws.PrintPreview

End Sub

他の方法として、用紙設定は、最初のマクロを使用して、印刷品質設定は変更しないなら、スタート→設定→デバイス→プリンターとスキ...続きを読む

Qクエリの値によって、表示するレポートを変更する方法

クエリ「Q_test」があります。
このクエリのフィールドは1つのみあり、iifの判定により、"1" か "2"が表示されるようになっています。

レポートは「A」と「B」の2つあります。

フォームのボタンを押した時、Q_testが”1”だったらレポートA、”2”だったらレポートBを表示したいのですが・・・

ご指導をお願いします。

Aベストアンサー

>iifの判定により、"1" か "2"が表示されるようになっています
これが文字列なら

Select Case DLookup("フィールド名", "Q_test")
Case "1"
DoCmd.OpenReport "レポートA", acViewPreview
Case "2"
DoCmd.OpenReport "レポートB", acViewPreview
End Select

QExcelのformat関数を活用してファイルを指定したいのですが、うまくできません

WindowsのExcelのformat関数で困っています。お知恵をお貸しください。

サーバー上のExcelデータをクライアント側のExcelで取り込みたいのですが、サーバー上のExcel毎日サーバーから日付で出力されます。
 server側のエクセルデータ
  8月1日ですと20170801.xlsx
7月31日ですと20170731.xlsx
  エクセルデータの保管場所は、¥¥192.168.13.xxx¥保管¥○○○○.xlsx
クライアント側のExcelデータ
  取得元のファイルが毎日異なるのでファイル名にformat関数を利用しようと考えています。
該当するセルに値があるときに1を返すようにしています。
  次のようなコードを作成したい。このコードで実際に稼働しています。
  Dim today As String
  today = Format(Now(), "yyyymmdd")
  dve = ThisWorkbook.Path
ActiveSheet.Range("c2") = "=SUMPRODUCT(('\\192.168.13.xxx\保管\[20170801.xls]1nen'!a3:a44=1)*1)"
  
  お知恵をお借りしたいのは、[20170801.xls]の箇所です。この場所をどのように分割すればいいのか分かりません。いろいろと試したのですが、うまくいきません。お知恵をお貸しください。
  
皆様のお力をお貸しください。
よろしくお願いします。

WindowsのExcelのformat関数で困っています。お知恵をお貸しください。

サーバー上のExcelデータをクライアント側のExcelで取り込みたいのですが、サーバー上のExcel毎日サーバーから日付で出力されます。
 server側のエクセルデータ
  8月1日ですと20170801.xlsx
7月31日ですと20170731.xlsx
  エクセルデータの保管場所は、¥¥192.168.13.xxx¥保管¥○○○○.xlsx
クライアント側のExcelデータ
  取得元のファイルが毎日異なるのでファイル名にformat関数を利用しようと考えています...続きを読む

Aベストアンサー

こんにちは

>お知恵をお借りしたいのは、[20170801.xls]の箇所です
「20170801」の部分を変数todayの内容に置き換えたいということでしょうか?

関数式を設定している"=SUMPRODUCT((~~~"の部分は、コード実行時にはただの文字列です。
セルに設定された時点で、エクセルが関数式と認識して内容に応じた計算をしてくれます。

とはいうものの、通常は関数式を設定する際は、
 Range.Formula = ~~
を用いているように思いますが・・・・

それはさておき、単純に文字列として合成できれば良いので
  "=SUMPRODUCT(~~~\[" & today & ".xls]~~~*1)"
のような文字の連結で良さそうに思いますが、それではうまくいかないということなのしょうか?

※ ご説明の文章では拡張子が「xlsx」ですが、ご提示のコードでは「xls」となっています。
 どちらが正しいのかわかりませんので適宜に。

Q【VBA】スピンボタンでアクティブセルを移動したい

お世話になります。

タブレットPCでエクセルを使っております。
スクロールバーが狭く操作しにくいため
スピンボタンを作成しスピンボタンで
20行単位で画面がスクロールできるようにしました。

ここまでは問題ないのですが、、、、
せっかくなので、スクロールした時にアクティブセルも同様に
20行単位で移動するようにしたいと思っております。

すいませんが詳しい方、説明の上手な方、直接コードで説明できる、
お手数ですがスピンボタンでスクロールした時にアクティブセルも同時に
移動する方法を教えて下さい。

追記
とりあえず以下のところまでは自力で出来ました。
ボタンの名前、ユーザーフォームの名前を合わせて頂くとありがたいです。
※不可でしたら新規のものでもOKです。

お手数ですがよろしくお願いします。

--------------------------------------------
Option Explicit
Private Sub SpinButton1_SpinUp()
ActiveWindow.SmallScroll Down:=-20
End Sub

Private Sub SpinButton1_SpinDown()
ActiveWindow.SmallScroll Down:=20
End Sub
--------------------------------------------
以前、こちらでスピンボタンについて教えて頂いたことがあります。
※教えて下さったtatsu99さん、ありがとうございました。

EXCEL ユーザーフォームのタイトルバーの高さを広くしたい

https://oshiete.goo.ne.jp/qa/9545290.html

お世話になります。

タブレットPCでエクセルを使っております。
スクロールバーが狭く操作しにくいため
スピンボタンを作成しスピンボタンで
20行単位で画面がスクロールできるようにしました。

ここまでは問題ないのですが、、、、
せっかくなので、スクロールした時にアクティブセルも同様に
20行単位で移動するようにしたいと思っております。

すいませんが詳しい方、説明の上手な方、直接コードで説明できる、
お手数ですがスピンボタンでスクロールした時にアクティブセルも同時に
移動する...続きを読む

Aベストアンサー

こんなふうにしたらどうでしょうか。

Private Sub SpinButton1_SpinUp()
Dim rng As Range
 Set rng = ActiveCell
 ActiveWindow.SmallScroll Up:=20
 On Error Resume Next
 rng.Offset(-20).Select
 On Error GoTo 0
End Sub

Private Sub SpinButton1_SpinDown()
Dim rng As Range
 Set rng = ActiveCell
 ActiveWindow.SmallScroll Down:=20
 On Error Resume Next
 rng.Offset(20).Select
 On Error GoTo 0
End Sub

エラー処理しないと、最上部に来た時、最下部に来た時に、エラーになるような気がしました。

Qパソコンで小説を書く場合、やはりwordや一太郎などの方がいいのでしょうか?

パソコンで新人賞に応募するための小説を書いています。
以前のパソコンではwordを使用していたのですが、新しく買ったパソコンにはwordが入っていなかったため、無料のopen office writerを利用してみました。
しかし、設定がうまく反映されない事があまりにも多く、非常に使いづらかったです。
やはり有料のwordや一太郎などを使うしかないのでしょうか?回答よろしくお願いします。

Aベストアンサー

open office writer ではファイルの受け渡しが困るでしょう。
紙ベースで渡せばいいですが、ファイルでの受け渡しでは標準的なWordが一番でしょう。
まあテキストファイルで良ければメモ帳でも、無料のテキストエディタでもいいと思います。

Qエクセルの使い方ってどこで習いましたか?

学校では習いませんよね?

Aベストアンサー

私も独学です。
解らないのはネット検索で結構見つかりますので助かっています。(笑)


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング