TRAZER DADOS DA TABELA NOS CAMPOS DO FORMULARIO

RICKSOUSA 24/05/2012 17:56:42
#402707
como eu mudei de DAO para ADO, estou meio perdido de como fazer isso.

com DAO eu fazia o seguinte:


[txt-color=#e80000]
Set banco = OpenDatabase(App.Path & [Ô]\cadastroclientes.mdb[Ô])
Set tabela = banco.OpenRecordset([Ô]select * from cadclientes[Ô], dbOpenDynaset)
If tabela.RecordCount = 0 Then
MsgBox [Ô]Você não tem nenhum Cliente Cadastrado.[Ô], vbInformation, [Ô]Informação[Ô]

Else
tabela.MoveLast
id.Caption = tabela([Ô]idcliente[Ô])
cli.Text = tabela([Ô]cliente[Ô])
tel.Text = tabela([Ô]telefone[Ô])
mac.Text = tabela([Ô]mac[Ô])
End If
[/txt-color]

eu tentei assim:


[txt-color=#0000f0] Conecta True

If agenda.RecordCount = 0 Then

MsgBox [Ô]Você não tem nenhum Cliente Cadastrado.[Ô], vbInformation, [Ô]Informação[Ô]
cmdnovo.Enabled = True
cmdalterar.Enabled = False
cmdexcluir.Enabled = False
cmdgravar.Enabled = False
cmdcancelar.Enabled = False

Else

agenda.MoveLast
Call Preenche_campos

End If

Conecta False[/txt-color]

o modulo da conexao esta assim:

[txt-color=#007100]Global Conexao As New ADODB.Connection

Public Function Conecta(Valor As Boolean)
If Valor = True Then
If Conexao.State = 1 Then Conexao.Close
Conexao.CursorLocation = adUseClient
sConnString = [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=[Ô] & App.Path & [Ô]\Banco.mdb;Persist Security Info=False[Ô]
Conexao.Open sConnString
Else
Conexao.Close
End If
End Function
[/txt-color]

mais não esta carregando os dados, creio eu que tem que conectar a tabela...
RICKSOUSA 24/05/2012 18:05:36
#402710
ahhh então, antes eu declarava no general assim:

[txt-color=#e80000]Dim banco As Database
Dim banco2 As Database
Dim tabela As Recordset
Dim tabela2 As Recordset[/txt-color]

ai o MARCELO-TREZE me ensinou criando o modulo e fazendo a conexao,

[txt-color=#0000f0]Global Conexao As New ADODB.Connection[/txt-color]

e criando a função que servira para abrir o banco de dados

[txt-color=#0000f0]Public Function Conecta(Valor As Boolean)
If Valor = True Then
If Conexao.State = 1 Then Conexao.Close
Conexao.CursorLocation = adUseClient
sConnString = [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=[Ô] & App.Path & [Ô]\Banco.mdb;Persist Security Info=False[Ô]
Conexao.Open sConnString
Else
Conexao.Close
End If
End Function[/txt-color]

como que eu faço para a tabela???
RICKSOUSA 24/05/2012 21:53:41
#402725
para abrir a conexao do banco eu fiz assim:

Global Conexao As New ADODB.Connection

como eu faço para a tabela???
RICKSOUSA 24/05/2012 22:29:02
#402727
para abrir a conexao do banco eu fiz assim:

Global Conexao As New ADODB.Connection

como eu faço para a tabela???
ROBSON220BASS 24/05/2012 22:44:00
#402728
eu uso assim, mas voce pode adaptar

no modulo:
Module Conexao


Public StringCon As String = [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=j:\Projetos\Dados.mdb;User Id=admin;Password=;[Ô]

End Module

no form:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click


Dim cn As New OleDbConnection()
Dim Da As OleDbDataAdapter
Dim Ds As DataSet

cn.ConnectionString = StringCon
cn.Open()


Dim SQL As String = [Ô]Select pIDPROD AS CODPROD, pDESC AS DESCRICAO from PROD where pDESC like [ô][Ô] & TextBox1.Text & [Ô]%[ô] ORDER BY pDESC [Ô]

Da = New OleDbDataAdapter(SQL, cn) [ô]Defino o Objeto [Ô]Adapatdor[Ô];
Ds = New DataSet [ô] Variável que armazena todas as informações do Banco (RecordSet do [Ô]VB-6[Ô] melhorado);
[ô] Utilizando o Adaptador preencho o DataSet definindo a tabela ([Ô]data01[Ô]);
Da.Fill(Ds, [Ô]PRODUT[Ô])


DataGridView1.DataSource = Ds.Tables([Ô]PRODUT[Ô]) [ô]preenche o datagridview

[ô]esse preenche os controles no form
With Me
.txtdesc.Text = Ds.Tables([Ô]codprod[Ô]).Rows(0).Item([Ô]pDESC[Ô])
.txtemb.Text = Ds.Tables([Ô]codprod[Ô]).Rows(0).Item([Ô]pEMB[Ô])
.txtpeso.Text = Ds.Tables([Ô]codprod[Ô]).Rows(0).Item([Ô]pPESO[Ô])
.txtcodfunc.Text = Ds.Tables([Ô]codprod[Ô]).Rows(0).Item([Ô]pIDFUNC[Ô])
.txtnomefunc.Text = Ds.Tables([Ô]codprod[Ô]).Rows(0).Item([Ô]fNOME[Ô])
.txtdtcad.Text = Ds.Tables([Ô]codprod[Ô]).Rows(0).Item([Ô]pDTCAD[Ô])
end with


cn.Close()
End Sub

adapta para voce.
OMAR2011 24/05/2012 23:42:43
#402729
Resposta escolhida
Dim Tb As ADODB.Recordset
Private Sub Form_Load()
Conecta (1)
Set Tb = New ADODB.Recordset
[ô]Tb.CursorLocation = adUseClient
Set Tb.ActiveConnection = Conexao
Tb.Open [Ô]Select * From SuaTabela[Ô]
Set DataGrid1.DataSource = Tb
End Sub

O do ROBSON220BASS não pertence ao vb6 e sim do vb superior, 2005 acima.
ROBSON220BASS 25/05/2012 00:22:43
#402730
OMAR2011 tem razao, nao observei bem.

eu uso esse no vb.net (visual studio 2010)

ate+
RICKSOUSA 25/05/2012 09:04:53
#402738
OMAR esta aparecendo um erro:

[txt-color=#e80000] Operação não permitida quando o objeto esta fechado [/txt-color]

???
ADILSOO 25/05/2012 09:14:59
#402744
Voce tem que abrir a conexão antes de mandar o comando, esse erro quer dizer que não existe conexão aberta, antes dos comandos abra a conexão primeiramente...
CASTELO 25/05/2012 09:16:43
#402745
Ricksousa, Objeto fechado é pq a conexão não está aberta.

Verifica seu código, pois parece que está chamando um objeto que precisa ser aberto [Ô]OPEN[Ô].
assim
conexao.open

Vê o nome da [Ô]conexão[Ô] que você tá usando.
RICKSOUSA 25/05/2012 09:28:06
#402748
eu fiz assim:

em um modulo:


[txt-color=#0000f0]Global Conexao As New ADODB.Connection[/txt-color] [txt-color=#007100][ô]declara a conexão para todas as telas[/txt-color]
[txt-color=#0000f0]Global Tb As New ADODB.Recordset [txt-color=#007100][ô]declara a tabela para todas as telas[/txt-color]

[txt-color=#007100][ô]função para abrir a coxexao[/txt-color]
Public Function Conecta(Valor As Boolean)
If Valor = True Then
If Conexao.State = 1 Then Conexao.Close
Conexao.CursorLocation = adUseClient
sConnString = [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=[Ô] & App.Path & [Ô]\Banco.mdb;Persist Security Info=False[Ô]
Conexao.Open sConnString
Else
Conexao.Close
End If
End Function[/txt-color]

No Form:

[txt-color=#0000f0] Conecta True [txt-color=#007100][ô] para conectar
[ô] conecta False [ô] para desconectar[/txt-color]
Carrega_form [txt-color=#007100][ô]uma sub que eu criei para carregar os objetos no form[/txt-color]

[txt-color=#007100][ô]aqui fiz do jeito que amigo falou[/txt-color]
Conecta (1)
Set Tb = New ADODB.Recordset
Tb.CursorLocation = adUseClient
Set Tb.ActiveConnection = Conexao
Tb.Open [Ô]Select * From agenda[Ô]

Verifica_dados[ô]uma sub para verificar os dados[/txt-color]

[txt-color=#0000f0]Private Sub Verifica_dados()

Conecta True [txt-color=#007100][ô]aqui abre a conexao[/txt-color]

If Tb.RecordCount = 0 Then

MsgBox [Ô]Você não tem nenhum Cliente Cadastrado.[Ô], vbInformation, [Ô]Informação[Ô]
cmdnovo.Enabled = True
cmdalterar.Enabled = False
cmdexcluir.Enabled = False
cmdgravar.Enabled = False
cmdcancelar.Enabled = False

Else

Tb.MoveLast
Call Preenche_campos

End If

Conecta False [txt-color=#007100][ô]aqui fecha a conexao[/txt-color]

End Sub[
/txt-color]

não coloquei a sub carrega_form pq é apenas para habilitar e desabilitar alguns botões.

se vcs reparar esta abrindo a conexao, tem que abrir a tabela tbm????

como eu faço???

Página 1 de 2 [15 registro(s)]
Tópico encerrado , respostas não são mais permitidas