私は古典的なASP質問があります。Response.Writeの従来のASPサブプロシージャコール
これを試行します。レコードセットは1995〜2020年の単純なリストです。私はドロップダウンのデフォルト選択を2010年(今年)にしようとしています。
問題:私は「Response.Writeを」におけるサブPROCを呼び出すしようとしているが、それは私にこのエラーを与え続け:以下
"Error '800a000d' Type mismatch: 'selectyear' "
試みうちで1つの作品を何の問題も、コードです。しかし、 "if"ロジックをサブプロシージャに移動してRequest.Writeで呼び出すと、エラーが発生します。
Attempt1が動作し、Attempt2が動作しない理由を説明できますか。
' Attempt 1:
rsYEAR.Open qYEAR, objconn, 0, 1
response.Write "<tr><td>Year:</td> <td> <select name='theyear' style=""WIDTH: 67px"">"
dim selyr
while not rsYEAR.EOF
if CINT(rsYEAR.fields("year")) = year(now) then
selyr = "selected"
else selyr = ""
end if
Response.Write"<option value='" & rsYEAR.fields("year") & "' "& selyr &" >" & cstr(rsYEAR.Fields("year"))
rsYEAR.MoveNext
wend
response.Write "</select></td></tr>"
rsYEAR.Close
' Attempt 2:
rsYEAR.Open qYEAR, objconn, 0, 1
response.Write "<tr><td>Year:</td> <td> <select name='theyear' style=""WIDTH: 67px"">"
dim selyr2
while not rsYEAR.EOF
Response.Write "<option value='" & rsYEAR.fields("year") & "' " & cstr(selectyear(cint(rsYEAR.fields("year")))) &" >" & cstr(rsYEAR.Fields("year"))
rsYEAR.MoveNext
wend
response.Write "</select></td></tr>"
'close and clean up
rsYEAR.Close
set rsYEAR = nothing
ご回答いただきありがとうございます。 は シヴァ
おかげになる年のリストだけです。私はSUBコールの前に "cstr"を使って変換しようとしましたが、それでも同じエラーが出ました。 – Shiva
相続人Selectyearのためのコード:サブselectyear(年) \t場合 \tエンド – Shiva
エンドサブ あれば "ああ" 他\t Response.Writeを "選択" その後、(今)年=年 \t \tのResponse.Write - あなたは'selectyear'内の値を' Response.Write'してはいけません。あなたは 'cstr 'に値を渡しているので、' selectyear'関数から値を返す必要があります。その文字列を別の文字列に連結します。 – RedFilter