[OSのVER]:Windows2000
[VBのVER]:6.0
[クライアントアクセスのVER]iSeries Access5.2
VBからAS400に接続してデータをダウンロードしています。
通常のデータは問題ないのですが、「−」の文字が「?」になってしまいます。
考えられる原因は文字コードの変換部分でそのような現象が起こっていると思われるのですが、対処の方法が見つかりません。
MS932 >> UNICODE >> MS932 ?
--------------------------------------------------------------
Private Sub Command1_Click()
'AS400接続
Dim AS400 As New ADODB.Connection
Dim AS400rst As New ADODB.Recordset
Dim AS400sql As String
AS400.Open "provider=IBMDA400; Data source='192.168.***.***';", "*****", "*****" 後ろ2つはユーザーIDとパスワードです
AS400sql = "SELECT * FROM TESTLIB.TEST"
AS400rst.Open AS400sql, AS400, adOpenKeyset, adLockOptimistic
Debug.Print AS400rst!FIELD1 & vbCr & vbLf & "================="
AS400.Close
Set AS400 = Nothing
End Sub
--------------------------------------------------------------
Debug.Printは確認用に使っています。
解決策をご存知の方がいらっしゃいましたらよろしくお願いします。
私もAS400からデーターを読み込んでいますがそのようにはなりません。
ただしクライアントアクセスのバージョンは4.?だったと思います。
(ちょっと今手元に無いので確認できません)
AS400は特殊なのでそちらのフォーラムで聞かれた方がいいと思います。
ご返答ありがとうございます。返事が遅くなりましてすいません。
結果としては、ダウンロード作業はODBC経由で行うことにしました。
provider=MSDASQL
Data source = (ODBCへ登録してある名称)
ただ、この方法だとAS400への更新のところでエラーになってしまうので、更新作業のときは前述の接続方法にしました。
お騒がせしました。