○下記のPGMの「dbgSub.Columns("住所録ID").Width = 60 * 15
」で「列が見つかりません」とのエラーメッセージが出ます。
どうしてですか?
Dim rs As New ADODB.Recordset
Dim strsql As String
Dim wCD_CLASS As String
If cboGyosyu.Text = "" Then
wCD_CLASS = ""
Else
wCD_CLASS = cboGyosyu.Text
End If
strsql = "SELECT 住所録ID,会社名,支社名,更新日 FROM 取引先会社マスター"
rs.Open strsql, cn, adOpenStatic, adLockOptimistic
Set dbgSub.DataSource = rs
Debug.Print rs("会社名")
dbgSub.Columns("住所録ID").Width = 60 * 15
dbgSub.Columns("会社名").Width = 60 * 15
dbgSub.Columns("支社名").Width = 60 * 15
dbgSub.Columns("最終変更日").Width = 60 * 15
strsql = "SELECT 住所録ID,会社名,支社名,更新日 FROM 取引先会社マスター"
となっている部分で・・・
カラム名は、住所録ID,会社名,支社名,更新日
となります。
では、
dbgSub.Columns("住所録ID").Width = 60 * 15
dbgSub.Columns("会社名").Width = 60 * 15
dbgSub.Columns("支社名").Width = 60 * 15
dbgSub.Columns("最終変更日").Width = 60 * 15
となっている部分で、明示的におかしいのは、
dbgSub.Columns("最終変更日").Width = 60 * 15
ここです・・・
最終変更日と言うカラム名は、SELECT時点では指定されて
いません。
dbgSub.Columns("住所録ID").Width = 60 * 15
ここでおかしい・・・とのことですが、必すしもエラー箇所
がアナウンスされない場合がありますので、ご確認下さい。
以上。
岡田 之仁 さま
ありがとうございます。
ただそれも試してはいたのですが。。。だめでした。
あくまでも
dbgSub.Columns("住所録ID").Width = 60 * 15
dbgSub.Columns("会社名").Width = 60 * 15
dbgSub.Columns("支社名").Width = 60 * 15
dbgSub.Columns("最終変更日").Width = 60 * 15
は、項目名になるだけではないのですか?
office2000だから?
対応方法ありますか?
解決策は必ずあるはずです。
ですが、ことデータベースの場合、動作確認する方法が
他人はありません。
環境を共有することもできませんので・・・
あくまで可能性と言う部分で、チャレンジして頂くしか
どうしようもありませんが・・・
※ では、ひとつ試して下さい。
フィールドの指定を、名称ではなく、本来の配列番号
として指定してみて結果がどうなるか、ご確認下さい。
具体的には・・・
dbgSub.Columns(0).Width = 60 * 15
dbgSub.Columns(1).Width = 60 * 15
dbgSub.Columns(2).Width = 60 * 15
dbgSub.Columns(3).Width = 60 * 15
とするやり方です。
以上。
ツイート | ![]() |