OCN光で最大124,800円おトク!

アクセスを良く使っています。パラメータクエリでパラメータを入力するときに、IMEの日本語入力が、その直前の動作によってオンだったり、オフだったりするのですが、それを予め設定しておくことはできませんか。
テーブルに入力するときと同じようなイメージなのですが、どなたかご存知の方がいたらお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

プロパティで


IME入力モード保持「いいえ」にしておいて
IME入力モード、IME変換モード、等設定してみてはどうでしょう?

この回答への補足

ありがとうございます。
テーブルでもフォームでも、プロパティの画面で、アドバイスの通り設定しています。しかしそれを基にしたクエリを開け、パラメーターを入力するウィンドウになると、IMEの設定が利かなくなっています。
すみませんが、何かいい方法があったら教えてください。

補足日時:2006/08/22 10:05
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

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

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

Qアクセスで西暦データを和暦表示させる方法

テーブルのデータは西暦で管理していますが、レポートでは和暦で出力する方法は無いでしょうか。生年月日の表示などはどうしても和暦の方が一般的なので、変則的な方法を探していますので、教えて下さい。

Aベストアンサー

Accessでの和暦の表示
ge   H1
gge   平1
ggee  平01

gggee\年     平成01年
ggge\年m\月d\日   平成1年1月1日
gggee\年mm\月dd\日 平成01年01月01日

ge\/m\/d H1/1/1
gee\/mm\/dd H01/01/01

レポートの日付のフィールドのプロパティの書式で上記より選んで設定してください。

QAccess フォームのテキストボックスに半角英字のみで入力する設定は

IME入力モードをテーブル・フォームともオフにしたのですがひらがな入力モードになってしまいます。
フォームのテキストボックスに半角英字のみで入力する設定としてプロパティのIME入力モードをオフにするやり方自体が間違っているのでしょうか。
それともATOKを使っているなど利用するパソコン側の問題でしょうか

Aベストアンサー

IME入力モードを「使用不可」にしましょう。

QアクセスVBAのMe!と[ ]

基本的なことですみません。

アクセスのイベントプロシージャで、Me!ってありますけど、これはどういう意味なんでしょうか?

また、Me!の後に、Me!.~~と書く場合と、Me!.[~~]と書く場合がありますが、どこが違うのでしょうか?

Aベストアンサー

>プロシージャ内で[]を使う場合は、そのフォーム外のオブジェクトを使う場合と考えてよろしいでしょうか?
別のオブジェクトを使う場合だけではありません。
Hensu = Me![Text1]のようにHensuという変数に自身のTest1の値を代入する場合のように。
[]で括られているのがオブジェクト名やコントロール名だよという事。
クエリの抽出条件に存在しない[?]とすれば?というコントロール等が参照できないので?というダイアログが表示されるように?というオブジェクトやコントロールは何?と聞いてくるように。
>フォーム内のオブジェクトの場合はあくまでMe!で良いのでしょうか
Forms.[フォーム名]![コントロール名]やForms![フォーム名]![コントロール名]が構文。
アクティブなフォームが自分自身ならForms![フォーム名]の変わりにMeでもOKですという事。

と言う解釈の方が良いと思います。

QAccessで別テーブルの値をフォームに表示したい

初めてのAccessで分からない事があり質問させてください。

<会社テーブル>
会社ID
会社名
住所

<社員テーブル>
会社ID
社員名
ソート番号

*1社に対し複数の社員レコードが存在

以上のようなテーブルがあるとします

現在「会社テーブル」を表形式で一覧表示しています
会社ID,会社名、住所とフィールドが並んでいるのですが、その後ろに「社員テーブル」のソート番号が一番若い社員名を表示したいと考えています(現状は番号関係なく表示させる方法すら分かりません)

色々いじくりまわしたのですが、初めてAccessをさわる事もあってよくわかりません

リレーション等でひっぱってくる事ができるのでしょうか?

どなたか教えて頂けませんでしょうか

何卒よろしくお願い致します

PS.Access2013で作成中です

Aベストアンサー

単純にテーブル[会社]のみでフォームを作成し、社員表示用テキストボックスを追加。そして、そのプロパティを表示し

コントロールソース=DBLookup("SELECT 社員名 FROM 社員 WHERE 会社ID=" & [会社ID] & " ORDER BY ソート番号")

これは、以下の標準モジュールに登録したユーザ関数 DBLookup()を使っています。これで、クエリを用意しなくても目的を達成できます。

さて、かかるユーザ関数を標準ライブラリに登録したくない場合、

