Access VBA質問箱 IV

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

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


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

【4746】ゼロの非表示
質問  kazumi  - 05/3/28(月) 17:36 -

引用なし
パスワード
   ある台帳で金額がゼロの場合は非表示にしたいのですが、
誰か教えてください。
ほんとに基本的な事かもしれませんが、宜しくお願いします。
・ツリー全体表示

【4745】テーブル存在確認の方法について
質問  VBA初心者  - 05/3/28(月) 16:55 -

引用なし
パスワード
   Accessでcsvファイルをインポートするとき、テーブルが存在しなければcsvをインポート、存在するときはインポートしない、というプログラムをつくりたいのですが、
テーブル存在を確認するコードはありますか?

または、Accessでcsvファイルをインポートするとき、作成しておいた定義を使用しているのですが、その定義に複数の列をキーとして定義しておくことはできないでしょうか?
インデックスで『はい(重複なし)』を複数の列に定義しているのですが、これはどうも違うようなのです。


というのも、『csvファイルからイのンポート』を複数回実行してしまった場合、現状では同じデータを再度インポートしてしまうのです(重複データ)。
テーブル名はcsvファイル名から取ってきているため、その都度変化します。
定義名はcsvファイル名の一部をつかっているためすでに定義してあります。
テーブル存在チェックができればいちばん簡単に重複を防げると思っているのですが・・・・・

どなたか知ってるかたいらっしゃいましたら教えてください。よろしくお願いします!!
・ツリー全体表示

【4744】Re:「モジュールを開始する」はないのです...
お礼  pinetree  - 05/3/28(月) 14:04 -

引用なし
パスワード
   ▼Gin_II さん:
>横から失礼します。
>
>>Subプロシージャの場合はどうすればよいのでしょうか
>>教えてください。
>
>Sub プロシージャは、直接マクロから起動することはできません。
>Function プロシージャに変更するか、別にFunction プロシージャを作成し、
>そこから呼び出すとかの対応が必要ですね。

Function プロシージャに変更してうまくいきました。
ありがとうございました。
・ツリー全体表示

【4743】Re:「モジュールを開始する」はないのです...
回答  Gin_II  - 05/3/28(月) 12:17 -

引用なし
パスワード
   横から失礼します。

>Subプロシージャの場合はどうすればよいのでしょうか
>教えてください。

Sub プロシージャは、直接マクロから起動することはできません。
Function プロシージャに変更するか、別にFunction プロシージャを作成し、
そこから呼び出すとかの対応が必要ですね。
・ツリー全体表示

【4742】Re:「モジュールを開始する」はないのです...
質問  pinetree  - 05/3/28(月) 12:02 -

引用なし
パスワード
   ▼にしもり さん:
>▼かみちゃん さん:
>>このプロシージャがFunctionプロシージャならば、マクロのアクション「プロシージャの実行」で「プロシージャ名」を指定すればいいかと思います。
>
>Function test()なので、ご指導のとおり、マクロアクション「プロシージャの実行」で
>プロシージャ名にtestと入力してみます。
>ありがとうございました。

ついでで申し訳ありませんが、追加の質問があります。
Subプロシージャの場合はどうすればよいのでしょうか
教えてください。
・ツリー全体表示

【4741】Re:住所入力支援・ふりがな機能について
お礼  pinetree  - 05/3/28(月) 11:52 -

引用なし
パスワード
   ▼pinetree さん:
>▼クロ さん:
>>>どこをどのように確認したらよいのでしょうか
>>
>>フォームの郵便番号テキストボックスのプロパティの「住所入力支援」と
>>フォームの地域テキストボックスのプロパティの「ふりがな」の部分です。
>>この部分が空白なら再設定が必要です。
>>
>>>accessのファイルをどこかにUPしてそれを見ていただく方法とか
>>>あるのでしょうか?
>>
>>もしどうしてもダメなら...
>>以下をお借りしましょう。
>>
>>おたすけ板サンプル置場
>>http://www.penhagi.com/cgi-b/bbs/bbs.cgi
>
>ありがとうございました。
>おたすけ板サンプル置場
>にUPしてみます。

クエリー経由のフォームではフォームのプロパティで
ふりがな機能を定義しないといけないんですね。
それをやってなかったのでできませんでした。
お騒がせしてもうしわけありませんでした。
おかげさまで解決しました。
ありがとうございました。
・ツリー全体表示

【4740】Re:学年の計算
回答  Gin_II  - 05/3/28(月) 8:26 -

引用なし
パスワード
   >Now()のところを05/4/2にして6を引けば出るということですよね。

DateSerial(Year(DateAdd("m", -3, Now())),4,2)
という式で、毎年、4/2を求めることができます。


> 6を引けば出るということですよね。
対象が、小学生だけなら、それでいいですね。
中学・高校とかも判断させたいのなら、別にテーブルを設けたほうが
いいと思います。
・ツリー全体表示

【4739】Re:学年の計算
お礼  かつみ E-MAIL  - 05/3/28(月) 7:56 -

