2011-07-05 10 views
0

私がvb6で書いている単純なアプリケーションのデバッグに問題があります。この段階で私がしようとしているのは、フォームを開いて、データベースからのエントリでコンボボックスを作成することだけです。ここVb6フォームロードエラー

は私のコードです:

Public Sub Form_Load() 

''''''''''''''''''''''''''''Fill ComboBox with open Tickets''''''''''''''''''' 
Dim Sqlstring As String 
Dim rstCurrentTickets As Recordset 

Sqlstring = "Select * from TroubleTickets where ResolvedDate IS Null" 
Set rstCurrentTickets = cnnSel.OpenRecordset(Sqlstring) 

Do While Not rstCurrentTicket.EOF 

If Not IsNull(rstCurrentTicket.Fields!TroubleTicketId) Then 
     TicketComboBox.AddItem (Trim(rstCurrentTicket.Fields!Title)) 
End If 
TicketComboBox.MoveNext 
Loop 
''''''''''''''''''''''''''''End of Segment''''''''''''''''''' 


If CreateNewTicketRadioButton.value = True Then 
CreateSubmitButton.visible = True 
CloseButton.visible = False 
EditButton.visible = False 

ElseIf (EditOpenTicketRadioButton.value = True) Then 

CreateSubmitButton.visible = False 
CloseButton.visible = False 
EditButton.visible = True 

ElseIf (CloseResolvedTicketRadioButton.value = True) Then 

CreateSubmitButton.visible = False 
CloseButton.visible = True 
EditButton.visible = False 

End If 



End Sub 

私は、デバッガでそれを実行すると、それはロードサブに停止し、エラーを与える:「コンパイルエラー:メソッドまたはデータメンバーが見つかりません」

ご協力ありがとうございます。

Do While Not rstCurrentTicket.EOF 

ラインにタイプミスがあります

答えて

4

これは、変数名の末尾にSを持っている必要があります。

Do While Not rstCurrentTickets.EOF 

あなたはこの変数を参照する他の場所で同様の問題があります。

VB6 IDEでOption Explicitをオンにする必要があります。既に作成したすべてのフォーム/モジュール/クラスに、ファイルの先頭にその名前が付いていることを確認してください。これにより、すべての変数が適切に宣言され、これらのバグを見つけにくくなります。

+0

困ったことに私の問題を解決しました – jth41

+0

不要な二重否定を避けると、Doof Not EOFではなくEOFまで実行することで、ロジックを理解しやすくなります。 – Bob77