아래 프로그램을 실행하고 싶지 않습니다. 일반적으로 의사 코드는 다음과 같습니다 : 마일 수 (mile.text)를 입력하고 버튼을 클릭하십시오 : 데이터베이스에 마일리지 반경 (milestotextbox) 이하로 입력 된 마일리지를 확인 하시겠습니까? 그렇다면 해당 반경에 해당하는 트럭 적재 속도 (truckloadratetext)를 잡고 "rate"(rate.text) 텍스트 상자에 표시하고 그렇지 않으면 EOF가 될 때까지 계속 찾으십시오. 아래 코드를 보았습니다. 마일리지를 입력 할 수는 있지만 결과를 확인하고 표시하지는 않습니다.VB 2010의 레코드가있는 EOF 루프가 발생할 때까지 수행
테이블의 데이터는 다음과 같습니다
이ID MILESTO TRUCKLOADRATE
1 50 200
2 100 300
3 200 700
4 300 800
그래서 누군가가 (10)와 같은 주행 거리를 입력하면, 나는 그것이 $ 200 봐서 속도를 먹고 싶어. 누군가 250을 입력하면 요금은 800이됩니다. 마일리지가 범위를 벗어나면 어떻게되는지에 대해 지금 당장 매달 리지 않습니다. 이런 식의 기계가 왜 작동하지 않는지 알아 내려고 노력합니다. LOOP 명령으로 레코드를 사용하는 것이 처음입니다. 따라서 프로그램에서 간단하게 유지하려고합니다.
내가 잘못 할 수 있습니까? 미리 감사 드리며 모든 새해가 되길 바랍니다! 당신이 EOF
변수를 설정하거나 나는 그것의 목적을 이해 할 내가 모르는 어느 쪽도
Public Class Form1
Private Property EOF As Boolean
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: This line of code loads data into the '_test_2DataSet.test' table. You can move, or remove it, as needed.
Me.TestTableAdapter.Fill(Me._test_2DataSet.test)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Do Until EOF()
If Val(MilestoTextBox.Text) <= Val(Miles.Text) Then
rate.Text = TruckloadTextBox.Text
End If
Loop
End Sub
End Class
'EOF'는 어디에 설정되어 있습니까? –
더 중요한 질문 ... 왜 SQL을 사용하는 대신 테이블을 반복하고 있습니까? – nycdan
@ nycdan : SQL 쿼리 빌더를 사용하려고했지만 검색 결과에서 더 많은 계산을해야하기 때문에이 작업을 수행하지 못했습니다. SQL로 연습해야한다고 생각합니다. 더 많은 VB 배우기. – Shawn