1、"社員ソートクエリ"を作成します。

SELECT 社員.会社ID, 社員.社員名
FROM 社員
ORDER BY 社員.ソート番号;

2、コントロールソースに次のように書きます。

=DLookUp("社員名","社員ソートクエリ","会社ID=" & [会社ID])

http://office.microsoft.com/ja-jp/access-help/HA001228825.aspx

DLookup()については、マイクロソフトの解説を参照されてください。

【DLookup()の限界を破るにはVBAで同じ関数を作るしかない】

マイクロソフトの解説を読めば判りますが、ORDER BY 節を指定する引数が用意されていません。ですから、どうしても、"社員ソートクエリ"を作成するという手間が必要となります。そこで、SQL文を引数とするDBLookup()をVBAで書けば、その手間を省けるという算段になります。この辺りは、好みと趣味の問題。どっちでも良いと思います。そういうお断りをした上で DBLookup()を紹介しておきます。なお、ADOは、つぎのように参照設定しないと利用できません。

http://www.happy2-island.com/access/gogo03/capter00307.shtml

Public Function DBLookup(ByVal strQuerySQL As String, _
             Optional ByVal ReturnValue = Null) As Variant
On Error GoTo Err_DBLookup
  Dim DataValue
  Dim rst     As ADODB.Recordset

  Set rst = New ADODB.Recordset
  With rst
    .Open strQuerySQL, _
       CurrentProject.Connection, _
       adOpenStatic, _
       adLockReadOnly
    If Not .BOF Then
      .MoveFirst
      DataValue = .Fields(0)
    End If
  End With
Exit_DBLookup:
On Error Resume Next
  rst.Close
  Set rst = Nothing
  DBLookup = IIf(Len(DataValue & ""), DataValue, ReturnValue)
  Exit Function
Err_DBLookup:
  MsgBox "SELECT 文の実行時にエラーが発生しました。(DBLookup)" & Chr$(13) & Chr$(13) & _
      "・Err.Description=" & Err.Description & Chr$(13) & _
      "・SQL Text=" & strQuerySQL, _
      vbExclamation, " 関数エラーメッセージ"
  Resume Exit_DBLookup
End Function

単純にテーブル[会社]のみでフォームを作成し、社員表示用テキストボックスを追加。そして、そのプロパティを表示し

コントロールソース=DBLookup("SELECT 社員名 FROM 社員 WHERE 会社ID=" & [会社ID] & " ORDER BY ソート番号")

これは、以下の標準モジュールに登録したユーザ関数 DBLookup()を使っています。これで、クエリを用意しなくても目的を達成できます。

さて、かかるユーザ関数を標準ライブラリに登録したくない場合、

1、"社員ソートクエリ"を作成します。

SELECT 社員.会社ID, 社員.社員名
FR...続きを読む

QACCESSに同時アクセス(編集)をしたい

教えてください。
ACCESSのDBに複数のユーザが同時にアクセスして、
データを追加・編集したいのですが、
やはり、不可能でしょうか?

Aベストアンサー

マイクロソフトのアクセスに同時に複数のユーザが同時にアクセスして
データベースを操作することは可能です。いくつかの方法がありますが、
昔私が簡便に行なっていた方法は「テーブルのリンク」です。

あるコンピュータにアクセスでdb1という名前のデータベースを作って
ここにデータを格納しておきます。

他方で別のコンピュータに、アクセスでdb2という名前のデータベースを作ります。

このdb2というデータベースのメニューで

「ファイル」->「外部データの取り込み」->「テーブルのリンク」

というのがありますから、最初に作ったdb1をたどり、リンクしたいテーブルを
選択します。

こうすることにより、db2にdb1のテーブルがリンクされ(リンクテーブルと
呼ばれます。アイコンが通常のテーブルと違います。)、db1に格納された
データをdb2で編集することができます。

db2で、db1からのリンクテーブルを元にクエリーを作成することもできます。
リンクテーブルに対してできないことはテーブル構造の変更くらいで
他のことはだいたいできると思っていいかと思います。

このような形をとれば、ローカルエリアネットワーク内の複数のコンピュータ
から同時に同じアクセスデータベースにアクセスすることは可能かと思います。

このやり方にはおそらく問題もあるだろうと思うのですが、昔私がやって
いた頃は、特段支障もなく業務を行なうことができました。問題は、これを
読んだ他の誰かが指摘してくださるかと思います。

