OSはWinXPでACCESS2000という環境です。
画像管理をしたいと考えています。
具体的には、フォームに作成したコマンドボタンをクリックすると、
ファイルを選択する画面が表示されて、そこで指定した画像が
イメージコントロール内に挿入されるというイメージで画像管理
できたらと考えています。
その時、指定した画像はテーブルにも画像名のみがレコードとして
保存されるようにしたいです。また挿入した画像は指定フォルダに
自動で保存(コピー?)されてフォームに表示される画像はこの指定
フォルダからリンクで表示される形をイメージしています。
更にフォームに表示される画像をクリックすると拡大して閲覧できる
ようにもしたいと思っています。
http://oshiete1.goo.ne.jp/kotaeru.php3?q=402425
のページも参考にさせて頂いたのですが、イベントでフルパスを設定する
為の式がうまく設定できないので結局、イメージしていることが行えず
悩んでいます。
画像をOELオブジェクトにすると容量が重くなりますし、画像名でレコード
管理ができないので避けたいのですが、上記イメージを実現する為に
よい方法があれば教えて下さい。よろしくお願いします。
No.1ベストアンサー
- 回答日時:
こんにちは。
maruru01です。ファイルを選択→イメージコントロールに表示→テーブルに保存
という流れでしょうか。
ファイル選択は、おそらくコモンダイアログコントロールを使用していると思います。
そこで選択ファイルのフルパスを指定出来るので、イメージコントロールのPictureプロパティに、
Me!Image1.Picture = ファイルのフルパス
のようにすれば表示します。(実際はフルパスは変数に格納するでしょうが)
テーブルへの保存ですが、コモンダイアログの選択でファイル名のみも取得出来るので、それを保存すればいいでしょう。
また、フルパスからファイル名のみを取り出す(一番後ろの"\"の位置を探して、それより後ろを取り出す)のもいいでしょう。
指定フォルダへのコピーは、FileCopyメソッドを使用して、
FileCopy 元のファイルのフルパス, コピー先のファイルのフルパス
のようにします。
あと、拡大閲覧は、閲覧用のフォームに大きなイメージコントロールを貼り付けて、そのフォームを開くなどの方法があります。
この回答への補足
ご回答ありがとうございます。返答が遅くなって申し訳ありません。ご回答をヒントに色々と試してみたのですが、データベース設計は素人なのでなかなか思うように作成できませんでした。
>ファイルを選択→イメージコントロールに表示→テーブルに保存
という流れでしょうか。
流れは↑このとおりです。テーブルに保存するのは画像のファイル名のみに
したいと思います。そのほうが指定フォルダ内にコピーされた画像をフォーム上に表示させることができるような気がしたので・・・
コモンダイアログコントロールの設定は色々調べてActiveXコントロールから行うということを知ったのですが、この設定はVBがインストールされていなければ使用できませんでした。できればVBを使用しない方法をとりたいと思いモジュールで画像挿入できるようにしてみました。これだとデータベースにはフルパスで保存されてしまうので、指定したフォルダ内のファイルから画像を表示させることができず、いきづまっています。
設定したモジュールはこんな感じです。
ファイル名を抜きだすにはどうしたらよいでしょうか?
あと、イメージに近いデータベースがこちらのサイトにあります。
http://www.ark-9.com/~bluemiffy/read/trb.html
素人の私でもDB完成ができるよう、アドバイス宜しくお願いします。
Option Compare Database
Option Explicit
Declare Function GetOpenFileName Lib "COMDLG32.DLL" Alias _
"GetOpenFileNameA" (pOpenfilename As OpenFileName) As Boolean
Type OpenFileName
lStructSize As Long
hwndOwner As Long
hInstance As Long
lpstrFilter As String
lpstrCustomFilter As String
nMaxCustFilter As Long
nFilterIndex As Long
lpstrFile As String
nMaxFile As Long
lpstrFileTitle As String
nMaxFileTitle As Long
lpstrInitialDir As String
lpstrTitle As String
Flags As Long
nFileOffset As Integer
nFileExtension As Integer
lpstrDefExt As String
lCustData As Long
lpfnHook As Long
lpTemplateName As String
End Type
Public Function API_OpenFileName() As String
Dim OF As OpenFileName
Dim tmp As String
Dim stu As Long
Dim filter As String
tmp = String$(5120, Chr$(0))
filter = "全てのファイル(*.*)" + Chr$(0) + "*.*" + Chr$(0) + Chr$(0)
With OF
.lStructSize = Len(OF)
.hwndOwner = Application.hWndAccessApp
.lpstrFile = tmp
.nMaxFile = 5120
.lpstrFilter = filter
.nFilterIndex = 1
.Flags = &H4
.lpstrTitle = "ファイルを指定してください"
End With
stu = GetOpenFileName(OF)
If stu Then
API_OpenFileName = Left$(OF.lpstrFile, InStr(OF.lpstrFile, Chr$(0)) - 1)
End If
End Function
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) EXCELのグラフを画像(JPG形式)で保存、通常実行がうまく行かない。ステップインはうまく行く 3 2022/08/30 12:06
- Excel(エクセル) excelvbaでスライドショーを作りたい 2 2023/04/20 14:32
- Windows 8 Route Generator の使い方 1 2023/05/03 00:36
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- HTML・CSS トリミングで表示した画像をクリックで元どおりにしたい 3 2022/12/16 18:49
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- Excel(エクセル) エクセルにサムネイル画像組み込み 2 2022/09/02 17:13
- 防犯カメラ・監視カメラ・小型カメラ VHSを高画質な動画ファイルにしたいです。 3 2022/05/06 12:08
- Windows 10 Win10PCのExploreで大量の画像ファイルを表示させる際に、画像の中身を表示させる方法 2 2023/06/12 06:55
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/04/21 13:46
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで作成した図形を保存...
-
【ワード】挿入した画像のファ...
-
Word文書をページ単位で画像と...
-
エクセルの表でフォルダの絵を...
-
Microsoft EdgeでJPEG画像を保...
-
ワードアートを綺麗な画像とし...
-
ワードで作った文書の一部を画...
-
エクセルに劣化せず画像を挿入...
-
パワーポイントにファイルサイ...
-
イラレからワードへ綺麗に画像...
-
楽譜作成ソフトFinaleの楽譜を...
-
ワードに貼り付けられた画像の...
-
グラフを貼ってたらファイルの...
-
VBAで画像圧縮はできますか?
-
Excelへの画像貼り付けがビット...
-
カラーのPDFをメールで返送...
-
pdfファイルをjpegファイルに変...
-
WordやExcelの表や画像を、jpg ...
-
ワード文書をビットマップ形式...
-
エクセルに貼り付けた画像の大...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで作成した図形を保存...
-
【ワード】挿入した画像のファ...
-
エクセルの表でフォルダの絵を...
-
Word文書をページ単位で画像と...
-
グラフを貼ってたらファイルの...
-
Excelへの画像貼り付けがビット...
-
携帯でjpegファイルを見たいん...
-
Microsoft EdgeでJPEG画像を保...
-
Power Pointで作成した画像を解...
-
イラレからワードへ綺麗に画像...
-
WordやExcelの表や画像を、jpg ...
-
excel に bmpファイルを貼り付け
-
ワードで作った文書の一部を画...
-
カラーのPDFをメールで返送...
-
VBAで画像圧縮はできますか?
-
エクセルに貼り付けた画像の大...
-
JPEG画像が貼り付けできません
-
Excel2003のヘッダーの図の編集...
-
ワード文書をビットマップ形式...
-
画像 ビットの深さ
おすすめ情報