Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

GabrielFerrari

[Resolvido] Preencher DataGrid com botão - VB6

Recommended Posts

Boa tarde,

 

Não sou muito acostumado com o VB porém já tinha visto algumas coisas sobre.

Então resolvi me aventurar fazendo um sisteminha para controle de NFs, Orçamentos e BVs aqui do escritório.

 

Ele deve gravar, buscar e editar dados.

 

Meu problema está na busca.

Eu consegui fazer ela e adicionar os resultados em text

 

Porém gostaria que fosse adicionado em um DataGrid para ficar mais organizado e poder receber vários registros.

 

Até agora tenho isso:

Dim c As New ADODB.Connection
Dim r As New ADODB.Recordset
Dim SQL As String



Private Sub Command1_Click()
c.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source = C:\Documents and Settings\C3\Desktop\Controle de Orçamentos\orcamentos.mdb"
c.Open
If Text1.Text <> "" Then
    SQL = "SELECT * FROM bvs WHERE orcamento_viqtory = '" & Text1 & "';"
End If

r.Open SQL, c
    If Not r.EOF Then
        Text1.Text = r![orcamento_viqtory] & ""
        Text9.Text = r![orcamento_fornecedor] & ""
        Text10.Text = r![valor_fornecedor] & ""
        Text11.Text = r![porcentagem] & ""
        Text12.Text = r![valor_bv] & ""
        Text13.Text = r![total] & ""
        Text14.Text = r![vencimento1] & ""
        Text15.Text = r![vencimento2] & ""
        Text16.Text = r![vencimento3] & ""
    End If

End Sub




Private Sub Command2_Click()
On Error Resume Next
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""
Text7.Text = ""
r.Close
c.Close
End Sub

Buscando vi que a maneira mais simples seria usando ADODC porém não consegui fazer funcionar mesmo assim.

 

 

Obrigado http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deixa eu ver se entendi você quer receber os dados em DataGrid ao invés de text ou os dois ?

 

se for os dois pra preencher o meu DataGrid eu faço iss,dá uma olhada no meu código.

 

Private Sub preenche_grid()
With cmd
    .ActiveConnection = Conex
    .CommandType = adCmdText
    .CommandText = "select nome As nome from clientes"
End With
   With rs
    Set DataGrid1.DataSource = rs
   End With
   
End Sub

Declarei as duas variavéis em um módulo

 

Global cmd As New ADODB.Command
Global rs As New ADODB.Recordset

Qualquer coisa dá uma olhada aqui:

http://forum.imasters.com.br/index.php?/topic/359546-mudar-o-nome-das-colunas-do-datagrid/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Troca essa linha :

 

.CommandText = "select nome As nome from clientes"

Por essa :

.CommandText = "select* from clientes"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Do jeito que estava antes, faça

 

Set DataGrid1.Datasource = r

 

Só não lembro se tem refresh, reload.

 

 

NO código do Gabriel, acho faltou executar o comando. Pode ser por isso que não trouxe nada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sou bem fraco em VB :P

Não consegui não...

 

Deu erro:

Object required

Private Sub Command1_Click()
c.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source = C:\Documents and Settings\C3\Desktop\Controle de Orçamentos\orcamentos.mdb"
c.Open
If Text1.Text <> "" Then
    SQL = "SELECT * FROM clientes WHERE orcamento_viqtory = '" & Text1 & "';"
    
End If

r.Open SQL, c

    If Not r.EOF Then
        Set DataGrid1.DataSource = r
    End If
End Sub

Tentei colocar um refresh ou reload pesquisando no google

mas continuo na mesma.

 

 

 

______________________________________

 

 

A maneira que o Gabrieldb passou eu tentei também

Mas além de não ter dado certo eu não consegui entender para tentar fuçar :(

 

 

Agradeço muito as repostas e peço desculpas pela demora na resposta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

paraqual linha aponta o erro ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Declarou a variavel ?

 

Dim c As New ADODB.Connection

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esta declaradas as 3

 

Dim c As New ADODB.Connection
Dim r As New ADODB.Recordset
Dim SQL As String

_________________________________

 

Eu fui fuçando aqui e pesquisando ver se arrumo

Agora está aparecendo o seguinte:

 

The rowset is not bookmarkable.

 

Linha: Set DataGrid1.DataSource = r

 

Código completo:

 

Dim c As New ADODB.Connection
Dim r As New ADODB.Recordset
Dim SQL As String

Private Sub Command1_Click()
c.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source = C:\Documents and Settings\C3\Desktop\Controle de Orçamentos\orcamentos.mdb"

c.Open

   SQL = "SELECT * FROM bvs WHERE orcamento_viqtory = '" & Text1 & "';"

r.Open SQL, c

    If Not r.EOF Then
        Set DataGrid1.DataSource = r
   End If

End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seu código ficou assim:?

 


Dim c As New ADODB.Connection
Dim r As New ADODB.Recordset
Dim SQL As String

Private Sub Command1_Click()
c.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source = C:\Documents and Settings\C3\Desktop\Controle de Orçamentos\orcamentos.mdb"

c.Open
c.cursorlocation = adUseClient

   SQL = "SELECT * FROM bvs WHERE orcamento_viqtory = '" & Text1 & "';"

r.Open SQL, c

    If Not r.EOF Then
        Set DataGrid1.DataSource = r
   End If

End Sub

E o erro apontado foi para a linha que inseriu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa Claudio Neto funcionou certinho!

 

O meu deu aquele erro por que estava com

 

r.CursorLocation = adUseClient

Mas mudei como você me exemplificou e ele apareceu o resultado :D

 

_____________________________

 

Vou arrumar o sistema deixar ele mais limpo e funcionando

E depois vou criar uma versão mais simples com menos botões e tal para deixar como exemplo aqui.

Acho que seria bom para quem está começando como eu e resolve se aventurar :P

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

Precisando, estamos ai... E ajudar você é sempre bom. Você fica contente e conta uma boa piada. kkkkk

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.