同じレコードに複数ユーザが同じタイミングでアクセスするとややこしい
ことになります。これを回避するためには、db2にワークテーブルを備えておき、
リンクテーブルからレコードを一度db2に格納し、編集を終了したのちに
リンクテーブルのレコードを削除し、ワークテーブルで編集したレコードを
リンクテーブルに追加する、などのルーティンをマクロやVBAで構築するのが
よいかと思います。私はそのようにしていました。

他に、ADOを使う方法などもあります。方法はいくつかありますから、
少し研究してみるといいですよ。(^-^)

マイクロソフトのアクセスに同時に複数のユーザが同時にアクセスして
データベースを操作することは可能です。いくつかの方法がありますが、
昔私が簡便に行なっていた方法は「テーブルのリンク」です。

あるコンピュータにアクセスでdb1という名前のデータベースを作って
ここにデータを格納しておきます。

他方で別のコンピュータに、アクセスでdb2という名前のデータベースを作ります。

このdb2というデータベースのメニューで

「ファイル」->「外部データの取り込み」->「テーブルのリンク」
...続きを読む

QAccess、検索用フォームでのあいまいな検索

現在、Accessでデータベース作成をしています。

テーブル:  ・テーブルA
         ・テーブルB
         (A・B間にリレーションシップ設定)

クエリ    ・検索クエリ(テーブルA・テーブルBを元に作成)

フォーム   ・検索用フォーム(デザインビューでフォーム作成より)
         ・検索結果フォーム(検索クエリを元に作成)

また、以下のような設定を入力しました。

「検索クエリ」の抽出欄
 Like "*" & [Forms]![検索用フォーム]![検索したい名前] & "*"・・(1)
 ※検索したい項目、すべての抽出欄に設定済

「検索用フォーム」
 検索実行ボタンを作成し、マクロを設定
 ・フォームを開く→「検索結果フォーム」
 ・フィルタ→「検索クエリ」

上記の設定により、検索用フォームに検索文字を入力することで、その結果を「検索結果フォーム」に反映することができました。
ただ、テーブルAが元になっている項目の抽出欄のみに(1)を入力すると、うまくいくのですが、テーブルBが元になっている項目欄にも
(1)を入力しようとすると、検索用フォームからうまく検索することができなくなります。

2つのテーブルを元にしたクエリからは、検索用フォームをつかった複数のOR検索はできないのでしょうか??

ご存知の方、ぜひ教えてください。
よろしくお願いいたします。

現在、Accessでデータベース作成をしています。

テーブル:  ・テーブルA
         ・テーブルB
         (A・B間にリレーションシップ設定)

クエリ    ・検索クエリ(テーブルA・テーブルBを元に作成)

フォーム   ・検索用フォーム(デザインビューでフォーム作成より)
         ・検索結果フォーム(検索クエリを元に作成)

また、以下のような設定を入力しました。

