■報告と対応状況
Access2007で動作させると一部正常に動作しない機能がありました。
このページでは発生する現象の対処が記載されております。
デモシステムは基本的に売り切りですので、極力お客様ご自身で問題を解決して頂けますようお願い致します。
以下に、現象別の対処方法をご案内致します。
『Access2000』形式、『Access2002-2003』形式、『Access2007』形式のいずれも同じ対処方法になります。
1999年11月以前のデモシステムは『Access97』用ですので、そのまま使用することはできません。また『Access2002-2003』形式に変換しても動作しません。『Access2007』で動作させるには、Access2000へバージョンアップする時と同様の対処を行ったのち、Access2003、Access2007の対応を行って下さい。
詳細は、こちらをご参照ください。
※モジュール公開版が対象です。
非公開版をご購入頂いたお客様は本社営業部にお問い合わせ下さい。
※『GEOSIS-OCX』は全バージョンで正常に動作します。
従って、お客様が構築されたシステムについては、お客様サイドでメンテナンスをお願いいたします。
また、GEOSIS-OCXの『WindowsVistaでの動作チェック報告』は、こちらをご参照ください。
■全デモシステム共通の事前準備
事前に『GEOSIS-OCXライセンス』をインストールして下さい。
事前に『Access2007』をインストールして下さい。
以下に説明する対処方法は、『GEOSIS-OCXライセンス』と『Access2007』が正常にインストールされている状態が前提です。
必ず事前にセットアップして頂き、セットアップ時に問題が発生した場合は、問題を解決してからデモシステムの修正を行って下さい。
■現象別の対処方法
グラフが表示されない
[現象]
グラフの張り付いたフォームを開いた時にグラフが表示されない現象が発生します。
※この現象はOSがWindowsVistaの場合のみ発生します。
ACCESS2003と同様の現象です。
対象方法などの詳細については『デモシステムのACCESS2003対応について(グラフが表示されない)』を参照して下さい。
GEOSIS-OCXの一時描画が消えてしまう(GEOSIS-OCXのフォーカス移動時)
[現象]
GEOSIS-OCXオブジェクトからフォーカスが別のコントロールに移動すると現象が発生します。
GEOSIS-OCXの張り付いているフォーム内で、フォーカスの移動を行うと、GEOSIS−OCXの再描画が行われ、一時描画(コマンド“DSPSETPAL”や“FGDISPT”などで表示したもの)が消えてしまいます。
[対処方法]
BRGEOSIS-OCXからフォーカスを移動する時に再描画されてしまう現象は回避できませんので、一時描画(“DSPSETPAL”や“FGDISPT”)を実行する前に、フォーカス移動先のオブジェクト(GEOSIS−OCXオブジェクトやメッセージガイドラインメッセージ)にフォーカスを移動する処理と“DoEvents”関数を追加します。一時描画前にフォーカスを移動することにより、一時描画後に再描画が発生しなくなります。
【修正例】
上水道台帳管理システム フォーム「MENU_ファイリング」の「File_弁栓」ボタンクリック時
※赤字の行を追加
Private Sub File_竣工図_Click()
Dim ANo As String
Dim ELNo As String
Dim RetVal
RET = SMSG("MAP", "ファイリングデータを表示します。表示する管を指示して下さい。
(右ボタン:キャンセル)")
Forms("MAP").GEO.SetFocus
DoEvents
georet = GExecMSG("DSPSETPAL", "192 192 192")
:
(省略)
:
●索引図の一時表示が消える場合
[対処方法]
GEOSIS-OCXのフォーカス移動時に再描画されてしまう現象は回避できませんので、“FGDISPT”などの一時描画コマンドではなく、“SETLANDTMP”または“INPUT”を使用して対応します。
【修正例】
上水道台帳管理システム フォーム「MAP」のGEOSISオブジェクトのAreaイベント
※赤字部分を追加
※青字部分を変更(内容の変更や、記入位置の移動)
Private Sub GEO_Area(ByVal XMIN As Double, ByVal XMAX As Double, ByVal YMIN As Double, ByVal YMAX As Double, ByVal Scl As Double) Dim d As Double Dim x1 As String Dim y1 As String Dim x2 As String Dim y2 As String d = (XMIN + XMAX) / 2# x1 = "CLIPBOARD C ! ! ! " & Str(d) & " -999999999 LINS 900" x2 = "CLIPBOARD A ! ! ! " & Str(d) & " 999999999 LINN 900" d = (YMIN + YMAX) / 2# y1 = "CLIPBOARD C ! ! ! -999999999 " & Str(d) & " LINS 900" y2 = "CLIPBOARD A ! ! ! 999999999 " & Str(d) & " LINN 900" georet = GEOSIS2.Exec("DSPINVAL", "") georet = GEOSIS2.Exec("FGCURDB", x1) georet = GEOSIS2.Exec("FGCURDB", x2) georet = GEOSIS2.Exec("FGDISPT", "CLIPBOARD PUT ALL") georet = GEOSIS2.Exec("FGCURDB", y1) georet = GEOSIS2.Exec("FGCURDB", y2) georet = GEOSIS2.Exec("FGDISPT", "CLIPBOARD PUT ALL") georet = 指定枠のポリゴン生成("CLIPBOARD", XMIN, YMIN, XMAX, YMAX, 1, 1) georet = GEOSIS2.Exec("FGDISPT", "CLIPBOARD XOR ALL") End Sub
Private Sub GEO_Area(ByVal XMIN As Double, ByVal XMAX As Double, ByVal YMIN As Double, ByVal YMAX As Double, ByVal Scl As Double) Dim d As Double Dim x1 As String Dim y1 As String Dim x2 As String Dim y2 As String d = (XMIN + XMAX) / 2# x1 = "CLIPBOARD A ! ! ! " & Str(d) & " -999999999 LINS 993" x2 = "CLIPBOARD A ! ! ! " & Str(d) & " 999999999 LINN 993"
d = (YMIN + YMAX) / 2#
y1 = "CLIPBOARD A ! ! ! -999999999 " & Str(d) & " LINS 993" y2 = "CLIPBOARD A ! ! ! 999999999 " & Str(d) & " LINN 993" GeoRet = GEOSIS2.Exec("SETLANDTMP", "ON") GeoRet = 指定枠のポリゴン生成("CLIPBOARD", XMIN, YMIN, XMAX, YMAX, 1, 1) GeoRet = GEOSIS2.Exec("FGCURDB", x1) GeoRet = GEOSIS2.Exec("FGCURDB", x2) GeoRet = GEOSIS2.Exec("FGCURDB", y1) GeoRet = GEOSIS2.Exec("FGCURDB", y2) GeoRet = GEOSIS2.Exec("SETLANDTMP", "A ! CLIPBOARD") GeoRet = GEOSIS2.Exec("DSPREFRESH", "")
[対処方法]
GEOSIS-OCXのフォーカス移動時に再描画されてしまう現象は回避できませんので、コマンド“FGINPUT”で図形を登録した後に、コマンド“DSPREFRESH
CLR”の処理を追加します。
※“DSPREFRESHCLR”を実行しないと、再描画時にベクタキャッシュの情報が表示されるため、コマンド“FGINPUT”実行前の情報が表示されてしまいます。
【修正例】
公園台帳管理システム フォーム「MAP_公園台帳図」の「属性表示_MNU」のクリックイベント
※赤字部分を追加
Private Sub 属性表示_MNU_Click()
:
(省略)
:
Case 19 ' 樹木名称表示
georet = GExec2("CHKDGRP", "311")
If GEOSIS2.ReturnQ1 Then
:
(省略)
:
Else
Ret = 公園内中間ファイル作成("210", Group_No, "ATMP")
Ret = 属性注記交換("TREE", "ATMP", "AAT")
georet = GExec2("SETDGRP", "ON ! ! 311")
georet = GExec2("SETSGRP", "ON ! ! 311")
georet = GExec2("SETEGRP", "ON ! ! 311")
georet = GExec2("FGINPUT", "AAT 311")
georet = GExec2("DSPREFRESH", "CLR")
End If
:
(省略)
:
●強調表示(一時表示)後に、GEOSIS-OCXにフォーカスが移動し一時表示が消える場合
[対処方法]
コマンド“DSPSETPAL”の前にGEOSIS−OCXオブジェクトにフォースを移動します。
※コマンド“FGO2T”でGEOSIS-OCXにフォーカスが移動する時に再描画が発生するため、その前にGEOSIS−OCXオブジェクトにフォーカスを移動します。
【修正例】
下水道台帳管理システム モジュール「下水専用_縦断図モジュール」の関数「Kankyo_Put」
※赤字部分を追加
Function Kankyo_Put(表示レイヤ, レイヤ, グループ)
:
(省略)
:
Forms("MAP").GEO.SetFocus: DoEvents
GeoRet = GExec("DSPSETPAL", "100 100 100")
GeoRet = GExec("DSPADD", グループ, "PUT", 表示レイヤ)
:
(省略)
:
[関連機能]
※青字の機能はAccess2003でも現象が発生する機能です。
- 公園台帳管理システム
- 公園図面表示画面の【属性表示】−【施設調書メニュー】−【施設名称表示ON/OFF】
- 公園図面表示画面の【属性表示】−【樹木調書メニュー】−【樹木名称表示ON/OFF】
- 公園図面表示画面の【属性表示】−【施設調書メニュー】−【施設HIT表示】
- 公園図面表示画面の【属性表示】−【樹木調書メニュー】−【樹木HIT表示】
- 公園図面表示画面の【更新】−【新規入力メニュー】
- 公園図面表示画面の【更新】−【属性更新メニュー】
- 上水道台帳管理システム
- 索引図
- 【属性検索】機能の検索結果画面の【選択図形の表示】
- 【ファイリング】
- 【属性表示】機能
(【管】、【量水器】、【受水槽】、【弁栓】、【水源施設】、【開発行為】、管属性引出し)
- 下水道台帳管理システム
- 索引図
- 【条件検索機能】の検索結果画面の【図面表示】
- 【属性表示機能】
- 【管渠縦断図機能】の【管指示】
- 【上下流追跡機能】
- 道路情報ファイリングシステム
- 索引図
- 各サブシステムの検索機能の検索結果画面の【地図表示】
- サブシステム「道路情報管理」の【委託箇所図】
- サブシステム「道路情報管理」の【公共工事編集】−【指示データ変更】
- サブシステム「道路情報管理」の【自費工事編集】−【指示データ変更】
- 各サブシステムの【図形指示】
- 【路線名検索】
- 【オプション】−【動画】
クエリ式でエラーが発生する
[現象]
フィールド名の先頭が全角数字の場合にクエリ式のエラーが発生します。
[対処方法]
フィールド名を大カッコ( [ ] )で括ります。
【修正例】
上水道台帳管理システム フォーム「全管_管種口径グラフ」のグラフオブジェクト「グラフ0」の“値集合ソース“
※赤字部分を追加
SELECT 全管_管口径.布設年月日, 全管_管口径.24以下φ, 全管_管口径.25φ, 全管_管口径.〜30φ, ・・・・・・FROM 全管_管口径;
SELECT 全管_管口径.布設年月日, 全管_管口径.[24以下φ], 全管_管口径.[25φ], 全管_管口径.〜30φ, ・・・・・・FROM 全管_管口径;
[関連機能]
- 上水道台帳管理システム
- 【集計】機能のグラフ表示
- 全管(管口径、管種・管口径)
- 配水管(管口径、管種・管口径)
- 導水管(管口径、管種・管口径)
- 送水管(管口径、管種・管口径)
コンボボックスのリスト表示が異なる
[現象]
コンボボックスオブジェクトのプロパティ“列幅”を省略(空白)した場合、コンボボックスの幅に収まる幅で全ての列を表示するため、各列の情報が一部しか表示されません。
[対処方法]
コンボボックスオブジェクトのプロパティ“列幅”に各列の幅を設定します。
【修正例】
道路情報ファイリングシステム フォーム「図面選択」のコンボボックスオブジェクト「ZNAME」の“列幅“
空白 → 「3cm;3cm;3cm;3cm;3cm」
- 道路情報ファイリングシステム
- 【図面名検索】