推 fumizuki:以這程式碼看來,看不出for 有錯誤@@" 210.58.156.43 03/20
> -------------------------------------------------------------------------- <
作者: misssun (sun) 看板: Visual_Basic
標題: Re: [問題] 請問VB與VBscript
時間: Sun Mar 20 19:47:13 2005
還是我的資料庫有錯呢?! 照理說應該是沒有錯誤....
麻煩您再幫我看看程式部分是否已沒有問題了呢?! 謝謝~~~
我整段po出來,麻煩您了~~~~~~~ 感激不盡!!
'宣告
Dim db
Dim rs1
Dim rst1
Dim rs2
Dim rst2
Dim rs3
Dim rst3
Dim rs4
Dim rs5
Dim rs6
Dim R(10283, 3), F(10283, 3), M(10283, 3)
Dim Litemset_1R(3), Litemset_1F(3), Litemset_1M(3)
'宣告存放學生id的動態陣例
ReDim sArray1(10281),sArray2(10281),sArray3(10281),sArray4(10281),sArray5(10281),sArray6(10281),sArray7(10281),sArray8(10281),sArray9(10281)
ReDim sArray10(10281),sArray11(10281),sArray12(10281),sArray13(10281),sArray14(10281),sArray15(10281),sArray16(10281),sArray17(10281),sArray18(10281),sArray19(10281)
ReDim sArray20(10281),sArray21(10281),sArray22(10281),sArray23(10281),sArray24(10281),sArray25(10281),sArray26(10281),sArray27(10281)
Private Sub Command1_Click()
afa1 = Val(Text1)
Set conn = Server.CreateObject("ADODB.Connection")
DBPath = Server.MapPath("rfmdb.mdb")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
Set rs = Server.CreateObject("ADODB.Recordset")
wSQL1 ="select * from CRFM1997"
rs.Open wSQL1, conn, 3,3
'wSQL1 = "select * from CRFM1997"
Set db = OpenDatabase(App.Path + "\rfmdb.mdb")
Set rs1 = db.OpenRecordset(wSQL1)
Set rst1 = db.OpenRecordset(wSQL1)
'1997年RFM顧客分群
'找出RFM的最大與最小值與模糊歸屬函數參數值
rst1.MoveFirst
Rc = rst1("R")
Fc = rst1("F")
Mc = rst1("M")
Ra = rst1("R")
Fa = rst1("F")
Ma = rst1("M")
rst1.MoveNext
For i = 2 To 10282
If Rc < rst1("R") Then Rc = rst1("R")
If Fc < rst1("F") Then Fc = rst1("F")
If Mc < rst1("M") Then Mc = rst1("M")
If Ra > rst1("R") Then Ra = rst1("R")
If Fa > rst1("F") Then Fa = rst1("F")
If Ma > V Then Ma = rst1("M")
rst1.MoveNext
Rb = (Ra + Rc) / 2
Fb = (Fa + Fc) / 2
Mb = (Ma + Mc) / 2
rs1.MoveFirst
For i = 1 To 10282
'Select Case rs1R '計算每位顧客R的歸屬度值
'If a < 0 Then
'Case rs1R <= Ra
If rst1("R")<= Ra Then
R(i, 1) = 1
R(i, 2) = 0
R(i, 3) = 0
'ElseIf a >= 1 And a <=50 Then ==>VB script寫法
'Case Ra To Rb ==>VB寫法
ElseIf rst1("R") >= Ra And rst1("R") <=Rb Then
R(i, 1) = (Rb - rs1R) / (Rb - Ra)
R(i, 2) = (rst1("R") - Ra) / (Rb - Ra)
R(i, 3) = 0
'ElseIf a >=51 And a<=99 Then
'Case Rb To Rc
ElseIf rst1("R") >= Rb And rst1("R") <=Rc Then
R(i, 1) = 0
R(i, 2) = (Rc - rst1("R")) / (Rc - Rb)
R(i, 3) = (rst1("R") - Rb) / (Rc - Rb)
'Case rs1R >= Rc
ElseIf rst1("R") >= Rc Then
R(i, 1) = 0
R(i, 2) = 0
R(i, 3) = 1
End If
'End Select
'Select Case rs1F '計算每位顧客F的歸屬度值
'Case rs1F <= Fa
If rst1("F") <= Fa Then
F(i, 1) = 1
F(i, 2) = 0
F(i, 3) = 0
'Case Fa To Fb
ElseIf rst1("F") >= Fa And rst1("F") <=Fb Then
F(i, 1) = (Fb - rst1("F")) / (Fb - Fa)
F(i, 2) = (rst1("F") - Fa) / (Fb - Fa)
F(i, 3) = 0
'Case Fb To Fc
ElseIf rst1("F") >= Fb And rst1("F") <=Fc Then
F(i, 1) = 0
F(i, 2) = (Fc - rst1("F")) / (Fc - Fb)
F(i, 3) = (rst1("F") - Fb) / (Fc - Fb)
'Case rs1F >= Fc
ElseIf rst1("F") >= Fc Then
F(i, 1) = 0
F(i, 2) = 0
F(i, 3) = 1
End If
'End Select
'Select Case rs1M '計算每位顧客R的歸屬度值
'Case rs1M <= Ma
If rst1("M") <= Ma Then
M(i, 1) = 1
M(i, 2) = 0
M(i, 3) = 0
'Case Ma To Mb
ElseIf rst1("M") >= Ma And rst1("M") <=Mb Then
M(i, 1) = (Mb - rst1("M")) / (Mb - Ma)
M(i, 2) = (rst1("M") - Ma) / (Mb - Ma)
M(i, 3) = 0
'Case Mb To Mc
ElseIf rst1("M") >= Mb And rst1("M") <=Mc Then
M(i, 1) = 0
M(i, 2) = (Mc - rst1("M")) / (Mc - Mb)
M(i, 3) = (rst1("M") - Mb) / (Mc - Mb)
'Case rs1M >= Mc
ElseIf rst1("M") >= Mc Then
M(i, 1) = 0
M(i, 2) = 0
M(i, 3) = 1
End If
'End Select
'找出顧客的R/F/M
For p = 1 To 3
If R(i, p) > 0 Then Litemset_1R(p) = 1 Else Litemset_1R(p) = 0
Next
For q = 1 To 3
If F(i, q) > 0 Then Litemset_1F(q) = 1 Else Litemset_1F(q) = 0
Next
For j = 1 To 3
If M(i, j) > 0 Then Litemset_1M(j) = 1 Else Litemset_1M(j) = 0
Next
'顧客分群(共27群)
If Litemset_1R(1) = 1 And Litemset_1F(3) = 1 And Litemset_1M(3) = 1 Then CLUW = R(i, 1) * F(i, 3) * M(i, 3)
If Litemset_1R(1) = 1 And Litemset_1F(3) = 1 And Litemset_1M(3) = 1 And CLUW >= afa1 Then
Adodc1.Recordset.AddNew
Adodc1.Recordset("CID") = sArray1(i)
Adodc1.Recordset("CLU") = "1"
Adodc1.Recordset("CTYPE") = "忠誠的老顧客(高消費非理性型)"
Adodc1.Recordset("CLUW") = CLUW
Adodc1.Recordset.Update
response.write"<FONT Color=#97be1c>" & "代碼" & sArray1(i) & "</p>" & "</font> "
response.Write "此群集為 " & "忠誠的老顧客(高消費非理性型)" & "</p>"
End If
.....中間省略
If Litemset_1R(3) = 1 And Litemset_1F(1) = 1 And Litemset_1M(1) = 1 Then CLUW = R(i, 3) * F(i, 1) * M(i, 1)
If Litemset_1R(3) = 1 And Litemset_1F(1) = 1 And Litemset_1M(1) = 1 And CLUW >= afa1 Then
Adodc1.Recordset("CID") = sArray27(i)
Adodc1.Recordset("CLU") = "27"
Adodc1.Recordset("CTYPE") = "離開有很久的低忠誠顧客"
Adodc1.Recordset("CLUW") = CLUW
Adodc1.Recordset.Update
response.write"<FONT Color=#97be1c>" & "代碼" & sArray27(i) & "</p>" & "</font> "
response.Write "此群集為 " & "離開有很久的低忠誠顧客" & "</p>"
End If
rs1.MoveNext
Next
End Sub
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.171.154.109
> -------------------------------------------------------------------------- <
作者: fumizuki (小獅) 看板: Visual_Basic
標題: Re: [問題] 請問VB與VBscript
時間: Sun Mar 20 20:13:12 2005
※ 引述《misssun (sun)》之銘言:
: rst1.MoveNext
: For i = 2 To 10282
: If Rc < rst1("R") Then Rc = rst1("R")
: If Fc < rst1("F") Then Fc = rst1("F")
: If Mc < rst1("M") Then Mc = rst1("M")
: If Ra > rst1("R") Then Ra = rst1("R")
: If Fa > rst1("F") Then Fa = rst1("F")
: If Ma > V Then Ma = rst1("M")
: rst1.MoveNext
Next
: Rb = (Ra + Rc) / 2
: Fb = (Fa + Fc) / 2
: Mb = (Ma + Mc) / 2
: rs1.MoveFirst
--
人若無星爺,跟條鹹魚有何分別?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.58.156.43
> -------------------------------------------------------------------------- <
作者: misssun (sun) 看板: Visual_Basic
標題: Re: [問題] 請問VB與VBscript
時間: Sun Mar 20 20:38:32 2005
哈! 我剛剛也發現了!! 真是白痴...
不過.....
為何我想要response.Write出來的東西
仍舊一片空白....是因為裡面本來就是空的嗎??
沒有任何錯誤訊息了.... 就是一面白...... WHY....
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.171.154.109
※ 編輯: misssun 來自: 218.171.154.109 (03/20 20:46)
推 fumizuki:看你response前的if條件是否一定成立 210.58.156.43 03/20
> -------------------------------------------------------------------------- <
作者: fumizuki (小獅) 看板: Visual_Basic
標題: Re: [問題] 請問VB與VBscript
時間: Sun Mar 20 20:54:18 2005
※ 引述《misssun (sun)》之銘言:
: 哈! 我剛剛也發現了!! 真是白痴...
: 不過.....
: 為何我想要response.Write出來的東西
: 仍舊一片空白....是因為裡面本來就是空的嗎??
: 沒有任何錯誤訊息了.... 就是一面白...... WHY....
看你 ie 有沒有打開 每次出現指令碼錯誤皆顯示通知
response前的if條件一定成立嗎?
空白的話,就加幾行 response 輸出變數內容或任意內容偵錯,
看看有沒有執行,條件有沒有成立
--
人若無星爺,跟條鹹魚有何分別?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.58.156.43
> -------------------------------------------------------------------------- <
作者: misssun (sun) 看板: Visual_Basic
標題: Re: [問題] 請問VB與VBscript
時間: Sun Mar 20 21:23:08 2005
※ 引述《fumizuki (小獅)》之銘言:
: ※ 引述《misssun (sun)》之銘言:
: : 哈! 我剛剛也發現了!! 真是白痴...
: : 不過.....
: : 為何我想要response.Write出來的東西
: : 仍舊一片空白....是因為裡面本來就是空的嗎??
: : 沒有任何錯誤訊息了.... 就是一面白...... WHY....
: 看你 ie 有沒有打開 每次出現指令碼錯誤皆顯示通知
: response前的if條件一定成立嗎?
: 空白的話,就加幾行 response 輸出變數內容或任意內容偵錯,
: 看看有沒有執行,條件有沒有成立
嗯! 謝謝您花這麼多時間看我的程式,
雖然我還找不出來哪邊有問題,
但您已解決我許多疑問,再次謝謝您!!!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.171.154.109
> -------------------------------------------------------------------------- <
作者: misssun (sun) 看板: Visual_Basic
標題: Re: [問題] 請問VB與VBscript
時間: Sun Mar 20 22:01:22 2005
※ 引述《misssun (sun)》之銘言:
: '宣告
: Dim db
: Dim rs1
: Dim rst1
: Dim rs2
: Dim rst2
: Dim rs3
: Dim rst3
: Dim rs4
: Dim rs5
: Dim rs6
: Dim R(10283, 3), F(10283, 3), M(10283, 3)
: Dim Litemset_1R(3), Litemset_1F(3), Litemset_1M(3)
: '宣告存放學生id的動態陣例
: ReDim sArray1(10281),sArray2(10281),sArray3(10281),sArray4(10281),sArray5(10281),sArray6(10281),sArray7(10281),sArray8(10281),sArray9(10281)
: ReDim sArray10(10281),sArray11(10281),sArray12(10281),sArray13(10281),sArray14(10281),sArray15(10281),sArray16(10281),sArray17(10281),sArray18(10281),sArray19(10281)
: ReDim sArray20(10281),sArray21(10281),sArray22(10281),sArray23(10281),sArray24(10281),sArray25(10281),sArray26(10281),sArray27(10281)
: Private Sub Command1_Click()
我後來發現是這行有問題,這行以下的程式通通都沒有跑,
所以網頁上會一面白,是我語法出了錯嗎?
麻煩您再撥空指導我一下,謝謝!!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.171.154.109
> -------------------------------------------------------------------------- <
作者: fumizuki (小獅) 看板: Visual_Basic
標題: Re: [問題] 請問VB與VBscript
時間: Mon Mar 21 06:49:27 2005
※ 引述《misssun (sun)》之銘言:
: : Private Sub Command1_Click()
: 我後來發現是這行有問題,這行以下的程式通通都沒有跑,
: 所以網頁上會一面白,是我語法出了錯嗎?
: 麻煩您再撥空指導我一下,謝謝!!!
不是語法錯誤,是物件錯誤
是在 vb 中一個名為 Comannd1 的物件(是個按鈕)
給你一個範例
<body>
<script language="vbscript">
Sub xd()
Msgbox "xd"
End Sub
</script>
<input type=submit value="確定" onclick="xd()">
</body>
--
人若無星爺,跟條鹹魚有何分別?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.58.156.43
> -------------------------------------------------------------------------- <
作者: misssun (sun) 看板: Visual_Basic
標題: Re: [問題] 請問VB與VBscript
時間: Mon Mar 21 10:55:46 2005
謝謝! 我改過之後
又出現物件的問題
wSQL1 = "select * from CRFM1997"
Set db = OpenDatabase(App.Path + "\rfmdb.mdb") =====>出現錯誤訊息處
Set rs1 = db.OpenRecordset(wSQL1)
Set rst1 = db.OpenRecordset(wSQL1)
錯誤訊息是"Microsoft VBScript 執行階段錯誤 錯誤 '800a01a8'
此處需要物件: '' "
這不是連上資料庫的語法嗎? 還是我誤會了?!
Set conn = Server.CreateObject("ADODB.Connection")
DBPath = Server.MapPath("rfmdb.mdb")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
Set rs = Server.CreateObject("ADODB.Recordset")
wSQL1 ="select * from CRFM1997"
rs.Open wSQL1, conn, 3,3
這邊是我連資料庫的語法,但我不明白OpenRecordset是什麼,所以當初就保留了
這段程式碼沒修改.....也是會出現"此處需要物件"的錯誤訊息...
※ 引述《fumizuki (小獅)》之銘言:
: ※ 引述《misssun (sun)》之銘言:
: : 我後來發現是這行有問題,這行以下的程式通通都沒有跑,
: : 所以網頁上會一面白,是我語法出了錯嗎?
: : 麻煩您再撥空指導我一下,謝謝!!!
: 不是語法錯誤,是物件錯誤
: 是在 vb 中一個名為 Comannd1 的物件(是個按鈕)
: 給你一個範例
: <body>
: <script language="vbscript">
: Sub xd()
: Msgbox "xd"
: End Sub
: </script>
: <input type=submit value="確定" onclick="xd()">
: </body>
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.171.148.72
> -------------------------------------------------------------------------- <
作者: fumizuki (小獅) 看板: Visual_Basic
標題: Re: [問題] 請問VB與VBscript
時間: Mon Mar 21 11:19:15 2005
※ 引述《misssun (sun)》之銘言:
: 謝謝! 我改過之後
: 又出現物件的問題
: wSQL1 = "select * from CRFM1997"
: Set db = OpenDatabase(App.Path + "\rfmdb.mdb") =====>出現錯誤訊息處
: Set rs1 = db.OpenRecordset(wSQL1)
: Set rst1 = db.OpenRecordset(wSQL1)
: 錯誤訊息是"Microsoft VBScript 執行階段錯誤 錯誤 '800a01a8'
: 此處需要物件: '' "
: 這不是連上資料庫的語法嗎? 還是我誤會了?!
: Set conn = Server.CreateObject("ADODB.Connection")
: DBPath = Server.MapPath("rfmdb.mdb")
: conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
: Set rs = Server.CreateObject("ADODB.Recordset")
: wSQL1 ="select * from CRFM1997"
: rs.Open wSQL1, conn, 3,3
: 這邊是我連資料庫的語法,但我不明白OpenRecordset是什麼,所以當初就保留了
: 這段程式碼沒修改.....也是會出現"此處需要物件"的錯誤訊息...
邏輯怪怪的
為什麼同一個資料表要開三次?(rs1、rst1、rs)
而且 OpenDatabase 和 OpenRecordset 是自訂函式?
我沒看到完整的程式碼,不知道你的目的是什麼,很難給你一個標準答案。
我目前認為啦,一個rs就夠了,其他的都是多餘的,
正確的開啟資料庫方法是 createobject 那一段
--
人若無星爺,跟條鹹魚有何分別?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.222.155.162
> -------------------------------------------------------------------------- <
作者: misssun (sun) 看板: Visual_Basic
標題: Re: [問題] 請問VB與VBscript
時間: Mon Mar 21 11:37:34 2005
可是我將
Set rs1 = db.OpenRecordset(wSQL1)
Set rst1 = db.OpenRecordset(wSQL1)這兩行刪除之後,
變成rst1.MoveFirst這行出相同的錯誤訊息....
下面是rs1.MoveFirst 這行之前的所有程式碼..... (在我完全沒有更動他之前)
Dim db As Database
Dim rs1 As Recordset
Dim rst1 As Recordset
Dim rs2 As Recordset
Dim rst2 As Recordset
Dim rs3 As Recordset
Dim rst3 As Recordset
Dim rs4 As Recordset
Dim rs5 As Recordset
Dim rs6 As Recordset
Dim R(10283, 3), F(10283, 3), M(10283, 3)
Dim Litemset_1R(3), Litemset_1F(3), Litemset_1M(3)
'宣告
Private Sub Command1_Click()
afa1 = Val(Text1) =======>另外,我還想請教一下VAL的作用是...?
這行也會出現錯誤訊息,"VAL型態不符合"
wSQL1 = "select * from CRFM1997"
Set db = OpenDatabase(App.Path + "\rfmdb.mdb")
Set rs1 = db.OpenRecordset(wSQL1)
Set rst1 = db.OpenRecordset(wSQL1)
'1997年RFM顧客分群
'找出RFM的最大與最小值與模糊歸屬函數參數值
rst1.MoveFirst ========>出現錯誤訊息處!
Rc = rst1!R
Fc = rst1!F
Mc = rst1!M
Ra = rst1!R
Fa = rst1!F
Ma = rst1!M
rst1.MoveNext
For i = 2 To 10282
If Rc < rst1!R Then Rc = rst1!R
If Fc < rst1!F Then Fc = rst1!F
If Mc < rst1!M Then Mc = rst1!M
If Ra > rst1!R Then Ra = rst1!R
If Fa > rst1!F Then Fa = rst1!F
If Ma > rst1!M Then Ma = rst1!M
rst1.MoveNext
Next
Rb = (Ra + Rc) / 2
Fb = (Fa + Fc) / 2
Mb = (Ma + Mc) / 2
rs1.MoveFirst
我還想請問一下 Adodc1.Recordset 是什麼物件? 謝謝~~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.171.148.72
※ 編輯: misssun 來自: 218.171.148.72 (03/21 11:38)
> -------------------------------------------------------------------------- <
作者: fumizuki (小獅) 看板: Visual_Basic
標題: Re: [問題] 請問VB與VBscript
時間: Mon Mar 21 12:07:04 2005
※ 引述《misssun (sun)》之銘言:
: Dim db As Database
: Dim rs1 As Recordset
: Dim rst1 As Recordset
: Dim rs2 As Recordset
: Dim rst2 As Recordset
: Dim rs3 As Recordset
: Dim rst3 As Recordset
: Dim rs4 As Recordset
: Dim rs5 As Recordset
: Dim rs6 As Recordset
: Dim R(10283, 3), F(10283, 3), M(10283, 3)
: Dim Litemset_1R(3), Litemset_1F(3), Litemset_1M(3)
: '宣告
: Private Sub Command1_Click()
: afa1 = Val(Text1) =======>另外,我還想請教一下VAL的作用是...?
: 這行也會出現錯誤訊息,"VAL型態不符合"
Text1是個文字方塊,必須輸入一個數字。
Val()是將字串型態(String)的資料轉成數值型態(Double)
Text1 用 <input name=Text1 type=text> 替換
: wSQL1 = "select * from CRFM1997"
: Set db = OpenDatabase(App.Path + "\rfmdb.mdb")
: Set rs1 = db.OpenRecordset(wSQL1)
: Set rst1 = db.OpenRecordset(wSQL1)
: '1997年RFM顧客分群
: '找出RFM的最大與最小值與模糊歸屬函數參數值
: rst1.MoveFirst ========>出現錯誤訊息處!
訊息為何?
問題你OpenRecordset那段沒有改成正確的啊
: Rc = rst1!R
: Fc = rst1!F
: Mc = rst1!M
: Ra = rst1!R
: Fa = rst1!F
: Ma = rst1!M
: rst1.MoveNext
: For i = 2 To 10282
: If Rc < rst1!R Then Rc = rst1!R
: If Fc < rst1!F Then Fc = rst1!F
: If Mc < rst1!M Then Mc = rst1!M
: If Ra > rst1!R Then Ra = rst1!R
: If Fa > rst1!F Then Fa = rst1!F
: If Ma > rst1!M Then Ma = rst1!M
: rst1.MoveNext
: Next
: Rb = (Ra + Rc) / 2
: Fb = (Fa + Fc) / 2
: Mb = (Ma + Mc) / 2
: rs1.MoveFirst
: 我還想請問一下 Adodc1.Recordset 是什麼物件? 謝謝~~
資料庫存取物件的一種,用在 vb 表單上,配合 Data 物件使用
adodc.recordset一樣替換成 adodb.recordset 物件...
set rs = createobject("adodb.recordset")
那段啊...
--
人若無星爺,跟條鹹魚有何分別?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.222.155.162
> -------------------------------------------------------------------------- <
作者: misssun (sun) 看板: Visual_Basic
標題: Re: [問題] 請問VB與VBscript
時間: Mon Mar 21 12:29:33 2005
※ 引述《fumizuki (小獅)》之銘言:
: : Set db = OpenDatabase(App.Path + "\rfmdb.mdb")
: : Set rs1 = db.OpenRecordset(wSQL1)
: : Set rst1 = db.OpenRecordset(wSQL1)
: : '1997年RFM顧客分群
: : '找出RFM的最大與最小值與模糊歸屬函數參數值
: : rst1.MoveFirst ========>出現錯誤訊息處!
: 訊息為何?
: 問題你OpenRecordset那段沒有改成正確的啊
您不是說他們是多餘的? 所以我以為是可以把他們刪掉的意思...
我現在明白了!
這邊改完之後,出現的錯誤訊息是"發生例外。"
rs1.MoveFirst
For i = 1 To 10282
If rst1("R")<= Ra Then ===>就是這行!
R(i, 1) = 1
R(i, 2) = 0
R(i, 3) = 0
ElseIf rst1("R") >= Ra And rst1("R") <=Rb Then
R(i, 1) = (Rb - rst1("R")) / (Rb - Ra)
R(i, 2) = (rst1("R") - Ra) / (Rb - Ra)
R(i, 3) = 0
發生例外,是指rst1("R") > Ra嗎??
如果是這樣,應該跑下一行就好啦~~ 為什麼還會有例外發生呢?
不好意思~ 麻煩您教教我~ 謝謝~~~
: : Rc = rst1!R
: : Fc = rst1!F
: : Mc = rst1!M
: : Ra = rst1!R
: : Fa = rst1!F
: : Ma = rst1!M
: : rst1.MoveNext
: : For i = 2 To 10282
: : If Rc < rst1!R Then Rc = rst1!R
: : If Fc < rst1!F Then Fc = rst1!F
: : If Mc < rst1!M Then Mc = rst1!M
: : If Ra > rst1!R Then Ra = rst1!R
: : If Fa > rst1!F Then Fa = rst1!F
: : If Ma > rst1!M Then Ma = rst1!M
: : rst1.MoveNext
: : Next
: : Rb = (Ra + Rc) / 2
: : Fb = (Fa + Fc) / 2
: : Mb = (Ma + Mc) / 2
: : rs1.MoveFirst
: : 我還想請問一下 Adodc1.Recordset 是什麼物件? 謝謝~~
: 資料庫存取物件的一種,用在 vb 表單上,配合 Data 物件使用
: adodc.recordset一樣替換成 adodb.recordset 物件...
: set rs = createobject("adodb.recordset")
: 那段啊...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.171.148.72
※ 編輯: misssun 來自: 218.171.148.72 (03/21 13:34)
推 fumizuki:我不知道為何會例外呢 61.222.155.162 03/21
→ fumizuki:「發生例外」這個錯誤訊息很不明確 61.222.155.162 03/21
→ fumizuki:有很多種原因 61.222.155.162 03/21
> -------------------------------------------------------------------------- <
作者: fumizuki (小獅) 看板: Visual_Basic
標題: Re: [問題] 請問VB與VBscript
時間: Mon Mar 21 12:25:35 2005
在1517篇有講過了,那個語法在script上也通用
建立一個資料庫連線的物件
Set conn = Server.CreateObject("ADODB.Connection")
^^^^^^^ 可以省略不用
取得資料庫檔案 "rfmdb.mdb" 的絕對路徑
DBPath = Server.MapPath("rfmdb.mdb")
^^^^^^^^^^^^^^^ ASP 內建的物件,VBScript 沒有這個東西
在網路上做資料庫存取,一定要使用ASP或PHP 等語言
如果在本機做資料庫存取的話,只須寫
DBPath = "C:\???????\rfmdb.mdb"
就可以了。
開啟資料庫
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
建立資料表物件
Set rs = Server.CreateObject("ADODB.Recordset")
^^^^^^^一樣可以省略不用..VBScript 必須省略(應該是吧?)
SQL 查詢語言的語法,選擇 CRFM1997 中的所有欄位資料。
wSQL1 ="select * from CRFM1997"
開啟資料表,第一個參數是查詢語法,第二個參數是連線物件。
rs.Open wSQL1, conn, 3,3
--
人若無星爺,跟條鹹魚有何分別?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.222.155.162
> -------------------------------------------------------------------------- <
作者: misssun (sun) 看板: Visual_Basic
標題: Re: [問題] 請問VB與VBscript
時間: Mon Mar 21 12:35:31 2005
※ 引述《fumizuki (小獅)》之銘言:
: 在1517篇有講過了,那個語法在script上也通用
: 建立一個資料庫連線的物件
: Set conn = Server.CreateObject("ADODB.Connection")
: ^^^^^^^ 可以省略不用
: 取得資料庫檔案 "rfmdb.mdb" 的絕對路徑
: DBPath = Server.MapPath("rfmdb.mdb")
: ^^^^^^^^^^^^^^^ ASP 內建的物件,VBScript 沒有這個東西
: 在網路上做資料庫存取,一定要使用ASP或PHP 等語言
: 如果在本機做資料庫存取的話,只須寫
: DBPath = "C:\???????\rfmdb.mdb"
: 就可以了。
嗯!了解了! 不過我是要在網路上作資料存取的~~
: 開啟資料庫
: conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
: 建立資料表物件
: Set rs = Server.CreateObject("ADODB.Recordset")
: ^^^^^^^一樣可以省略不用..VBScript 必須省略(應該是吧?)
嗯...應該是可以不用省略,我有另外一支可以跑的程式,
裡頭呼叫資料庫的時候,沒有把SERVER省略掉,我是沒試過把他省略還可不可以跑就是了..
: SQL 查詢語言的語法,選擇 CRFM1997 中的所有欄位資料。
: wSQL1 ="select * from CRFM1997"
: 開啟資料表,第一個參數是查詢語法,第二個參數是連線物件。
: rs.Open wSQL1, conn, 3,3
那我想再請問一下,為什麼都是3,3呢 ?? 這邊其實我疑惑很久了~~
謝謝您的詳細說明!! 獲益良多!!! 謝謝!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.171.148.72
→ fumizuki:詳細的內容不記得了 61.222.155.162 03/21
推 fumizuki:我都是用 rs.open sql, conn, 1, 3, 1 的 61.222.155.162 03/21
→ fumizuki:其中一個參數是唯讀存取或獨佔存取或共享 61.222.155.162 03/21
→ fumizuki:我要查一下資料,才知道詳細的使用方法 61.222.155.162 03/21
→ fumizuki:那你是用ASP寫的? 61.222.155.162 03/21
推 misssun:嗯 是的 是ASP 218.171.148.72 03/21
→ fumizuki:之裡沒有ASP專門版啊@@...不過有Web_Design版 61.222.155.162 03/21
推 misssun:可是這部份已涉及演算法,普通的網站好像幫不了我 218.171.148.72 03/21
推 misssun:而且我也沒有ASP的問題,演算法這東西還真是不知 218.171.148.72 03/21
→ misssun:能向誰問....總不能叫學校老師幫我DEBUG /_\ 218.171.148.72 03/21
推 misssun:跟你請教一下囉~ 218.171.148.72 03/21
→ misssun:其實現在沒什麼時間管那個3,3是什麼意思,只是正 218.171.148.72 03/21
→ misssun:好在這邊提到了,就順便跟您請教一下囉! 218.171.148.72 03/21