「検索クエリ」の抽出欄
 Like "*" & [Forms]![検索用フォーム]![検索した...続きを読む

Aベストアンサー

>「Forms!検索用フォーム!検索したい名前」というタイトルの
>メッセージボックスが出る
これはそこに書いてあるものがAccessにとって不明なものだから
値の入力を要求してきているのです

検索用フォームは開いていますか?
フォームやテキストボックスの名前は間違っていませんか?

テーブルを結合したクエリであることとは全く関係ありません

QACCESS VBAでファイルを開くダイアログを表示させたい

ACCESSのフォームからコマンドボタンを押すことで、
ファイル開くダイアログが表示されて、
そこでファイル名をクリック指定することで、
実際にそのファイルがインポートされるように仕組みを作りたいと思っています。

VBAでどう記述するのでしょうか?
類似ケースの質問内容も調べましたがピンと来るものがありませんでした。
ご存知の方、教えて頂けるとありがたいです。よろしくお願いします。

Aベストアンサー

CSVファイルの場合ですが、こちらを参考に。
http://www.accessclub.jp/bbs3/0364/superbeg109189.html

Excelの場合は
DoCmd.TransferSpreadsheet acImport, 8, "テーブル名", strFileName, True, ""
のようになります。
詳しくは、TransferSpreadsheet をヘルプで調べてください。
マクロの「ワークシート変換」を 作成し
「マクロを Visual Basic に変換」で
VBA のコードにしてみるのも良いでしょう。

Qアクセスで特定のレコードのみのレポートを印刷したいのですが。

アクセス2003である特定のレコードのみのレポートを印刷したいと思っています。現在開いているフォームのレコードのみを印刷(レポートとして)印刷するには、ファイル→印刷→ページ指定で現在印刷しているのですが、他に方法はないでしょうか?単に「レポートの印刷」とすると全てのレコードが印刷されてしまいます。今のところ特定のレコードのみ印刷するには、まずページ数を調べなければいけないので不便です。せっかくパラメータクエリなどで、そのレコードのフォーム画面を表示させても、レポート印刷につながらないので、どなたか良い方法を教えていただけないでしょうか?よろしくお願いいたします。

Aベストアンサー

レポートの基となるクエリを開きます。
フォームに表示されている項目の中で主キーとなるフィールドがどれかを決めます。
そのクエリの中でその主キーフィールドのWHERE条件の欄を選択してビルドを開きます。
レポートを選択するフォームの一覧を開きます。
先ほど選んだ主キーの項目を選んでダブルクリックします。
Ok
そうすれば、フォームから印刷ボタンを押せば開いているページだけが印刷されます。
但し、複数ページの指定をするには、更に複雑な設定が必要ですが、
今の照会した方法を応用すればできるはずです。

QAccessフォームのテキストボックス内改行無効の方法

Accessフォームのテキストボックス内改行無効の方法

お世話になっております。

Access 2002 ですが、フォーム上に配置したテキストボックスは、
「Ctrl+Enter」で改行できますが、
これを無効にしたい、つまり、テキストボックス内で改行させたくない場合は
どうしたらよろしいのでしょうか?

よろしくお願いいたします。

Aベストアンサー

> 「Ctrl+Enter」で改行できますが、これを無効にしたい

「Ctrl+Enter」をキークリック時イベントで拾い、無効化してやるのがよいかと
思います。
(特定のテキストボックスに限ってであればそのテキストボックスの同イベントに、
 フォーム全体であればフォームのプロパティシートで、『イベント』タブの
 『キーボードイベント取得』を「はい」にした上で同イベントに、下記のコード
 を記述)

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)    'フォーム時
'Private Sub テキスト0_KeyDown(KeyCode As Integer, Shift As Integer)  'テキストボックス

  '「Ctrl+Enter」の同時押し時
  If KeyCode = vbKeyReturn And Shift = acCtrlMask Then
    MsgBox "改行は使用禁止です。", vbExclamation, "確認"
    '入力したキーを無効化
    KeyCode = 0
    Shift = 0
  End If

End Sub


なお、メモ帳などで入力した文をCopy&Pasteされた場合などには、この方法
では対処できませんので、これについてはテキストボックスの更新後イベントで
対応します。
(クリップボードの内容を見て、改行があったら削除、という方法もあるかとは
 思いますが、私はクリップボード周りは手を出したことがないので・・・(汗))

※上記の「Ctrl+Enter」対応はリアルタイムですが、こちらはテキストボックス
  の更新が確定したときの発生となります。
  使用頻度の高低からすれば、これでもよいかと思っていますが、逆に全て
  の場合で「確定時に一括」でよいなら、キークリック時の対応は省略して、
  こちらのみでもOKです。

Private Sub テキスト0_AfterUpdate()

  'Accessでの改行コードがあった場合は削除(=空文字に置換)
  If InStr(1, テキスト0, vbCrLf) Then
    MsgBox "使用禁止のため、改行は削除されます。", vbExclamation, "確認",
    テキスト0 = Replace(テキスト0, vbCrLf, "")
  End If

End Sub


・・・以上です。

> 「Ctrl+Enter」で改行できますが、これを無効にしたい

「Ctrl+Enter」をキークリック時イベントで拾い、無効化してやるのがよいかと
思います。
(特定のテキストボックスに限ってであればそのテキストボックスの同イベントに、
 フォーム全体であればフォームのプロパティシートで、『イベント』タブの
 『キーボードイベント取得』を「はい」にした上で同イベントに、下記のコード
 を記述)

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)    'フォーム時
'Private Sub ...続きを読む

QACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ

ACCESSで空白のデーターをクエリで判定/識別する方法を教えてください。
EXCELでは空白を""で判定/識別表していますがACCESSではどうなるのでしょうか。

下の例はフィールドに試験番号があればその番号を、空白なら”欠席”と表示しようとしています。
IIf(([試験番号]="空白の場合何を入れる?"),[試験番号],"欠席")

Aベストアンサー

もうひとつの書き方は
式1: IIf([試験番号] Is Not Null,[試験番号],"欠席")
第2、第3引数の、質問の順序にあわせるとこうなる。


人気Q&Aランキング