VALIDAR TEXTBOX
Olá amigos,
Como faço, ao sair de um TextBox, verificar se o mesmo está entre os números de dois campos de uma tabela SQL.
Já tentei várias formas, mas não consigo resolver. O último código que tentei é o seguinte:
Private Sub txtNumeroCheque_LostFocus(sender As Object, e As EventArgs) Handles txtNumeroCheque.LostFocus
Dim numCheque As Integer = Val(txtNumeroCheque.Text)
Dim sqlCon As New SqlConnection(strCmd)
Dim strSql As String = [Ô]SELECT * FROM TB_TalaoCheques WHERE NumeroInicial <= [ô][Ô] & Val(numCheque) & [Ô][ô] AND NumeroFinal >= [ô][Ô] & Val(numCheque) & [Ô][ô][Ô]
Dim sqlCmd As New SqlCommand(strSql, sqlCon)
Dim dr As SqlDataReader
sqlCmd.Connection.Open()
dr = sqlCmd.ExecuteReader
If dr.HasRows Then
dr.Read()
dr.GetValue(txtNumeroCheque.Text)
dr.Close()
End If
End Sub
Desde já agradeço.
Como faço, ao sair de um TextBox, verificar se o mesmo está entre os números de dois campos de uma tabela SQL.
Já tentei várias formas, mas não consigo resolver. O último código que tentei é o seguinte:
Private Sub txtNumeroCheque_LostFocus(sender As Object, e As EventArgs) Handles txtNumeroCheque.LostFocus
Dim numCheque As Integer = Val(txtNumeroCheque.Text)
Dim sqlCon As New SqlConnection(strCmd)
Dim strSql As String = [Ô]SELECT * FROM TB_TalaoCheques WHERE NumeroInicial <= [ô][Ô] & Val(numCheque) & [Ô][ô] AND NumeroFinal >= [ô][Ô] & Val(numCheque) & [Ô][ô][Ô]
Dim sqlCmd As New SqlCommand(strSql, sqlCon)
Dim dr As SqlDataReader
sqlCmd.Connection.Open()
dr = sqlCmd.ExecuteReader
If dr.HasRows Then
dr.Read()
dr.GetValue(txtNumeroCheque.Text)
dr.Close()
End If
End Sub
Desde já agradeço.
Olá amigos,
Consegui resolver. Ao invés de utilizar dois parâmetros para minha consulta, utilizei apenas um, ficou assim:
Private Sub txtNumeroCheque_LostFocus(sender As Object, e As EventArgs) Handles txtNumeroCheque.LostFocus
Dim numCheque As Integer = Val(txtNumeroCheque.Text)
Dim sqlCon As New SqlConnection(strCmd)
Dim strSql As String = [Ô]SELECT * FROM TB_TalaoCheques WHERE NumeroFinal <= [ô][Ô] & numCheque & [Ô][ô][Ô]
Dim sqlCmd As New SqlCommand(strSql, sqlCon)
Dim dr As SqlDataReader
sqlCmd.Connection.Open()
dr = sqlCmd.ExecuteReader
If dr.HasRows Then
dr.Read()
If numCheque > dr([Ô]NumeroFinal[Ô]).ToString Then
MsgBox([Ô]Essa numeração não faz parte dos TALÕES cadastrados.[Ô] + _
vbCrLf + [Ô]Cadastre o TALÃO para continuar.[Ô], vbInformation, [Ô]ATENÇAO[Ô])
txtNumeroCheque.Focus()
End If
dr.Close()
End If
End Sub
Muito obrigado pela atenção.
Consegui resolver. Ao invés de utilizar dois parâmetros para minha consulta, utilizei apenas um, ficou assim:
Private Sub txtNumeroCheque_LostFocus(sender As Object, e As EventArgs) Handles txtNumeroCheque.LostFocus
Dim numCheque As Integer = Val(txtNumeroCheque.Text)
Dim sqlCon As New SqlConnection(strCmd)
Dim strSql As String = [Ô]SELECT * FROM TB_TalaoCheques WHERE NumeroFinal <= [ô][Ô] & numCheque & [Ô][ô][Ô]
Dim sqlCmd As New SqlCommand(strSql, sqlCon)
Dim dr As SqlDataReader
sqlCmd.Connection.Open()
dr = sqlCmd.ExecuteReader
If dr.HasRows Then
dr.Read()
If numCheque > dr([Ô]NumeroFinal[Ô]).ToString Then
MsgBox([Ô]Essa numeração não faz parte dos TALÕES cadastrados.[Ô] + _
vbCrLf + [Ô]Cadastre o TALÃO para continuar.[Ô], vbInformation, [Ô]ATENÇAO[Ô])
txtNumeroCheque.Focus()
End If
dr.Close()
End If
End Sub
Muito obrigado pela atenção.
se houver a necessidade de verificar se esta entre existe o between no SQL, so nao sei te dizer com certeza se funciona fora de campos data, nunca usei fora de campos data
Caro NICKOSOFT,
Obrigado pela atençao, Tentei com between e não consegui, mas como postei acima já arrumei uma solução, que na verdade e bem simples. Estou agora lapidando essa solução. Vou dar o tópico como encerrado.
Até uma próxima.
Obrigado pela atençao, Tentei com between e não consegui, mas como postei acima já arrumei uma solução, que na verdade e bem simples. Estou agora lapidando essa solução. Vou dar o tópico como encerrado.
Até uma próxima.
Tópico encerrado , respostas não são mais permitidas