アクセスで、画像ファイル名をpictureコントロール内に表示させるようにしています。
ところで、画像ファイルのフルパスがわかっていれば、アクセスから、その画像ファイルを適当なソフト(私の場合には、ペイントショップ)で開くことができるのでしょうか?
もし、できるのであればやり方教えてください。

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

A 回答 (1件)

○フォームにボタンを貼っ付けて、[ハイパーリンクアドレス]プロパティに、画像のフルパスを記述します。

ボタンを押すと、画像に関連付けられたアプリが起動します。

○同様のことをVBAでするなら、Clickイベントにでも、
FileName="C:\Windows\花見.bmp"
shell "start """ & FileName & """"
ってな感じに書きます。

○PSPを起動して画像を開くなら、
FileName="C:\Windows\花見.bmp"
shell "C:\Progra~1\Paint~1\Psp.exe """ & FileName & """"
ってな感じでしょうか。
尚、PSPをインストールした場所が不明な場合は、ちょいと厄介です。API使ってレジストリを調べてやらないといけません。
    • good
    • 0
この回答へのお礼

ありがとうございます。
回答をヒントにして、クリック時のVBAで、
Me.FileOpen.HyperlinkAdress = Me.ImageFile
と記述したら開きました。ありがとうございます。
尚、ARC さんのVBA をそのまま実行したときにはドスプロンプトが一瞬表示されて動作が止まってしまったのですが、もし、よかったら、この辺についても教えてください。

お礼日時:2001/07/31 08:59

このQ&Aに関連する人気のQ&A

お探しの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現在開いているファイルのフルパスを見るには。。。

こんにちは!coco2と申します、宜しくお願いいたします!

今回皆さまのお力をお借りしたいと思い、メールさせて頂きました。

アプリケーションは「Visual Basic6.0」です。
フルパスを見るプログラムではなくて、単に開いてるフルパスを見たいのですが、どなたかご存知の方がいらっしゃいましたら、お教えいただけないでしょうか?

Excelなどですと、ファイルメニューのオプションで見ることが出来るのですが、「Visual Basic6.0」は初心者なので、どこを見てよいのか分かりません。

大変初歩的な質問で申し訳ございませんが、
どうぞ宜しくお願いいたします!!

Aベストアンサー

実行中のVBファイルが存在するフォルダを参照したいのであれば、
「app.path」で参照できます。
VBを起動直後に、デバッグ・ウィンドウで試してみるといいです。

? app.Path
C:\Program Files\DevStudio\VB

ファイルを保存したら、その場所が返ってくるはずです。
ご質問の意味を勘違いしていたら、ごめんなさい。

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

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

Aベストアンサー

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

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

Qアクセス~エクセルファイルを開く~アクセス終了

アクセスVBAで、クエリ実行→エクセルシートへエクスポートしているのですが、その後、あるエクセルファイル
を開いて、アクセスを終了させたいのですが、どのようなコードになりますでしょうか?
※エクセルファイルは、開いた後作業します。

Aベストアンサー

こんにちは。
Application.FollowHyperlink "C:\Sample\ABC.xls"
Application.Quit

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 オブジェクト型のフィールドに格納されているイメージが正...続きを読む

Qアクセス カレンダーコントロールの拡大

カレンダーコントロールを縮小しておき、クリックすると拡大する。
または、コマンドボタン(カレンダーマークのようなもの)をつくっておいて、くりっくすると、カレンダーコントロールが開く、というVBAは可能でしょうか?
VBAは勉強し始めたばかりです。

フォームを拡大するVBAは覚えました。だめもとでトライしたとこと、やはりダメでした。

アドバイスお願いいたします。

Aベストアンサー

Private Sub Calendar1_Click()
Calendar1.Height = 400
Calendar1.Width = 200
TextBox1.Text = Calendar1.Value
End Sub

Private Sub UserForm_Initialize()
Calendar1.Height = 150
Calendar1.Width = 100
End Sub
>カレンダーコントロールを縮小しておき
はjyoukide出来るかも
>コマンドボタン(カレンダーマークのようなもの)をつくっておいて
>カレンダーマークのようなもの)をつくっておいて
作るのが素人では難しいのでは。
コマンドボタンにその役割を担わせるのは、冗長ではないですか。
>くりっくすると、カレンダーコントロールが開く
使うならVisible=True,Falseの切替でしょう。
ーー
フォームをクリックするとカレンダーが現れる
日付をクリックすると、テキストに日付がセットされ、カレンダーは消える。
Private Sub Calendar1_Click()
TextBox1.Text = Calendar1.Value
Calendar1.Visible = False
End Sub

Private Sub UserForm_Click()
Calendar1.Visible = True
Calendar1.Height = 400
Calendar1.Width = 200
End Sub

Private Sub UserForm_Initialize()
Calendar1.Height = 150
Calendar1.Width = 100
Calendar1.Visible = False
End Sub
たまたまエクセルVBAでやっているので、アクセスで葉必要あれば修正のこと

Private Sub Calendar1_Click()
Calendar1.Height = 400
Calendar1.Width = 200
TextBox1.Text = Calendar1.Value
End Sub

Private Sub UserForm_Initialize()
Calendar1.Height = 150
Calendar1.Width = 100
End Sub
>カレンダーコントロールを縮小しておき
はjyoukide出来るかも
>コマンドボタン(カレンダーマークのようなもの)をつくっておいて
>カレンダーマークのようなもの)をつくっておいて
作るのが素人では難しいのでは。
コマンドボタンにその役割を担わせるのは、冗長ではないですか。
>くりっ...続きを読む

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) ' ディレクトリ一...続きを読む

Qアクセスのカレンダーコントロールについて。

こんばんは。アクセスでのメインメニューにカレンダーコントロールを置いたのですが、フォームを開いたその日が表示されるようにするにはどうしたらよいのでしょうか?例えば、今日(6/2)開いたら、カレンダーの位置が6/2に必ず設定されていて、明日になれば6/3の表示になるというような。自動が無理なら、日付更新という項目を設けてみてもできないでしょうか?(無知ながら自分の願望を書きました。)もしできるのであれば教えていただきたいです。どうかよろしくお願いします。

Aベストアンサー

フォームの読み込み時に
Me!Calendar1.Value = Date

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...続きを読む

Qアクセス テーブルリンクのカレンダーコントロール

受注管理システムを作っています。
カレンダーコントロールについてです。
社内運用上、データを独立?(表現は正しいのでしょうか?)させています。
なので、受注データからプログラムの方へテーブルリンクをしています。

そのせいでしょうか?

カレンダーコントロールの日付を受注日に表示させる、という作業が、データをリンクしていない原システムで練習するとできるのに、本番用のテーブルリンクの方のオウログラムでやると、値が表示されません。

解決の方法はございますか?

まだまだアクセス初心者です。GOOで教えていただいたり、参考書開き開き独学中です。

ちなみに、こちらです。

Private Sub 受注日_Click()
Me.カレンダー.Visible = True '表示
Me.カレンダー.Value = Date '日付規定値 本日
End Sub

Private Sub ActiveX_カレンダー_Click()
Me.受注日 = Me.カレンダー.Value
Me.受注日.SetFocus
End Sub

Private Sub 営業担当コード_LostFocus()
Me.カレンダー.Visible = False '非表示
End Sub

受注管理システムを作っています。
カレンダーコントロールについてです。
社内運用上、データを独立?(表現は正しいのでしょうか?)させています。
なので、受注データからプログラムの方へテーブルリンクをしています。

そのせいでしょうか?

カレンダーコントロールの日付を受注日に表示させる、という作業が、データをリンクしていない原システムで練習するとできるのに、本番用のテーブルリンクの方のオウログラムでやると、値が表示されません。

解決の方法はございますか?

まだまだアクセス初心者で...続きを読む

Aベストアンサー

カレンダーコントロールの「名前」 は
・カレンダー
  使用例: Me.カレンダー.Visible = True '表示
・ActiveX_カレンダー
  使用例: Private Sub ActiveX_カレンダー_Click()
どっち?

2つあるわけじゃないよね。

> Private Sub ActiveX_カレンダー_Click()
は 
  Private Sub カレンダー_Click()
の間違いだとは思うけれど。

yuayua-tt さんの場合、オブジェクト等の名前や定義の重要さが
分かっていないかな?
という感じがします。

人間は、大体同じようであれば、イコールと認識できる曖昧さを持っていますが
コンピュータは、完全に同じでなければ、同じものと認識できません。

長くプログラムをやっていると、
コンピュータ的に、曖昧さを嫌うようになり

http://oshiete.goo.ne.jp/qa/6862488.html

こちらのような、名前等の非常に曖昧な質問に答える気がなくなります。

多分、とても簡単な内容なのに、曖昧さのためレスが付かないのでしょう。

曖昧さを排除して、再質問してみたらいかがですか?

カレンダーコントロールの「名前」 は
・カレンダー
  使用例: Me.カレンダー.Visible = True '表示
・ActiveX_カレンダー
  使用例: Private Sub ActiveX_カレンダー_Click()
どっち?

2つあるわけじゃないよね。

> Private Sub ActiveX_カレンダー_Click()
は 
  Private Sub カレンダー_Click()
の間違いだとは思うけれど。

yuayua-tt さんの場合、オブジェクト等の名前や定義の重要さが
分かっていないかな?
という感じがします。

人間は、大体同じようであれば、イコールと認識できる曖昧さを...続きを読む


人気Q&Aランキング