USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Dbgrid x Consulta como fazer ?
Alexandre C.G
Pontos: 2843 Pontos: 2843
PATOS DE MINAS
MG - BRASIL
ENUNCIADA !
Postada em 10/11/2005 12:54 hs            
bem eu faço assim:
no evento change do textbox faça mais ou menos esse codigo:
 
dim sql as string
sql="select nome from clientes where nome like '" & txtnome.text
rs.open sql
datagrid1.datasource=rs
   
Daniel
Pontos: 2843
SÃO PAULO
SP - BRASIL
Postada em 10/11/2005 14:34 hs            
estou te passando todas as linhas de programação de uma tela minha de pesquisa, se não entender alguma é so falar
 
Dim St_opcao As Integer
Private Sub Bt_Voltar_Click()
    On Error Resume Next
    S_Foco
    Frm_Pesq_Pedidos.Hide
End Sub
Private Sub Dt_Fatura_Change()
    DBGrid1.Enabled = True
End Sub
Private Sub Dt_Fatura_KeyPress(KeyAscii As Integer)
    If KeyAscii = 13 Then S_Pesquisa
End Sub
Private Sub Status_Change()
    DBGrid1.Enabled = True
End Sub
Private Sub Status_KeyPress(KeyAscii As Integer)
    If KeyAscii = 13 Then S_Pesquisa
End Sub
Private Sub Cod_Repres_Change()
    DBGrid1.Enabled = True
End Sub
Private Sub Cod_Repres_KeyPress(KeyAscii As Integer)
    If KeyAscii = 13 Then S_Pesquisa
End Sub
Private Sub Cod_Cli_Change()
    DBGrid1.Enabled = True
End Sub
Private Sub Cod_Cli_KeyPress(KeyAscii As Integer)
    If KeyAscii = 13 Then S_Pesquisa
End Sub
Private Sub DBGrid1_KeyDown(KeyCode As Integer, Shift As Integer)
    If KeyCode = 13 Then DBGrid1_DblClick
End Sub
Private Sub Pedido_Change()
    DBGrid1.Enabled = True
End Sub
Private Sub Rt_Tipo_Click(Index As Integer)
    If Status.Visible Then
        Status.SetFocus
        Exit Sub
    End If
    If NF.Visible Then
        NF.SetFocus
        Exit Sub
    End If
    If Pedido.Visible Then
        Pedido.SetFocus
        Exit Sub
    End If
    If Cod_Repres.Visible Then
        Cod_Repres.SetFocus
        Exit Sub
    End If
    If Cod_Cli.Visible Then
        Cod_Cli.SetFocus
        Exit Sub
    End If
End Sub
Private Sub NF_Change()
    DBGrid1.Enabled = True
End Sub
Private Sub NF_KeyPress(KeyAscii As Integer)
    If KeyAscii = 13 Then S_Pesquisa
End Sub
Private Sub Pedido_KeyPress(KeyAscii As Integer)
    If KeyAscii = 13 Then
        S_Pesquisa
        Pedido.SetFocus
        Pedido.SelStart = 0
        Pedido.SelLength = Len(Pedido)
    End If
End Sub
Private Sub DBGrid1_RowColChange(LatRow As Variant, ByVal LasRow As Integer)
    'Destacando a linha toda no DBGrid
    If Data1.Recordset.RecordCount Then
        DBGrid1.SelBookmarks.Add Data1.Recordset.Bookmark
    End If
End Sub
Private Sub DBGrid1_DblClick()
    On Error Resume Next
    DBGrid1.Col = 0
    If Not IsNull(DBGrid1) Then
        If DBGrid1 <> "" Then
            Select Case Rt_Origem
                Case "Frm_Pedidos"
                    If Not Frm_Pedidos.F_Carrega_Dados((DBGrid1)) Then
                        Exit Sub
                    End If
            End Select
            S_Foco
            Frm_Pesq_Pedidos.Hide
            Exit Sub
        End If
    End If
End Sub
Private Sub Form_Load()
    Left = (Screen.Width - Width) / 2
    Top = (Screen.Height - Height) / 2
   
    Cod_Cli.DatabaseName = Base_Client.Name
    Cod_Cli.BoundColumn = "Codigo"
    Cod_Cli.Datafield = "Nome_R"
   
    Cod_Repres.DatabaseName = Base_Repres.Name
    Cod_Repres.BoundColumn = "Codigo"
    Cod_Repres.Datafield = "Apelido"
   
    Status.DatabaseName = Base_Pedido.Name
    Status.BoundColumn = "Codigo"
    Status.Datafield = "Descricao"
   
    Data1.DatabaseName = Base_Pedido.Name
    Data1.Refresh
    St_opcao = 0
    S_Larg_Grid
End Sub
Sub S_Oculta()
    Pedido.Visible = False
    Cod_Cli.Visible = False
    Cod_Repres.Visible = False
    NF.Visible = False
    Status.Visible = False
    Dt_Fatura.Visible = False
