Access VBA質問箱 IV

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

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


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

【4081】Re:テキストボックスからサブフォームに追...
お礼  アツキ  - 04/12/29(水) 11:39 -

引用なし
パスワード
   ▼かろちん さん:
返信遅れました、すみません

その後、無事にテーブルのデータを取ってくることができました。

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

【4080】ありがとうございます
発言  みほ  - 04/12/29(水) 9:13 -

引用なし
パスワード
   かろちん さん、前回に引き続きありがとうございます!

>OSとAccessのバージョンを書いてくださいね。
大変失礼しました。WinXP/Access2000でした。
次回から気をつけますね。

>[Forms]![フォーム名]!リスト1.Requery
>でいけるかと思いますよ。
動きました。
う〜んすっきりした書き方ですよね。私Docmdを使って
(これはこれでOKかとも思うのですが)さらにparentというのを入れなきゃ
と、なんだかぐちゃぐちゃ書いてしまってました。
クエリの抽出条件のほうも、変な書き方してしまっていました。
色んな本をマネしながら作っているのですが、当たり前だけど
書き方が統一されてないので初心者的には混乱しちゃってます。
それにしても基本的な、値の参照方法がわかっていないということが
これで判明しました。今まではどこがわかっていないことが
問題なのかもわかってなくて・・・。ありがとうございます!
・ツリー全体表示

【4079】Re:サブフォームから親フォームにあるリス...
回答  かろちん  - 04/12/29(水) 1:51 -

引用なし
パスワード
   こんばんは。

OSとAccessのバージョンを書いてくださいね。

[Forms]![フォーム名]!リスト1.Requery

でいけるかと思いますよ。
・ツリー全体表示

【4078】Re:同名ファイル存在時の上書き方法につい...
回答  かろちん  - 04/12/28(火) 19:39 -

引用なし
パスワード
   こんにちは

