POSICIONAMENTE E AMOSTRAGEM DE REGISTRO EM MY SQL
Olá Galera..
To com uma bucha aki..e gostaria de saber se alguém podeme ajudar:
Lembram disso em DAO:
Tabela.Seek "=", Variável -> Posiciona o cursor no registro
Text1.Text = Tabela!Campo -> Lembando que o valor desse campo é do registro que se posicionou no comando acima.
Bom..o q eu tenho..tenho um DataGrid conectado a um AdoDB, que mostra dados da tabela.
Qdo eu dou um DuploClique no DataGrid, uma variável assume o código da coluna zero. é nessa variável que preciso posicionar meu cursor na tabela e mostrar nos textes os valores dos campos desse registro. Só que preciso fazer usando ADO e MySQL..
Por favor..me ajudem
Grato a todos!!
não entendi bem ...
Quanto ao posicionamento, vc abre a tabela com o Cursor AdOpenKeySet
e usa a propriedade rst.AbsolutePosition para ver a posição do registro
Quanto ao posicionamento, vc abre a tabela com o Cursor AdOpenKeySet
e usa a propriedade rst.AbsolutePosition para ver a posição do registro
Bom...eu quero fazer os comandos que fazem o mesmo efeito que os que eu coloquei lá em cima
Quero posicionar o cursos no registro cuja instrução sql busque o registro que eu queira em função da variável
e jogar os valores do registro num text
valew
Cleverton...poderia digitar um exemplo por favor?
Grato
Sinkertec, faz o seguinte
"select * from tabela where campo = " & conteudoDaColunaDoGrid
"select * from tabela where campo = " & conteudoDaColunaDoGrid
Acg...c n ta entendendo
Quero fazer em Ado..os mesmo comandos do primeiro post(em DAO)..ou que tenham a mesma função!
Quero fazer em Ado..os mesmo comandos do primeiro post(em DAO)..ou que tenham a mesma função!
Tenta...
ADODC1.Recordset.Seek "=", Variável
Marcelo
Não existe esse método.
Vou tentando aki por enquanto..
grato!
Calma ai... vc não está usando o objeto ADODC???
Ou vc tem uma conexão do tipo cnn as new ADODB.Connection?
Poste ai como vc está fazendo a conexão com o banco...
e como carrega o datagrid.
Enquanto isto já vou deixar uma dica, vc pode usar o Filter...
rs.Filter = "Campo = '" & text1.text & "'"
Ou vc tem uma conexão do tipo cnn as new ADODB.Connection?
Poste ai como vc está fazendo a conexão com o banco...
e como carrega o datagrid.
Enquanto isto já vou deixar uma dica, vc pode usar o Filter...
rs.Filter = "Campo = '" & text1.text & "'"
O método Seek permite a procura em uma coluna. Ele só encontra os valores iguais ao valor da procura e vai precisar de um provedor de dados que permita a utilização da propriedade Index e o método Seek. (Nem todos os provedores permitem). Além disso o método Seek vai requerer um cursor do lado do servidor .
Atualmente , somente alguns provedores permitem usar a propriedade Index e o método Seek do objeto Recordset para procurar por valores em um Ãndice de uma tabela. O provedor OLE DB - Provider for Microsoft Jet 4.0 - que é usado para se conectar a um banco de dados access permite a utilização do método Seek..
Para verificar se o provedor suporta a propriedade Index e o método Seek podemos usar o método Supports com os parà ¢metros adIndex e adSeek. Veja o exemplo abaixo:
If rs.Supports(adIndex) then
msgbox "Este Provedor suporta a propriedade Index"
endif
If rs.Supports(adSeek) then
msgbox "Este Provedor suporta a propriedade Seek"
endif
'Abre a conexão
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C: este\Northwind.mdb;"
'Abre o Recordset
rst.CursorLocation = adUseServer
rst.Open "Funcionários", cnn, adOpenKeyset, adLockReadOnly, adCmdTableDirect
If rst.Supports(adIndex) And rst.Supports(adSeek) Then
rst.Index = "CódigoDoFuncionário"
rst.MoveFirst
rst.Seek Array(CLng(Text1.Text))
If rst.EOF Then
MsgBox "Funcionário não localizado"
Else
MsgBox rst("CódigoDoFuncionário") & " - " & rst("nome") & vbCrLf
End If
Else
MsgBox " O provedor utilizado não suporta : Index e Seek "
End If
ÂÂÂ'Fechamos a conexão e o recordset
rst.Close
cnn.Close
Set rs = Nothing
Set cnn = Nothing
'Acho que isso vai te ajudar qualquer coisa poste novamente....
Atualmente , somente alguns provedores permitem usar a propriedade Index e o método Seek do objeto Recordset para procurar por valores em um Ãndice de uma tabela. O provedor OLE DB - Provider for Microsoft Jet 4.0 - que é usado para se conectar a um banco de dados access permite a utilização do método Seek..
Para verificar se o provedor suporta a propriedade Index e o método Seek podemos usar o método Supports com os parà ¢metros adIndex e adSeek. Veja o exemplo abaixo:
If rs.Supports(adIndex) then
msgbox "Este Provedor suporta a propriedade Index"
endif
If rs.Supports(adSeek) then
msgbox "Este Provedor suporta a propriedade Seek"
endif
'Abre a conexão
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C: este\Northwind.mdb;"
'Abre o Recordset
rst.CursorLocation = adUseServer
rst.Open "Funcionários", cnn, adOpenKeyset, adLockReadOnly, adCmdTableDirect
If rst.Supports(adIndex) And rst.Supports(adSeek) Then
rst.Index = "CódigoDoFuncionário"
rst.MoveFirst
rst.Seek Array(CLng(Text1.Text))
If rst.EOF Then
MsgBox "Funcionário não localizado"
Else
MsgBox rst("CódigoDoFuncionário") & " - " & rst("nome") & vbCrLf
End If
Else
MsgBox " O provedor utilizado não suporta : Index e Seek "
End If
ÂÂÂ'Fechamos a conexão e o recordset
rst.Close
cnn.Close
Set rs = Nothing
Set cnn = Nothing
'Acho que isso vai te ajudar qualquer coisa poste novamente....
Alexandre..
Eu sei usar o Seek...e usava muito em DAO..agora com Ado em Mysql é q eu n to conseguindo..queria algo em ado que fizesse o mesmo efeito que em DAO
valew
Tópico encerrado , respostas não são mais permitidas