LoginSignup
0
2

More than 5 years have passed since last update.

Access 2013以降でフォームにGoogleMapを表示するときの変更点

Posted at

基本的にはEXCEL版の応用

ExcelにGoogle Maps APIで地図を埋め込み、住所検索、拡大/縮小、地図種類変更
を今回はACCESSのフォームでやってみるときの変更点をメモします。

ACCESSの場合表示用フィールドを設ける

EXCEL版はテキストボックスを作って、それに住所を入力してOKボタンを押すと検索します。これはACCESSでも可能ですが、GOOGLEMAP表示用アドレスフィールドを設けると、何度も入力しなくて済みます。
というのもGOOGLEMAPは必ずしも正確な住所で検索ができず、緯度経度、近くの建物の住所等、あるはQIITA町2010-2では検索できないがQIITA町2010では検索できる、など工夫する必要があるためです。

ACCESSではスピンボタンを表示させる時工夫が必要

上記のようなフィールドを設けたテーブルを単票形式のフォームに表示させ、上記記事のようにOKボタン、オプションボタンを設けますが、スピンボタンが見つかりません。
Web Browserと似ていますが、ツールボックスには表示されないので、
ActiveX Contorolsから
Microsoft FormsX.X Spinbutton
を選択する必要があります。
このときSpinbutton1とするとなぜかオブジェクト名がSpinbutton1_Spinbutton1となりましたが、そういう時もあるのでしょう。

ACCESSのWeb BrowserにはNavigate命令がない

AccessのWEB BROWSERにはありません。どうするかというとCotrolsourceプロパティに入れます。ところがここでもう一つ注意点があります

ACCESSのWeb BrowserのURLはEXCELと違う

navigate method missing from web browser control
Try this
=("www." & [text2] & ".com")
とあります。つまり()でつつまないと駄目なのです。

以上をまとめると、上記記事のOKボタンのプロシージャの記述はACCESSの場合、該当する部分の2行は記述を以下のように変更する必要があります。

Access.VB
'EXCEl VBA
googleUri = "=(" & Chr(34) & "http://maps.google.com/maps/api/staticmap?size=600x600&zoom=" & no & "&sensor=false&markers=" & myAddressCoodinatePosition & "&maptype=" & myMapType & Chr(34) & ")"
WebBrowser1.ControlSource = googleUri

オプションボタンにはキャプションがない

ACCESSのオプションボタンにはキャプションがありません
myMapType = OptionButton1.Caption
という記述はエラーになります。
また、元の記事はグループ化してあるのかな?オプションボタンを一つ押すと他は排他でFALSEにする必要があります。
Captionの代わりにtagプロパティを使うか、直接値を記述します。
optionbutton1を作ったらプロパティのタグにroadmapと入れます
もしくは値を直接入れます

Access.VBA
Private Sub OptionButton1_Click()
okButton.Enabled = True
OptionButton2.Value = False
OptionButton3.Value = False
OptionButton4.Value = False
myMapType = OptionButton1.Tag
'myMapType = "roadmap"
地図の表示
End Sub

地図の表示サブプロシージャはフォーム内

原記事ではわかりにくいですが、地図の表示はフォームのプロシージャに記述しないと動きません。

最後に

この機能はオフィス2007以降に仕様が変わったもののようですが、むしろこのフォームでボタンを押すと地図を表示する機能はACCESS用ではないでしょうか。あと住所ではなく緯度経度、ランドマークでもできますので、その場所にあった最適な表示を選んでみてください。
また縮尺はデフォルトではこの記事は10に設定されていますが、少し詳しく、12くらいでもいいかもしれません。縮尺用のフィールドを設けてもいいかもしれません。ただし、フォーム内の地図はマウスで拡大できます。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2