存在しているかチェックしてから登録をしましょう。

  Set fso = CreateObject("Scripting.FileSystemObject")

  If fso.FileExists(mvPath & "\" & imFile) = True Then
    fso.DeleteFile mvPath & "\" & imFile
  End If
  fso.MoveFile imPath & "\" & imFile, mvPath & "\" & imFile

移動先にあったら削除してから移動します。
・ツリー全体表示

【4077】サブフォームから親フォームにあるリスト...
質問  みほ  - 04/12/28(火) 18:36 -

引用なし
パスワード
   初心者です。教えてください。
------------------------------
[フォームA]に、[サブフォームB]と[リストボックスC]
があります。

[サブフォームB]
1 魚
2 野菜
3 果物
のとき、サブフォームBで"1 魚"を選択すると、
[リストボックスC]
1 1 いわし
1 2 かつお
また、サブフォームBで"2 野菜"を選択すると、
[リストボックスC]
2 1 だいこん
2 2 はくさい
となるようにしたいと考えています。

同じことをサブフォームBの代わりにリストボックスで行うと
([フォームA]に、[リストボックス1.]と[リストボックス2.])
以下の方法で実現できることはわかりました。
・リスト1.のClickイベントにDoCmd.Requery "リスト2."
・リスト2.のクエリのキーとなる項目の抽出条件に
 [Forms]![フォーム名]![リスト1.]

同じような方法で実現できれば簡単でいいなあと思うのですが
書き方が悪いのか、そもそもこういった方法はとれないのか
うまくいきません。
なるべく難しくない方法でやりたいと思っているのですが、
どなたか教えてくださる方、お願いいたします。
・ツリー全体表示

【4076】Re:参照可能なライブラリ
お礼  山田  - 04/12/28(火) 14:23 -

引用なし
パスワード
   有難うございます。
必要なものをこつこつ調べます。
・ツリー全体表示

【4075】同名ファイル存在時の上書き方法について
質問  ocha  - 04/12/28(火) 13:12 -

引用なし
パスワード
   処理が終わったファイルをバックアップのために別のフォルダに退避しているのですが、退避先に同じ名前のファイルが存在すると処理が中断してしまいます。
同名ファイルがあった場合、上書きする方法を教えてください。
尚、現在、ファイルの退避処理は以下のように実行しています。

  Set fso = CreateObject("Scripting.FileSystemObject")
  fso.MoveFile imPath & "\" & imFile, mvPath & "\" & imFile

よろしくお願いします。
・ツリー全体表示

【4074】Re:参照可能なライブラリ
回答  YU-TANG WEB  - 04/12/28(火) 11:47 -

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

> 参照設定で、参照可能なライブラリファイルが、たくさん表示されますが
> これらのライブラリでどのようなことが出来るのか知りたいのです。
> これらの情報が入手できるURLをご存知の方教えてください。

ないと思いますが…。

たとえば山田さんが自作 ActiveX をユーザーに配布して、レジストリに
登録すれば、そのユーザーの端末上では Yamada.ocx のようなファイルが
参照設定に出てくるでしょうが、それで何が出来るか、山田さん以外の
第三者にどうやったら知りようがあるのか、という話と同じです。

MS の提供ライブラリであれば、中には MSDN であるていど情報が公開
されているものも有りますが、それはほんの一部に過ぎませんし、
おそらく今時のプレインストールマシンだと、MS 以外のベンダーの
ライブラリも大量に含まれているはずです。
それらを総括したリソースを作るのは、誰にも不可能です。

何か気になるライブラリが有るのであれば、ライブラリ名を元にググって
みてはいかがですか。提供元ベンダーが Web 上で情報を公開していれば、
ヒットする可能性があるでしょうし。

一例ですが、MS の提供している MSHTML ライブラリで、IE に組み込まれて
いる HTML DOM を操作できます。これについては IE SDK の一部として
MS のダウンロードセンターからヘルプファイルを落とせるようになって
います(たしか英語版のみ)。
ただし、このように整備されたヘルプファイルが提供されている例は、私の
印象では極めて稀に思います。
・ツリー全体表示

【4073】Re:以前のバージョンのExcelで保存した〜
回答  かろちん  - 04/12/28(火) 0:35 -

引用なし
パスワード
   こんばんは

Tmp.xlsを予め、Excel2002で開き、保存しておいても
だめでしょうか?
・ツリー全体表示

【4072】参照可能なライブラリ
質問  山田  - 04/12/27(月) 10:32 -

引用なし
パスワード
   参照設定で、参照可能なライブラリファイルが、たくさん表示されますが
これらのライブラリでどのようなことが出来るのか知りたいのです。
これらの情報が入手できるURLをご存知の方教えてください。
・ツリー全体表示

【4071】以前のバージョンのExcelで保存した〜
質問  S9  - 04/12/27(月) 10:19 -

引用なし
パスワード
   こんにちは。質問させて下さい。

OFFICEが97からXPになりまして、
その結果、今まで使っていたAccess97のシステムを
Access2002にバージョンアップしてやらなければ
ならなくなりました。
あらかたの問題点は解決したんですが、
次の問題がどうしても解決しないのです。

Access2002から月次帳票をExcel2002ファイルに出力しています。
作り方としては、既存帳票フォーマット用のExcelファイルを
コピーし、その上に月次結果データを出力し
AccessVBAで名前を付けます。で、どこが問題かと言うと、
この処理中には、エラーで中断することはないのですが、
この新規出力したExcelファイルを開くと、最初の保存まで
「xxxx.xlsの変更を保存しますか?
 以前のバージョンのExcelで保存したファイルに含まれる式は、
 ファイルを開いた時に自動的に再計算されます。」
という警告メッセージが表示されてしまうんです。
一回でも、Excel2002で保存されればでないメッセージなんですが
出来ることなら出したくない。
どなたか教えていただけないでしょうか?
以下、現在モジュールです(Access97から変更無し)

Private Sub GETUJI()
  Dim strPATH As String 'Excelファイルパス
  Dim ExcelApp As Excel.Application
  Dim TmpBook As Excel.Workbook 'テンプレート
  Dim TmpSheet As Excel.Worksheet 'テンプレート
  Dim OutBook As Excel.Workbook '月次帳票用
  Dim OutSheet As Excel.Worksheet '月次帳票用

  Set ExcelApp = CreateObject("Excel.Application.10")
  strPATH = "C:\Tmp.xls"
  Set TmpBook = ExcelApp.Workbooks.Open(strPATH)
  Set TmpSheet = TmpBook.Sheets(1)
  strPATH = "C:\" & Format(Date(),"YYYYMM") & ".xls"
  TmpSheet.Copy
  Set OutBook = ExcelApp.ActiveWorkbook
  Set OutSheet = OutBook.Sheets(1)
  OutBook.Sheets(1).Name = "営業成績"
  ==== 中略(データをセットしている)==========
  OutBook.SaveAs strPATH
  OutBook.Close False
  TmpBook.Close False
  Set TmpBook = Nothing
  Set TmpSheet = Nothing
  Set OutBook = Nothing
  Set OutSheet = Nothing
  ExcelApp.Quit
  Set ExcelApp = Nothing
End Sub

こんな感じです。2002は、記述の仕方が変わったんでしょうか?
・ツリー全体表示

【4070】Re:テキスト型を数値型にかえるには
お礼  にしもり  - 04/12/26(日) 12:55 -

引用なし
パスワード
   ▼クロ さん:

>それ以上の桁があるならCLngで...
>
>と思ったけど元テーブルのデータ型かテキスト型に対して
>CIntで数値型にしているわけではないですよね?
>一度別フィールドを設けるか、単にテーブルの当該フィールドの
>データ型を変更すればいいのでは?

桁は確かに長いのですが、CLngでやってもテキスト型を数値型に変更
することはできませんでした。

私は元テーブルのテキスト型を関数で数値型に変更しようと思っております。
なぜか関数かといいますと同じ変更を毎月繰り返すルーチンがあるからです。
単にテーブルの当該フィールドをデータ型にmanualで変更するのでなく
automaticに変更する方法を探し求めております。

わたしが常識はずれなのかもしれませんので、もうすこし自分で研究してみます。
ご指導感謝します。
・ツリー全体表示

【4069】Re:フォーム間でデータのやりとり
お礼  みほ  - 04/12/25(土) 17:13 -

引用なし
パスワード
   お返事遅くなってすみません。
うまくいきました!ありがとうございます。
以前に使用していたツールがフォーム間のやり取りは
Open時やclose時の引数として渡すようなものだったので
それにこだわって方法を探してしまっていました。
本当に助かりました。
・ツリー全体表示

【4068】Re:テキスト型を数値型にかえるには
回答  クロ  - 04/12/24(金) 18:09 -

引用なし
パスワード
   実際のレコードでの最大桁数はどうなってますか?
CIntでは正負-32,768 〜 32,767となってます。
それ以上の桁があるならCLngで...

と思ったけど元テーブルのデータ型かテキスト型に対して
CIntで数値型にしているわけではないですよね?
一度別フィールドを設けるか、単にテーブルの当該フィールドの
データ型を変更すればいいのでは?
※一応、当該テーブルをコピーしておいてください。
・ツリー全体表示

【4067】テキスト型を数値型にかえるには
質問  にしもり  - 04/12/24(金) 17:33 -

引用なし
パスワード
   こんにちは。

テキスト型テーブルを、数値型にかえたいと思います。
CInt関数というのがあることを本で知り、更新クエリをつくりましたが
「更新クエリですべてのレコードを更新できません」と出てだめです。
またテーブル作成クエリで新テーブルをつくろうとしましたがだめでした。

CInt関数の使い方をおしえてくださいませんか?
それともクエリだけではできないのでしょうか。
VBAをくむ必要がありますか?
・ツリー全体表示

【4066】Re:VBでAccessを使う構文
発言  なろっち  - 04/12/23(木) 16:35 -

引用なし
パスワード
   マッキー さん こんにちは

質問はいたってシンプルなのですが、レスするのが非常に困難
な質問でですので、下記の情報があれば、レスがもらいやすい
と思います。
【確認事項】
 1.データを作成したACCESSのバージョンは?
 2.VBのバージョンは?
 バージョンによっては取扱いができない場合もあります。
 バージョンの記述をされた方が的確なレスがくると思います。

 3.どこまで試されましたか?
  単に、ACCESSで作成されたデータを参照するといっても
  事前にいろいろな手順を踏まないといけませんが、どこまで
  ご存知で、どこのところが分からないのかを明記された
  方が良いかと思います。
  ※手順
   1)MDB(ACCESSで作成されたファイル)の接続
   2)参照しようとしているテーブルのオープン
   3)参照したテーブルよりデータを取り出す
   4)取り出したデータをフォームのコントロールに
    セット
   5)テーブルをクローズ
   6)MDBへの接続解除
   おおむね上記の手順を踏んで処理を行います。