引用なし
パスワード
   ▼Gin_II さん:
Now()のところを05/4/2にして6を引けば出るということですよね。
何となくわかりました。
ありがとうございます。
・ツリー全体表示

【4738】Re:学年の計算
回答  Gin_II  - 05/3/27(日) 19:12 -

引用なし
パスワード
   >生年月日から自動的に小学生の学年の表示(1〜6年)は可能ですか?
>年齢表示は出来たのですが、学年は一筋縄では行かないようなきがします。

4/2時点での年齢を求めて、その日での学年をだすだけですね。

年齢 学年
xx 1年
○○ 2年
  :

のようなテーブルを作成しておけば、大丈夫だと思います。
・ツリー全体表示

【4737】学年の計算
質問  かつみ E-MAIL  - 05/3/27(日) 15:50 -

引用なし
パスワード
   生年月日から自動的に小学生の学年の表示(1〜6年)は可能ですか?
年齢表示は出来たのですが、学年は一筋縄では行かないようなきがします。
・ツリー全体表示

【4736】Re:住所入力支援・ふりがな機能について
お礼  pinetree  - 05/3/25(金) 16:57 -

引用なし
パスワード
   ▼クロ さん:
>>どこをどのように確認したらよいのでしょうか
>
>フォームの郵便番号テキストボックスのプロパティの「住所入力支援」と
>フォームの地域テキストボックスのプロパティの「ふりがな」の部分です。
>この部分が空白なら再設定が必要です。
>
>>accessのファイルをどこかにUPしてそれを見ていただく方法とか
>>あるのでしょうか?
>
>もしどうしてもダメなら...
>以下をお借りしましょう。
>
>おたすけ板サンプル置場
>http://www.penhagi.com/cgi-b/bbs/bbs.cgi

ありがとうございました。
おたすけ板サンプル置場
にUPしてみます。
・ツリー全体表示

【4735】Re:住所入力支援・ふりがな機能について
回答  クロ  - 05/3/25(金) 16:16 -

引用なし
パスワード
   >どこをどのように確認したらよいのでしょうか

フォームの郵便番号テキストボックスのプロパティの「住所入力支援」と
フォームの地域テキストボックスのプロパティの「ふりがな」の部分です。
この部分が空白なら再設定が必要です。

>accessのファイルをどこかにUPしてそれを見ていただく方法とか
>あるのでしょうか?

もしどうしてもダメなら...
以下をお借りしましょう。

おたすけ板サンプル置場
http://www.penhagi.com/cgi-b/bbs/bbs.cgi
・ツリー全体表示

【4734】Re:住所入力支援・ふりがな機能について
質問  pinetree  - 05/3/25(金) 16:03 -

引用なし
パスワード
   ▼クロ さん:
>変ですね?当方では再現できません。
>レコードソースをテーブルからクエリに変更しただけですよね?

そうです。

>変更後に各コントロールのプロパティがリセットされますが確認しましたか?

どこをどのように確認したらよいのでしょうか

accessのファイルをどこかにUPしてそれを見ていただく方法とか
あるのでしょうか?
・ツリー全体表示

【4733】Re:変数名
回答  YU-TANG WEB  - 05/3/25(金) 0:33 -

引用なし
パスワード
   こんばんは、YU-TANG です。

> フォームのコントロールには半角のカタカナが使えるようですが

まず、これ自体が非常に危険ですから、即座に全角に改めることを
お奨めします。
コントロール名に半角カタカナを使ったがために、原因不明のエラーに
見舞われて泣きを見た例が BBS にゴロゴロしています。

> モジュールの変数名に半角のカタカナは使えないのでしょうか?

で、試してみてどうでした? 使えましたか?
・ツリー全体表示

【4732】Re:フォームのボタンクリックでリンク先の...
発言  tamarin  - 05/3/24(木) 22:05 -

引用なし
パスワード
   ▼ドライ さん:
>フォルダーを開いてどのように処理を行うのですか?
>
>私的に解釈すると、フォルダーを開き、その中のテキストファイルや
>EXCELファイルを開き処理を行うと思うのですけど。
>
>ただ、フォルダーを開くという意味がわかりません。
>
>そこのところが、はっきりすれば、アドバイスできるかもしれません。

申し訳ございません。説明不足で。
具体的には自分のAccxessのフォーム(共有設定)の中にボタンを置き、
クリックするとネットワーク上の他の人の共有ホルダーを開きたいのです。
その後はホルダーの中のファイル(XLS.PDF.TXT等)を任意で検索をかけ開ける
ことを予定しています。ネットワーク上の他の人達も私のフォームに入り
同様に作業を致します。こんな説明でご理解いただけますか?
・ツリー全体表示

【4731】Re:AccessVBAからExcelの標準モジュールを...
お礼  VBA初心者  - 05/3/24(木) 19:37 -

引用なし
パスワード
   ▼小僧 さん:

回答ありがとうございます。
教えていただいた通りやってみましたが、もともとマクロを含んだあるファイルを開いてそれを別名保存して実行しているせいか、

