Access2000で人事カードを作成しています。顔写真(jpg画像)は別フォルダに保存し、フォーム上のテキストボックスに画像のパスを自動作成し、レコード移動時にイメージフレームにパスに対応する画像を呼び込むVBA(Me!フレーム.picture=パス)で処理しています。ところが画像がないレコードが何件かあり、そのレコードに移動した時は、前の画像が残ったまま「ファイル名.jpgを開けません」との表示が出ます。そこでパスに対応する画像がない場合はIF条件により別処理をしたいのですが、構文が分かりません。どなたか教えていただけないでしょうか。

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

A 回答 (3件)

再び登場させていただきます。



ファイルの存在チェックには、Dir関数を使うと便利です。
下記に例を挙げますが、なにぶん手元に確認する環境がないもんで間違っているかも知れませんが、参考までに…。

If Dir([Jpegファイルへのフルパス]) <> "" then
'ファイルが見つかったときの処理
Else
'ファイルが見つからないときの処理
End If

ってな感じです。
    • good
    • 0
この回答へのお礼

何度もすみません。この構文で処理した所、うまくいったみたいです。
<>""の所がミソですね。ヘルプも初心者にとってはチンプンカンプンの場合が多いですが、基本的なひながたがあれば理解しやすいです。どうもありがとうございました。

お礼日時:2001/01/16 17:27

まず、Dir関数でJpgファイルの存在を確認し、みつからなければ、イメージフレームを消す(VisibleをFalseにする)、という方法はいかがでしょうか?



(たぶん、イメージフレームのなかの画像をクリアするメソッドがあるかも知れませんが、手元にAccessがないので、上記の方法を書きました。)
    • good
    • 0
この回答へのお礼

回答ありがとうございました。違う画像を残すよりもフレーム自体を消してしまうというのは、思い切った発想ですね。ただ、前提条件となる構文(Jpgファイルの存在を確認し、みつからなければ、の部分)が分からないので困っています。初心者ですみません。

お礼日時:2001/01/15 22:40

on error goto処理を用いてエラーをトラップして、処理を行えば良いと思います。

手順は
1.on error goto 処理を明記 Gotoにはエラー処理の飛び先のラベル名
2.エラー処理を書く。
2-1.エラーコードを取得on error 関係のヘルプで調べてください。
2-2.エラーコードがファイルが見つからない物だったら、画像がない処理を行い。resume nextで処理を続行。
2-3.エラーコードがその他だったら、エラーメッセージを表示。
このような手順で出来ると思います。

アドバイス程度なので詳しくはerror関数やon error gotoのヘルプと例を見て勉強してください。
    • good
    • 0
この回答へのお礼

さっそくの回答ありがとうございます。何分素人ですので、2-1.2-2の例文などを見せていただければうれしいのですが・・・・
でもerror関係のヘルプを見てもっと調べてみます。

お礼日時:2001/01/15 22:45

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

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

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

QACCESS2003のデータアクセスページの使い方について

イントラ内でACCESS2003のデータアクセスページを使いたい。

1.ACCESS2003のデータアクセスページを作成しました。
2.そのMDBファイルと、データアクセスページ(htmファイル)を、WINDOWS2000ServerのInetpub内のwwwrootフォルダの中へ入れました。
3.ここにはイントラ内のHPなどを置いています。(普通に見れています。)
4.クライアントから、データアクセスページのhtmファイルを見に行くと「データソースログオン」が立ち上がります。(パスワードを設定しています。)
5.パスワードを入れるとデータアクセスページ(htm)から、通常のアクセスのフォームのごとくデータ入力が出来る予定なのですが(泣)できません。(泣)

で、悩んでおります。

ACCESS2003のMDBファイルとデータアクセスページ(HTMファイル)をサーバーのwwwrootへ置いただけでは、データアクセスページを通してmdbファイルへの入出力は不可能なのでしょうか?

Aベストアンサー

MDBに接続されたAccessプロジェクトを開いている場合データアクセスページは自動的にそのデータベースに接続されてそのパスがデータアクセスページのConnectionString プロパティに設定されます。
ページを作成した後でデータベースを移動またはコピーした場合はConnectionString プロパティに設定されているパスを更新して新しい保管場所を設定する必要がありますがどうなっていますか?
そこを確認してみてください。

Qパワーポイント無料ソフト「プログラムのパスに移動」とは?

