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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  DataGrid VB 6.0
Edilene
PELOTAS
53 - BRASIL
ENUNCIADA !
Postada em 05/11/2007 10:11 hs         
Oi,
 
Estou fazendo uma pesquisa no banco de dados, a qual me retorna o cód e o nome do cliente.
Minha pergunta é como mostrar os dados do banco em um DataGrid?
 
Agradeço se puderem me ajudar.
 
Abraços, 
   
SRick
LAVRAS
MG - BRASIL
ENUNCIADA !
Postada em 05/11/2007 12:05 hs            
Olá Edilene abaixo um código simples para vc estudar, usando data grid.
Me mande seu e-mail que lhe envio o programa completo.
 
Public Sub SortDBGrid(dbg As DBGrid, dat As Data, Optional Ordem As Variant)
'//Ordem: True:Ascendente (predeterminado), False: Descendente
Dim rs As Recordset
Dim Clause As String
Dim FieldName As String
Dim Asc As Boolean
Dim CurrCol As Integer
On Error GoTo SortErr
If IsMissing(Ordem) Then
   Asc = True
Else
   Asc = CBool(Ordem)
End If
CurrCol = dbg.Col
FieldName = dbg.Columns(CurrCol).DataField
If dat.Recordset.Fields(FieldName).Type = dbMemo Then
   MsgBox "Os campos Memos não podem ser ordenados"
   Exit Sub
End If
Screen.MousePointer = vbHourglass
Set rs = dat.Recordset
Clause = "[" + FieldName + "]"
If Not Asc Then
   Clause = Clause + " DESC"
End If
rs.Sort = Clause
Set dat.Recordset = rs.OpenRecordset(rs.Type)
dbg.Col = CurrCol
dbg.SetFocus
Screen.MousePointer = vbDefault
Exit Sub
SortErr:
MsgBox Err.Description
End Sub
Private Sub Command1_Click()
If Option1 Then
     Call SortDBGrid(DBGrid1, Data1, True)
  ElseIf Option2 Then
     Call SortDBGrid(DBGrid1, Data1, False)
  End If
End Sub
Private Sub Command2_Click()
Dim sarel As String
sarel = MsgBox("Abandonando a Consulta... OBRIGADO!!!", vbOKOnly + vbInformation, "HENRIQUE Sistemas")
Unload Form4
End Sub

Private Sub Command3_Click()
Dim Dado As String, busca As String
Dado = InputBox("Informe a inicial do nome a localizar ! ", " SOLICITANTE ")
'busca = " SOLICITANTE='" & Dado & "'" (BUSCA POR NOME COMPLETO)
busca = " SOLICITANTE LIKE '" & Dado & "*'" ' BUSCA PELO INÍCIO DO NOME
Data1.Recordset.FindMin busca
If Data1.Recordset.NoMatch Then
     MsgBox " Solicitante não localizado ", vbExclamation, "HENRIQUE Sistemas - Consulta pela incial do Nome do Solicitante"
Else
     DBGrid1.SelBookmarks.Add DBGrid1.Bookmark   'usando a propriedade para selecionar a linha
End If
End Sub
Private Sub Form_Load()
Data1.DatabaseName = App.Path & "Praca.mdb"
Data1.RecordSource = "Praca8"
End Sub
   
Ivo
não registrado
ENUNCIADA !
Postada em 05/11/2007 12:33 hs   

Option Explicit

'Adicione o MSFlexGrid clicando em Project -> componentes
'e selecione a opção -> ( Microsoft FlexGrid Control 6.0 (SP6) )
'agora arraste o grid para seu form e dê um nome para ele
'neste exemplo o nome é: msfGrid
'feito isso é só seguir o exemplo e funcionara certinho

'o legal é voce carregar o grid via codigo porque assim vc tem todo
'o controle da situação...
'se voce usar o grid vinculado ao recordset qualquer erro ficará dificil
'de identificar

'até mais
'Ivo

Private Sub Form_Load()
    Dim rs As ADODB.Recordset
    Set rs = New ADODB.Recordset
    'Monte aqui o seu recordset para enviar para a função
    'carregar o grid
    '
    Call montaCabecalho ' 1 - monta o cabeçalho do grid
    Call CarregaGrid(rs) '2 - depois carrega os dados com o seu select
End Sub

Private Sub montaCabecalho()
    With msfGrid
        .Cols = 2 'seta a quantidade de colunas - Codigo e nome
        .Rows = 1 'seta com quantas linhas o grid irá inicializar
       
        .TextMatrix(0, 0) = "Código" ' na linha 0 coluna 0 o rotulo da coluna será "CODIGO"
        .ColWidth(0) = 700 'largura da coluna CODIGO
       
        .TextMatrix(0, 1) = "Nome"  ' na linha 0 coluna 1 o rotulo da coluna será "NOME"
        .ColWidth(1) = 3000 'largura da coluna NOME
    End With
End Sub

'Quando chamar essa função passe o recordset populado com seus dados
Private Sub CarregaGrid(ByRef rsSelect As ADODB.Recordset)

    With msfGrid
        .Clear 'limpa o grid
       
        Do While Not rsSelect.EOF
            .Rows = .Rows + 1 'a cada registro novo adiciona uma nova linha
               
            'CODIGO
            .TextMatrix(.Rows - 1, 0) = rsSelect!codigo 'na coluna 0 atribui o valor da coluna CODIGO do RecordSet
           
            'NOME
            .TextMatrix(.Rows - 1, 1) = rsSelect!codigo 'na coluna 1 atribui o valor da coluna NOME do RecordSet
           
            rsSelect.MoveNext
        Loop
    End With
End Sub

 
   
ghost_jlp
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 05/11/2007 23:17 hs            
Olá Edilene.
 
Bom, basicamente, trabalhando com ADO e DataGrid ( diferente de DAO e DBGRID) vc tenta assim:
 
Set DataGrid.DataSource = Recordset
 
Sendo Recordset o objeto que abre a sua tabela exemplo:
 
rs.Open "Select * from Authors", Conexao
 
Qualquer dúvida é só postar.
 
at+
   
mila
não registrado
ENUNCIADA !
Postada em 02/10/2008 17:31 hs   
gente.. eu n to sabendo colocar o datagrid no meu vb6..

por favor me ajudem.

xauzimm
   
Alexandre
não registrado
ENUNCIADA !
Postada em 17/07/2009 16:16 hs   
Prezado Srº. SRick estou fazendo um programa pequeno de cadastro de clientes em VB 6.0 com bco. de dados Access e gostaria que meu DataGrid mostrasse o nome do cliente que eu digito em um textbox  e clico num botão chamado cmdbuscar. Acontece que quando eu clico nesse botão o DataGrid  fica vazio e não busca nada. Estou lhe enviando o programa fonte para você ter uma idéia do que está acontecendo. Não repara, pois aprendi VB catucando mesmo.
   
Página(s): 1/2      PRÓXIMA »


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



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