> xlsApp.Run xlsApp.ActiveWorkbook.Name & "!Sheet1.マクロ名"

この部分で、見つかりませんといわれてしまいました。

というわけで下記のように実行してみたところ、うまく実行できました。

wkb.Application.Run (wkb.Application.ActiveSheet.マクロ名)

お世話になりましてありがとうございました。


>▼VBA初心者 さん:
>横から失礼いたします。
>
>>++++++++++++++++++++++++++++++
>>Set Rs1 = db.OpenRecordset(StrSql).Clone
>>Set xlsApp = CreateObject("Excel.Application")
>>
>>xlsFile = ファイルA 'Excel File
>>
>>Set wkb = xlsApp.Workbooks.Open(Filename:=xlsFile)
>>
>>
>>wkb.Worksheets("Sheet1").Range("A1") _
>>              .CopyFromRecordset Data:=Rs1
>>
>>
>>wkb.Excel4MacroSheets.Application.ExecuteExcel4Macro ("Sheet1マクロ名")
>  ↓
> xlsApp.Run xlsApp.ActiveWorkbook.Name & "!Sheet1.マクロ名"
>
>>
>>Call wkb.Application.ActiveWorkbook.SaveAs _
>>      (Filename:=ファイルB)
>  ↓
> Call xlsApp.ActiveWorkbook.SaveAs _
>       (FileName:=BFile)
>
>>Let xlsApp.Visible = True
>>Let xlsApp.UserControl = True
>>
>追加
> xlsApp.Quit
>
>>Set wkb = Nothing
>>Set xlsApp = Nothing
>>Set Rs1 = Nothing
>>++++++++++++++++++++++++
>
>こんな感じでいかがでしょうか?
・ツリー全体表示

【4730】変数名
質問  初心者  - 05/3/24(木) 18:23 -

引用なし
パスワード
   フォームのコントロールには半角のカタカナが使えるようですが
モジュールの変数名に半角のカタカナは使えないのでしょうか?
・ツリー全体表示

【4728】Re:フォームのボタンクリックでリンク先の...
発言  ドライ E-MAIL  - 05/3/24(木) 17:21 -

引用なし
パスワード
   ▼tamarin さん:
>初心者です。
>フォームの中にネットワーク先のフォルダーを開けるボタンを
>挿入したいのですが。

フォルダーを開いてどのように処理を行うのですか?

私的に解釈すると、フォルダーを開き、その中のテキストファイルや
EXCELファイルを開き処理を行うと思うのですけど。

ただ、フォルダーを開くという意味がわかりません。

そこのところが、はっきりすれば、アドバイスできるかもしれません。
・ツリー全体表示

【4727】Re:前ゼロ表示
お礼  ドライ E-MAIL  - 05/3/24(木) 17:08 -

引用なし
パスワード
   ▼小僧 さん:
>▼ドライ さん:
>データ型変換関数を使ってフィールドに値を代入するのは
>いかがでしょうか?
>
>CInt()…整数型
>CLng()…長整数型
>
>追加クエリのフィールドを上記どちらかの関数を使って
>括弧の中に入れてみてください。
>
>ただ、あくまでもテーブルの見かけ上で7桁の数字になっている
>だけなので、固定長のデータとして使用するのであるならば
>クロさんが提示されているFormat関数の方が後々使いやすいかと
>思われます。

小僧さんありがとうございます。

CInt()、CLng()型を試してみます。
ご指摘があるように固定長のデータを作成するため、Format関数を
使用してデータを作成することにしました。

いろいろ教えて頂ましてありがとうございました。
・ツリー全体表示

【4726】Re:AccessVBAからExcelの標準モジュールを...
回答  小僧  - 05/3/24(木) 16:45 -

引用なし
パスワード
   ▼VBA初心者 さん:
横から失礼いたします。

>++++++++++++++++++++++++++++++
>Set Rs1 = db.OpenRecordset(StrSql).Clone
>Set xlsApp = CreateObject("Excel.Application")
>
>xlsFile = ファイルA 'Excel File
>
>Set wkb = xlsApp.Workbooks.Open(Filename:=xlsFile)
>
>
>wkb.Worksheets("Sheet1").Range("A1") _
>              .CopyFromRecordset Data:=Rs1
>
>
>wkb.Excel4MacroSheets.Application.ExecuteExcel4Macro ("Sheet1マクロ名")
  ↓
xlsApp.Run xlsApp.ActiveWorkbook.Name & "!Sheet1.マクロ名"

>
>Call wkb.Application.ActiveWorkbook.SaveAs _
>      (Filename:=ファイルB)
  ↓
Call xlsApp.ActiveWorkbook.SaveAs _
       (FileName:=BFile)

>Let xlsApp.Visible = True
>Let xlsApp.UserControl = True
>
追加
xlsApp.Quit

>Set wkb = Nothing
>Set xlsApp = Nothing
>Set Rs1 = Nothing
>++++++++++++++++++++++++

こんな感じでいかがでしょうか?
・ツリー全体表示

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