パワーポイントを閲覧したくてマイクロソフトからソフトをダウンロードしたのですが、注意事項のなかに「インストールしたPPViewer.exeプログラムのパスに移動」と記載があります。
素人なので、この方法がどうしても分かりません。どなたか助けて下さい。

Aベストアンサー

バージョンが書かれていませんが、2003のダウンロードページの
注意事項によると、該当箇所は、サーバー管理者が利用する場合の記述ですね。
通常は、その数行前の、
「ハード ディスクにダウンロードした PPViewer.exe をダブルクリックすると、セットアップ プログラムが起動します」
「画面に表示される指示に従って、インストールを完了します。」
でOKのはずです。

Qホームページ移転に伴う.htaccessの使い方ですがアップロードして

ホームページ移転に伴う.htaccessの使い方ですがアップロードして削除できなくなる事ないですか??また、さくらサーバーは.htaccess使えますか??

Aベストアンサー

.htaccessだけではなく、
ファイルはパーミッションによっては一旦削除できなくなると思いますよ・・・
使えないのにアップすると削除出来ないとか。

>さくらサーバーは.htaccess使えますか??
使えます。
.htaccessを使えない有料サーバってあるのでしょうか?・・・

QE-mail添付画像jpgの簡易印刷

A4で印刷しようとすると、たいていはみ出します。
仕方なく画像ソフトなどで加工することもありますが、
もっと簡単に印刷する方法はないのでしょうか?
とにかくA4に収まればいいので、画質とかそういったことは2の次です。

現在はクイックビューアーから印刷をかけるのが一番てっとり早い!
と思っておりますが、
時々「アクセス権ががありません」等、いちゃもんをつけられるので、
いまいち満足感が得られません。

できればPCの超初心者にも簡単に扱えるような(他部署に教えるのです)
そんなすばらしい方法をご存知の方がいらっしゃいましたら、
お手数ですがご教授願いたいです。

当方W2000.IE5.0 です。
よろしくお願い申し上げます

Aベストアンサー

プリンタによって違いますが今だとだいたい用紙を選択してフィットページ
などと呼ばれている機能を使うとその用紙ジャストに自動的にリサイズしますよ。
プリンタドライバにその機能がなくても用途にぴったりのソフトもあります。
http://www.vector.co.jp/soft/win95/util/se170290.html

はみ出す前にプレビュー機能で確認することもお忘れなく。

アクセス権がありません、というメッセージですがネットワークプリンタを
共有などで使っていますか?
今回の件とはあまり関係がないような気がします。

参考URL:http://www.vector.co.jp/soft/win95/util/se170290.html

QAccessで作成したテーブルのOLEオブジェクトの使い方

Accessで作成したテーブルにデータ型(OLEオブジェクト型)で画像を取り込みできるようにしました。
取り込みした画像を開くためのフォームを作成して画像を開けるようにしました。
下記の内容です。

Private Sub Form_Open(Cancel As Integer)
Form.Caption = ProgName
End Sub

しかし「ビットマップ形式」ですと問題なく開くのですが、「JPG形式」ですと開けないのです。取り込みしたAccessテーブルのフィールドから直接だとひらけます。
Accessで作成したフォームから、「JPG形式」の画像を開くにはどうすればよろしいですか?
また、画像を1000件ほど取り込みすると大きいデータベースになってしまいます。Accessのデータベースのサイズは制限があるのかしら?
アドバイスいただけれは幸いです。

Aベストアンサー

Access のバージョンは?
んで Web で検索する努力はしましょうよ。
丸 1日ぐらい検索しっぱなしで悩まないと。

Google「access ole jpeg」で検索
http://www.google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=access+ole+jpeg&num=50

Access 2003 では以下のような制限があるようです。
■ Access 2003 で OLE オブジェクトとして JPEG および GIF 画像を取り扱う場合の注意事項
http://support.microsoft.com/kb/884484/ja

■ OLE オブジェクト型のフィールドに格納されているイメージが正しく表示されません
http://support.microsoft.com/kb/832508/ja

解決策としては JPEG を開ける OLE コンテナになるアプリケーションをインストールしておく。

Google「Access データベース サイズ 制限」で検索
http://www.google.com/search?hl=ja&num=50&q=Access+%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9+%E3%82%B5%E3%82%A4%E3%82%BA+%E5%88%B6%E9%99%90&lr=lang_ja

Access のバージョンは?
んで Web で検索する努力はしましょうよ。
丸 1日ぐらい検索しっぱなしで悩まないと。