【疑問】
 ACCESSで作られたデータを参照するのに、なぜACCESSで処理
 を作られずに、VBで作ろうと思われているのかが、疑問に
 思います。
・ツリー全体表示

【4065】Re:フォーム間でデータのやりとり
回答  かろちん  - 04/12/23(木) 16:01 -

引用なし
パスワード
   >3.フォームBを閉じ、リストボックスで選択したデータのIDを
> フォームAに受け渡し、ラベルに値をセットする。

リストボックスを選択したタイミングなのか
フォームBを終了したタイミングなのかは分
かりませんが、下記のようにフォームB側で
指示することにより、フォームAのラベルに
値を設定することができます。

Form_フォームA.ラベル.Caption = リスト.Value
・ツリー全体表示

【4064】Re:フォーム間でデータのやりとり
質問  みほ  - 04/12/23(木) 15:28 -

引用なし
パスワード
   書き忘れました。
質問内容1〜3で、わからない箇所は以下の3の部分です。
>3.フォームBを閉じ、リストボックスで選択したデータのIDを
> フォームAに受け渡し、ラベルに値をセットする。
・ツリー全体表示

【4063】フォーム間でデータのやりとり
質問  みほ  - 04/12/23(木) 15:26 -

引用なし
パスワード
   初心者です。
以下の処理をしたいと思い投稿を検索してはみたのですが
中々見つからず、投稿しました。

1.フォームAからフォームBを開く
2.フォームB内にあるリストボックスのうち、1行をダブルクリックする
3.フォームBを閉じ、リストボックスで選択したデータのIDを
 フォームAに受け渡し、ラベルに値をセットする。

方法、もしくは「ここを見ればわかるよ」という情報を
教えて下さい!!お願いします。
・ツリー全体表示

【4062】VBでAccessを使う構文
質問  マッキー E-MAIL  - 04/12/23(木) 12:39 -

引用なし
パスワード
   はじめましてm(__)m
VBについてお聞きしたいことが有ります。
まったくの初心者の分らないことだらけ(TT)
Accessに保存してある文字や画像のデータを
VBのフォーム上に表示させるには、どのような
構文を作ればいいのかわかりません。
どなたか教えてください。
よろしくお願いしますm(__)m
・ツリー全体表示

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