- ベストアンサー
Accessクリック挙動がダブルクリックに?
- Access勉強中の初心者ですが、ファイルを選択する際にダブルクリックが必要になってしまいました。
- 以前はシングルクリックでファイルを選択できていたのに、突然ダブルクリックが必要になりました。
- ワンクリックでファイルを選択したいので、改善策があれば教えていただきたいです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
確認しました。確かに挙動が変ですね。 Access2010 と 2013 で同じ現象でした。 2007 と 2003 では一回のクリックでOKでした。 バグぽっいですね。 Application.FileDialog 以外の方法ならどうだろうかと、API を使う方法を試してみました。 Windows APIを用いてファイルを開く方法:SampleFile078 http://www.accessclub.jp/samplefile/samplefile_78.htm 2013で試してみました。だめでした。 ならば、WIZHOOK を使う方法はどうだろう。試してみました。1回のクリックでOKでした。 getFilePicker関数を下記のように書き換えてください。 Function getFilePicker(Optional dTitle As String = "ファイル選択") Const ENABLE_WIZHOOK = 51488399 Const DISABLE_WIZHOOK = 0 Dim strFile As String Dim intResult As Integer WizHook.Key = ENABLE_WIZHOOK ' WizHook 有効化 intResult = WizHook.GetFileName( _ 0, "", "dTitle", "", strFile, _ CurrentProject.Path, _ "Text Files(*.csv)|*.csv", _ 0, 0, 0, True _ ) WizHook.Key = DISABLE_WIZHOOK ' WizHook 無効化 getFilePicker = strFile End Function どうでしょうか。 WIZHOOK の詳細は下記参照 [ファイルを開く] ダイアログを表示する方法 | YU-TANG's MS-Access Discovery http://www.f3.dion.ne.jp/~element/msaccess/AcTipsGetFileName.html
その他の回答 (2)
- hatena1989
- ベストアンサー率87% (378/433)
あれから、いろいろ調べてみました。 印刷ダイアログで同様の症状が出ることから、下記の情報を見つけました。 Access2010の印刷について - マイクロソフト コミュニティ http://answers.microsoft.com/ja-jp/office/forum/office_2010-access/access2010%E3%81%AE%E5%8D%B0%E5%88%B7%E3%81%AB/5656c825-f9de-468b-bae6-265f1bb760b6 この最後の MukkuMuku さんの回答によると、IMEを「Microsoft office IME 2010」にしていると発生するようです。 IMEを別のものに変更すれば問題は解消されます。 IMEを「Google 日本語入力」に変更して正常動作するのを確認しました。
お礼
ありがとうございます!!!
補足
ご返信ありがとうございます。 簡単な方法でしたのですぐ試せそうです。 ありがとうございます!
- hatena1989
- ベストアンサー率87% (378/433)
補足が下記の点について情報を追加してください。 OS、Access のバージョン 下記の部分のVBAのコード 2.ボタンにVBAコードでダイアログを表示 3.ダイアログでファイルを選択 4.『OK』ボタンにてファイルを確定・読み込み
補足
大変失礼いたいしました。情報を追加させていただきます。 OS : Windows 7 Access : MS Access 2010 【以下コード】 Private Sub import_Click() Dim msg As String msg = getFilePicker If msg = "" Then Exit Sub On Error GoTo err_sample DoCmd.SetWarnings False DoCmd.TransferText acImportDelim, "定義名", "テーブル名", msg, True DoCmd.SetWarnings True MsgBox "インポートが終了しました。" Exit Sub err_sample: Select Case Err.Number Case 3011 MsgBox "ファイルが見つかりません。処理を終了します。" Case Else MsgBox Err.Number & ":" & Err.Description End Select End Sub Function getFilePicker(Optional dTitle As String = "ファイル選択") Const msoFileDialogFilePicker As Integer = 3 Dim fDlg As Object Set fDlg = Application.FileDialog(msoFileDialogFilePicker) fDlg.Title = dTitle fDlg.InitialFileName = CurrentProject.Path fDlg.AllowMultiSelect = False fDlg.Filters.Clear fDlg.Filters.Add "Text Files", "*.csv" fDlg.FilterIndex = 1 If fDlg.Show Then getFilePicker = fDlg.SelectedItems(1) Else getFilePicker = "" End Function
お礼
詳しく説明していただきありがとうございます。 ソースも変更してみます!!!
補足
ご丁寧に返信ありがとうございます!! まだ試してはないのですが、今から試してみます。