Google「access ole jpeg」で検索
http://www.google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=access+ole+jpeg&num=50

Access 2003 では以下のような制限があるようです。
■ Access 2003 で OLE オブジェクトとして JPEG および GIF 画像を取り扱う場合の注意事項
http://support.microsoft.com/kb/884484/ja

■ OLE オブジェクト型のフィールドに格納されているイメージが正...続きを読む

QWORD97で挿入したjpg画像が化ける?

WORD97で"挿入"-"図"-"ファイルから"で貼り付けたjpgの図がいつの間にか"×"になっているときがあります。図の大きさと同じ枠が表示され、その中身が赤字で×となってしまうのです。
全てのjpgの図がそうなってしまうのではないのですが、同じ図をWORD中でコピーペーストして使いまわしているところは全て×となってしまいます。
挿入したときはしっかり表示されているのに、何回か編集して気が付くとそのようになっているときがあり、原因が全くわかりません。
解決法を教えてください。よろしくお願いします。

Aベストアンサー

こんにちは。

こちらの現象ですね。
http://support.microsoft.com/default.aspx?scid=kb;ja;162349

予め別のグラフィックソフトで、

画像のサイズを縮小する
色数を減色する
別の画像フォーマットにする

などされてみては?

参考URL:http://support.microsoft.com/default.aspx?scid=kb;ja;162349

QAccess2000でFTPの使い方について。

Access2000のフォームから、実行のボタンをクリックするとFTPサーバに接続→ファイル取得→Accessテーブルに取込→FTPサーバのファイル削除→FTPサーバの接続切断という処理をしたいのですがどのようにしたらよいかわかりません。説明不足だとは思いますが、アドバイスを宜しくお願い致します。

Aベストアンサー

ちなみに先ほどのFTPサンプルは、BASP21をインストール後、サンプルのコードを新規モジュールに貼り付けて(たとえば以下をまるごと)実行すればAccessでもそのまま動きます。

sub file_download()

Dim ftp As Object, rc As Long, v As Variant, v2 As Variant
Dim ctr As Long

Set ftp = CreateObject("basp21.FTP")
ftp.OpenLog "c:\temp\log.txt"
rc = ftp.Connect("ftp.microsoft.com", "anonymous", "")
If rc = 0 Then
v = ftp.GetDir("bussys/winnt/winnt-public", 2) ' ディレクトリ一覧(詳細)
If IsArray(v) Then
For Each v2 In v
Debug.Print v2
Next
End If
v = ftp.GetDir("bussys/winnt/winnt-public") ' ディレクトリ一覧(ファイル名のみ)
If IsArray(v) Then
For Each v2 In v
Debug.Print v2
Next
End If
rc = ftp.GetFile("bussys/winnt/winnt-public/*", "c:\temp") 'ファイル受信

end sub

実行には20秒ほどかかります。
実行前にはCドライブにtempというフォルダを作っておいてください。

ちなみに先ほどのFTPサンプルは、BASP21をインストール後、サンプルのコードを新規モジュールに貼り付けて(たとえば以下をまるごと)実行すればAccessでもそのまま動きます。

sub file_download()

Dim ftp As Object, rc As Long, v As Variant, v2 As Variant
Dim ctr As Long

Set ftp = CreateObject("basp21.FTP")
ftp.OpenLog "c:\temp\log.txt"
rc = ftp.Connect("ftp.microsoft.com", "anonymous", "")
If rc = 0 Then
v = ftp.GetDir("bussys/winnt/winnt-public", 2) ' ディレクトリ一...続きを読む

Qofficeを別PCへ移動するには?

1代目PC(XP)にmicrosoft office2002が入っています。PCは富士通のCE9/100Lという型です。古すぎて・・というか初めての購入だったためよく理解してないんですが、パッケージは見当たらないのでプリインストールだと思います。
http://www.fmworld.net/product/hard/pcpm0201/deskpower/ce/method.html

現在使用中で、2代目となるPCはBTO機でオフィスは無し、OSはVistaなんですが、これにオフィスを移すことは出来るのでしょうか?
移してアップグレードして使用できたらいいなと思い質問させて頂きました。なお、1台目PCのオフィスは消えてしまってもいいです。

Aベストアンサー

