Access VBA質問箱 IV

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

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


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

【12052】filecopy
質問  T  - 11/8/30(火) 18:03 -

引用なし
パスワード
   access2007のfilecopyについて質問します。

ネットワーク上にあるファイルをローカルにコピーしようとして

「filecopy "\\network\abc.xls","c:\local\def.xls"」と
書いたのですが、コピーできませんでした。
「書き込みできません」というダイアログが出てきたのですが
どこをどのように直せば、コピー出来るのでしょうか?
・ツリー全体表示

【12051】Re:二つのテーブルを比較し一致しないレ...
お礼  たつ  - 11/8/29(月) 10:13 -

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

ありがとうございました、
伝授して頂いたとおり、Nz関数を入れてみたところ、うまく思い通りの結果が出ました。

助かりました。

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

【12050】Re:二つのテーブルを比較し一致しないレ...
回答  nonon  - 11/8/26(金) 18:12 -

引用なし
パスワード
   ▼たつ さん:

はじめまして、nononと申します。

えっと、各条件に対し、NZ()をつけるとできると思いますよ。
こんな感じで (^-^b

SELECT 新しいデータ.*
FROM 前回のデータ
INNER JOIN 新しいデータ ON 前回のデータ.テーブル=新しいデータ.テーブル
WHERE Not ((nz(前回のデータ![品番],"")=nz(新しいデータ![品番],"")) And
(nz(前回のデータ![区分],"")=nz(新しいデータ![区分],"")) And
(nz(前回のデータ![数量],"")=nz(新しいデータ![数量],"")) And
(nz(前回のデータ![転送先],"")=nz(新しいデータ![転送先],"")) And
(nz(前回のデータ![単位],"")=nz(新しいデータ![単位],"")) And
(nz(前回のデータ![KEY],"")=nz(新しいデータ![KEY],"")))
・ツリー全体表示

【12049】二つのテーブルを比較し一致しないレコー...
質問  たつ  - 11/8/26(金) 16:37 -

引用なし
パスワード
   前回のデータと今回の新しいデータ、二つのテーブルを比較して、
違う箇所があるレコードを抽出する、クエリを作成しましたが、問題が起こり、
悩んでいます。

レコードの中身が前回と今回で所々、違う箇所が存在する為、差異のあるレコードのみを抽出させたいのです。


下記の場合は、抽出してくれないのが悩みとなってます。

1.元々空白だったフィールドに新しいデータに値を入れても、
違うと認識してくれない為、抽出できない。

2.元々、値が入っていたフィールドが空白になったときにも、違うものとして、認識し てくれない。


現在のSQLは下記のように作成しています。

SELECT 新しいデータ.*
FROM 前回のデータ
INNER JOIN 新しいデータ ON 前回のデータ.テーブル=新しいデータ.テーブル
WHERE Not ((前回のデータ![品番]=新しいデータ![品番]) And
(前回のデータ![区分]=新しいデータ![区分]) And
(前回のデータ![数量]=新しいデータ![数量]) And
(前回のデータ![転送先]=新しいデータ![転送先]) And
(前回のデータ![単位]=新しいデータ![単位]) And
(前回のデータ![KEY]=新しいデータ![KEY]));


なにが、原因なのか?分からず困ってます
どうか伝授お願いします
・ツリー全体表示

【12048】クロス集計から値の取得
質問  T  - 11/8/24(水) 13:05 -

引用なし
パスワード
   Tです、久々の投稿になります。
クロス集計クエリの実行結果をフォームに
データシートの形で表示してます。
その任意の位置にある集計された値をマウスでクリックしたときに
行列それぞれの値を取得したいのですが
そのようなことは出来るのでしょうか?
・ツリー全体表示

【12047】Re:新規レコードを追加させない方法
お礼  nonon  - 11/8/19(金) 11:46 -

引用なし
パスワード
   ■hatenaさん

>既存レコードはコピペなどで更新可能で、新規レコードの追加はできないようにしたい、ということでしょうか。

はい、hatenaさんの認識通りとなります。


>フォームの「編集の許可」を「はい」、「追加の許可」を「いいえ」にすればいいでしょう。

武者震いが・・・こんな初歩的な設定でできたのですね。
調査足らずですみませんでしたm(_ _)m
ですが、ご丁寧に本当にご教授有難うございました!!!

実際にやってみたらやろうとしている事ができました!!!
あぁ、感激ですっ!!!(T-T


本当にありがとうございましたm(_ _)m
・ツリー全体表示

【12046】Re:新規レコードを追加させない方法
回答  hatena E-MAIL  - 11/8/19(金) 9:06 -

引用なし
パスワード
   >「エクセルからのコピペでデータ登録」と「新規レコードを追加させない」が
>実現できるのであれば、どのような方法でも良いのですが、教えて頂けませんでしょうか。

既存レコードはコピペなどで更新可能で、新規レコードの追加はできないようにしたい、ということでしょうか。

フォームの「編集の許可」を「はい」、「追加の許可」を「いいえ」にすればいいでしょう。
・ツリー全体表示

【12045】新規レコードを追加させない方法
質問  nonon  - 11/8/18(木) 15:54 -

引用なし
パスワード
   はじめまして、nononと申します。

以下内容についてご教授を宜しくお願いいたします。
また、文面が意味不明な箇所があるかもしれませんが・・・
その際は指摘をお願いいたします。m(_ _)m

■環境
Access2007、WinXP

■質問内容
流れとしましては、Accessを開きフォームにテーブルAのデータを表示し、
エクセルからデータをコピペして、テーブルAのデータをUpdateしたいです。

「コピペ」したいので、表形式にてフォームを作成していますが、この場合、
新規レコードが追加できてしまいます。
新規レコードを追加させたくないのですが、その場合はどのように設定すれば
宜しいでしょうか。

「エクセルからのコピペでデータ登録」と「新規レコードを追加させない」が
実現できるのであれば、どのような方法でも良いのですが、教えて頂けませんでしょうか。

※マクロを記載する方法でも、実現方法がありましたらご教授頂けますと幸いです。


以上、宜しくお願い致します。
・ツリー全体表示

【12044】Re:条件書式
お礼  北風  - 11/8/18(木) 15:04 -

引用なし
パスワード
   ▼北風 さん:
>よろしくお願いします。
>レポートで作成した。テキストボックス1に日付が入ります。テキストボックス2には文字列が入り、条件書式で色をつけております。
>テキストボックス1に日付が入力された場合、テキストボックス2のに色をつけない書式はどのようにしたらよろしいでしょうか。


解決
・ツリー全体表示

【12043】条件書式
発言  北風  - 11/8/18(木) 9:26 -

引用なし
パスワード
   よろしくお願いします。
レポートで作成した。テキストボックス1に日付が入ります。テキストボックス2には文字列が入り、条件書式で色をつけております。
テキストボックス1に日付が入力された場合、テキストボックス2のに色をつけない書式はどのようにしたらよろしいでしょうか。
・ツリー全体表示

【12042】Re:Dlookupの条件式の書き方について
お礼  sui  - 11/8/18(木) 7:29 -

引用なし
パスワード
   ▼小僧 さん:
遅くなりましてもうしわけありません。
結局、CBの値はとれておりません。
このような場面でいつもつまずいてしまうので、もう少し勉強を進めてから再度チャレンジしてみようと思います。
丁寧な回答をありがとうございました。
>▼sui さん:
>こんにちは。
>>下記のようにコードが書かれています。
>>
>>CB = Forms!F_入力画面!CB_テキスト
>>Me!T_コード = DLookup("コード","T01_商品データ","テキスト名 = '" & CB & "'")
>>
>
>まずは、CBの値が取れているのかの確認が必要ですね。
>
>「ACCESS ステップ実行」や「debug.print」などのキーワードで
>WEB検索をし、CBの値が取れているかを確認してみましょう。
・ツリー全体表示

【12041】Re:Dlookupの条件式の書き方について
お礼  sui  - 11/8/18(木) 7:28 -

引用なし
パスワード
   ▼小僧 さん:
>▼sui さん:
>こんにちは。
>>下記のようにコードが書かれています。
>>
>>CB = Forms!F_入力画面!CB_テキスト
>>Me!T_コード = DLookup("コード","T01_商品データ","テキスト名 = '" & CB & "'")
>>
>
>まずは、CBの値が取れているのかの確認が必要ですね。
>
>「ACCESS ステップ実行」や「debug.print」などのキーワードで
>WEB検索をし、CBの値が取れているかを確認してみましょう。

遅くなりましてもうしわけありません。
結局、CBの値はとれておりません。
このような場面でいつもつまずいてしまうので、もう少し勉強を進めてから再度チャレンジしてみようと思います。
ありがとうございました。
・ツリー全体表示

【12040】Re:実行時エラー2191
お礼  まき  - 11/8/16(火) 14:00 -

引用なし
パスワード
   自己解決しました。

コードの中で

For cnt = 2 To rs.Fields.Count - 1

と書いているにもかかわらず、
Field1というテキストボックスが存在していたために出たエラーメッセージだったようです。
大変お騒がせしました。また何かありましたらお邪魔すると思いますが
よろしくお願い致します
・ツリー全体表示

【12039】Re:顧客別フォルダを、フォームから開く...
お礼  超図解総合編  - 11/8/15(月) 21:53 -

引用なし
パスワード
   テーブルに、ハイパーリンク型のフィールドを設定することで解決しました。

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

【12038】実行時エラー2191
質問  まき  - 11/8/15(月) 16:00 -

引用なし
パスワード
   こんにちは、どうしてもわからないので質問させていただきます。よろしくお願いします。

レポートAがあり、その中にサブレポートBがあります。
このレポートを展開しようとすると、下記のようなエラーメッセージが出てきてしまいます。

実行時エラー'2191':

印刷プレビュー時または印刷を開始した後は、コントロールソースプロパティを設定できません。
@OnOpenイベントが発生したときに、このプロパティを設定するようにしてください。@1@@1

ですが、エラーは出るものの、終了というボタンを押すとちゃんとレポートは作成されます。

実はレポートBは列見出し非固定のクロス集計クエリを基にしているため、Openイベントに下記コードを書いています。

Private Sub Report_Open(Cancel As Integer)
Dim db As DAO.Database
Dim qd As DAO.TableDef
Dim cnt As Integer
Dim fld As DAO.Field
Dim rs As DAO.Recordset


Set db = CurrentDb()
Set qd = db.TableDefs(Me.RecordSource)
Set rs = qd.OpenRecordset

For cnt = 2 To rs.Fields.Count - 1
  Set fld = rs.Fields(cnt)
  Me("Field" & cnt).ControlSource = fld.Name ・・・・※

Next

End Sub

エラー時にデバッグをかけると、※のところで反転します

過去ログを見たり、検索したりして色々調べてみたのですがどうしてもわかりません。
アドバイスよろしくお願い致します。
・ツリー全体表示

【12037】Re:レポートをPDFにしてCドライブに保...
お礼  NEMOTO  - 11/8/12(金) 16:14 -

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

こんにちは

回答ありがとうございます。

Accessのバージョンは2003です。
またPDF変換ツールはSKY PDF PRO Driverを使用しています。

今回は、Excelを使用してPDFに書き出しました。

YU-TANGさんのWEBサイトに参考してみます。

またいい情報がありましたら教えてください。
・ツリー全体表示

【12036】顧客別フォルダを、フォームから開くには...
質問  超図解総合編  - 11/8/10(水) 23:19 -

引用なし
パスワード
   初めて投稿します。よろしくお願いします。

最近、会社のパソコンが入替され、ACCESSも2010となりました。
今までは(ACCESS2003)、共用ドライブに顧客ごとのフォルダを作成し(例:あ 阿井上男、か 柿 九家子) 、ショートカットを作成の上、OLEオブジェクト型のフィールドにドラッグアンドドロップで貼付けていました。
これにより、数値等の管理はACCESSで行い、顧客向けのWORD文書やEXCELファイルにつていては、顧客別に開いたフォームよりダイレクトで開くことができておりました。

しかし、ACCESS2010になってからは、貼付けたショートカットが使用できなくなりました(正確には、警告メッセージが出て、無視して開くと、一旦フォルダは開くのですが、ACCESSファイルは固まってしまいます)。

現在は、仕方なく、エクスプローラーにより、顧客別のフォルダを探しておりますが、膨大な数なので、仕事が不効率となっております。

例えば、フォームに顧客別フォルダの番地(例 I:\あ 阿井上男)を入力できるフィールドを設け、ボタンを押すことで、顧客別フォルダを開くことはできないでしょうか。

よろしくお願いします。

 
・ツリー全体表示

【12035】Re:Dlookupの条件式の書き方について
回答  小僧  - 11/8/9(火) 12:54 -

引用なし
パスワード
   ▼sui さん:
こんにちは。
>下記のようにコードが書かれています。
>
>CB = Forms!F_入力画面!CB_テキスト
>Me!T_コード = DLookup("コード","T01_商品データ","テキスト名 = '" & CB & "'")
>

まずは、CBの値が取れているのかの確認が必要ですね。

「ACCESS ステップ実行」や「debug.print」などのキーワードで
WEB検索をし、CBの値が取れているかを確認してみましょう。
・ツリー全体表示

【12034】Re:集計クエリのパラメータ
回答  hatena E-MAIL  - 11/8/2(火) 9:09 -

引用なし
パスワード
   >「<#2011/12/31#」←こんな感じで入力したんですけど・・??

パラメータに演算子まで含めた式は入力出来ません。
入力したとしても文字と判断されるだけです。

条件式は、

<[a]

として、パラメータには値だけ入力するようにしましょう。

どうしても演算子も含めたいなら、

フィールド EVal("#" & [フィールド名] & "#=" & [a])
抽出条件  -1

これで、「<#2011/12/31#」という入力が可能です。
ただし、件数が多いと重くなる可能性があります。
・ツリー全体表示

【12033】Re:重複するデータを削除する方法
お礼  KNN  - 11/7/28(木) 9:30 -

引用なし
パスワード
   自己解決しました。
ありがとうございました。


ちなみに、
削除クエリで個別の項目をすべて引っ張っていたのですが、
「*」を引っ張ることにより「レコードの削除」が「From」になり、
削除することができました。

成功現象の意味はわかりませんが、対処方法のみ記載させていただきました。
・ツリー全体表示

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