End Sub
Private Sub Rt_opcao_Click(Index As Integer)
    St_opcao = Index
    S_Oculta
    Et_Rotulo = Rt_opcao(Index).Caption
    Select Case Index
        Case 4
            Status.Visible = True
            Status.SetFocus
        Case 3
            NF.Visible = True
            NF.SetFocus
        Case 0
            Pedido.Visible = True
            Pedido.SetFocus
        Case 2
            Cod_Repres.Visible = True
            Cod_Repres.SetFocus
        Case 1
            Cod_Cli.Visible = True
            Cod_Cli.SetFocus
        Case 5
            Dt_Fatura.Visible = True
            Dt_Fatura.SetFocus
    End Select
End Sub
Sub S_Pesquisa()
    Dim T_Continua As Boolean, T_Valor As String, T_Nome As String, T_Sql As String, T_Condicao As String
    Dim T_Tipo As Integer
    T_Condicao = ") ORDER BY Pd.Emissao, Pd.Pedido;"
   
    T_Sql = "SELECT Pd.Codigo, Pd.Pedido, Pd.Emissao, St.Descricao, Pd.Emissao_NF FROM Pedidos AS Pd LEFT JOIN Status_Pedido AS St ON Pd.Status = St.Codigo WHERE ("
   
    Select Case St_opcao
        Case 4
        'Status
            If Not Status.MatchedWithList Then
                G_Mens "Escolha um Status de Pedido Valido", MEN_INFORMA
                Status.SetFocus
                Exit Sub
            End If
            T_Valor = Status.BoundText
            T_Condicao = "((Status) = " & T_Valor & ")" & T_Condicao
        Case 3 'NF
            T_Valor = "" & NF
            If T_Valor = "" Then
                G_Mens "Escolha uma NF Valida", MEN_INFORMA
                NF.SetFocus
                Exit Sub
            End If
            T_Condicao = "((NF) = " & T_Valor & ")" & T_Condicao
        Case 0 'Pedido
            Pedido = "" & Trim(Pedido)
            If Pedido = "" Then
                G_Mens "Digite um No. de Pedido Válido", MEN_INFORMA
                Pedido.SetFocus
                Exit Sub
            End If
            T_Valor = Pedido
            If Rt_Tipo(0) Then
                T_Condicao = "((Pedido) Like '" & T_Valor & "*')" & T_Condicao
            Else
                T_Condicao = "((Pedido) Like '*" & T_Valor & "*')" & T_Condicao
            End If
        Case 2 'Cod_Repres
            If Not Cod_Repres.MatchedWithList Then
                G_Mens "Escolha um representante Valido", MEN_INFORMA
                Cod_Repres.SetFocus
                Exit Sub
            End If
            T_Valor = Cod_Repres.BoundText
            T_Condicao = "((Cod_Repres) = " & T_Valor & ")" & T_Condicao
        Case 1 'Cod_Cli
            If Not Cod_Cli.MatchedWithList Then
                G_Mens "Escolha um Cliente valido", MEN_INFORMA
                Cod_Cli.SetFocus
                Exit Sub
            End If
            T_Valor = Cod_Cli.BoundText
            T_Condicao = "((Cod_Cli) = " & T_Valor & ")" & T_Condicao
        Case 5 'Data de Faturamento
            If Dt_Fatura.Text = "__/__/____" Then
                G_Mens "Favor digitar uma data", MEN_INFORMA
                Dt_Fatura.SetFocus
                Exit Sub
            End If
            T_Valor = Dt_Fatura.Text
            T_Condicao = "((Emissao_NF) = " & G_Sqldata(CDate(T_Valor)) & ")" & T_Condicao
    End Select
   
    Screen.MousePointer = 11
    Data1.RecordSource = T_Sql & T_Condicao
    Data1.Refresh
    DBGrid1.Refresh
    DBGrid1.Enabled = True
    S_Larg_Grid
End Sub
Sub S_Larg_Grid()
    Screen.MousePointer = 0
End Sub
Sub S_Limpa_Dados()
    Data1.RecordSource = "SELECT Pd.Codigo, Pd.Pedido, Pd.Emissao, St.Descricao, Pd.Emissao_NF FROM Pedidos AS Pd LEFT JOIN Status_Pedido AS St ON Pd.Status = St.Codigo WHERE (((Pd.Pedido)=0));"
    Data1.Refresh
    DBGrid1.Refresh
    Cod_Repres.BoundText = ""
    NF = ""
    Status.BoundText = ""
    Pedido = ""
    Cod_Cli.BoundText = ""
    DBGrid1.Enabled = False
End Sub
Sub S_Foco()
    On Error Resume Next
    Select Case St_opcao
        Case 4: Status.SetFocus
        Case 3: NF.SetFocus
        Case 0: Pedido.SetFocus
        Case 2: Cod_Repres.SetFocus
        Case 1: Cod_Cli.SetFocus
    End Select
End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    On Error Resume Next
    If KeyCode = 116 Then 'F5
        Cod_Repres.Refresh
        Status.Refresh
        Cod_Cli.Refresh
        Data1.Refresh
        DBGrid1.Refresh
    End If
End Sub
 

dsmn
     
Rodrigo F.
JABOTICABAL
SP - BRASIL
ENUNCIADA !
Postada em 10/11/2005 15:20 hs            
Valeu Daniel !!!

Rodrigo Ferreira

MSN - rjpferreira@hotmail.com

   
Página(s): 2/2     « ANTERIOR  

CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página