回答は既出のようですが、下記の上から4番目に記載の項目を参照してください。該当の場合は、別購入が必要になります。
・Office 2003 Editions は一つのソフトウェアライセンスで、何台の PC へインストールが可能ですか?
http://www.microsoft.com/japan/office/previous/2003/editions/prodinfo/activationtechfaq.mspx
・一度ライセンス認証をすれば、別のコンピュータでも使用できますか?
http://support.microsoft.com/default.aspx?scid=kb;ja;881424
 

QRuby on Rails 「attr_accessor」 の使い方に

Ruby on Rails 「attr_accessor」 の使い方について

こんにちは。

現在、Ruby on Railsで登録画面を作成しているのですが、attr_accessorで定義した項目に対して、validationのチェックを行うと、問題が起きてしまいました。

attr_accessorで定義した項目は、DB登録の対象ではないのですが、lengthのチェック等を行う必要があり、validates_length_of等を使って入力チェックを行っています。

問題になったのは、入力があったときだけチェックをかけたいのに、入力がなくてもチェックがかかってしまうという状態になってしまうことです。
「:if => 項目?」を書いてみると、「undefined method」のエラーがでてしまいます。

どなたか対応策の分かる方がおられましたらご教授いただけないでしょうか?

下記に実際の問題箇所のモデルクラスのソースを書いておきます。

 class User < ActiveRecord::Base

   attr_accessor :NEW_USER_PW ← 追加したアクセサ

   # 追加したアクセサに対するチェック
   validates_length_of :NEW_USER_PW, :minimum=>4, :message=>"は%d桁以上を設定してくださ            
    い。", :on => :update, :if => :NEW_USER_PW?

 end

上記のチェック内の「:if => :NEW_USER_PW?」で落ちてしまいます。
入力がないのにチェックに引っかかるとまずいので、入力がないときだけ上記チェックを行えれば良いのですが・・・。

どうぞ宜しくお願い致します。

Ruby on Rails 「attr_accessor」 の使い方について

こんにちは。

現在、Ruby on Railsで登録画面を作成しているのですが、attr_accessorで定義した項目に対して、validationのチェックを行うと、問題が起きてしまいました。

attr_accessorで定義した項目は、DB登録の対象ではないのですが、lengthのチェック等を行う必要があり、validates_length_of等を使って入力チェックを行っています。

問題になったのは、入力があったときだけチェックをかけたいのに、入力がなくてもチェックがかかってしまうという状...続きを読む

Aベストアンサー

attr_accessor :NEW_USER_PWを定義したからといって、
NEW_USER_PW?メソッドが定義されるわけではりません。
attr_accessorはゲッターとセッターメソッドを作るだけです。
それ以外の論理値を返すようなメソッドは自作しなければなりません。

NEW_USER_PW?メソッドを作成されていないのなら、「undefined method」が
出てしまうのは当然です。

質問にあるように、「入力があった場合のみ」とありますので、
NEW_USER_PW?メソッドを下記のように実装すればチェック可能です。

def NEW_USER_PW?
@NEW_USER_PW.size > 0
end

また、ifにはprocオブジェクトを渡すこともできますので、
:if => Proc.new{|u| u.NEW_USER_PW.size > 0}
と書いてもいいでしょう。


NEW_USER_PWというインスタンス変数はすべて大文字を使用されていますが、
見る人によっては定数と勘違いします。
変数であれば小文字表記を利用するほうが良いかもしれません。

attr_accessor :NEW_USER_PWを定義したからといって、
NEW_USER_PW?メソッドが定義されるわけではりません。
attr_accessorはゲッターとセッターメソッドを作るだけです。
それ以外の論理値を返すようなメソッドは自作しなければなりません。

NEW_USER_PW?メソッドを作成されていないのなら、「undefined method」が
出てしまうのは当然です。

質問にあるように、「入力があった場合のみ」とありますので、
NEW_USER_PW?メソッドを下記のように実装すればチェック可能です。

def NEW_USER_PW?
@NEW_USER_PW.s...続きを読む

QWindows2007で出力したPDFファイルで画像にファイルパスがでる。

最近WORD2007やパワーポイント2007を使い始めたのですが、
PDF出力保存できる機能で出力したPDFファイルを見ていると、画像部分にマウスのポイントを置くとその画像のファイルパスが出てきます。

このファイルパスを非表示にする方法などはないのでしょうか?

ご存知のかたいましたらお願い致します。

Aベストアンサー

PDF出力時のオプションより、
「アクセシビリティ用のドキュメント構造タグ」
のチェックを"はずして"下さい。


人気Q&Aランキング

おすすめ情報