SALVAR DADOS DO DBGRID

USUARIO.EXCLUIDOS 07/08/2007 11:00:32
#229780
bom dia pessoal!
eu estou precisando de salvar um dados do dbgrid em uma tabela.

bom para eu listar um determinado dado eu faço o seguinte:


Dim sql As String
Set rstransferencia = New ADODB.Recordset

connectsql


sql = "select * from dbo_NFTransferencia where NUMNOTA like '" & txtpesquisa.Text & "%'"
rstransferencia.Open sql, con, adOpenDynamic, adLockOptimistic


Set dbbusca.DataSource = rstransferencia

Set rstransferencia.ActiveConnection = Nothing


dbbusca.Refresh


dbbusca.Columns(0).Width = 1000
dbbusca.Columns(1).Width = 1150
dbbusca.Columns(2).Width = 1150
dbbusca.Columns(3).Width = 1000
dbbusca.Columns(4).Width = 1000
dbbusca.Columns(5).Width = 1000
dbbusca.Columns(6).Width = 900
dbbusca.Columns(7).Width = 900
dbbusca.Columns(8).Width = 900


bom o que eu quero, quando eu clicar no botão x ele pege os dados do dbgrid e salve em uma tabela.

FLAVIOGUILHERME 07/08/2007 11:21:26
#229785
'Da para fazer assim:

Do While Not rstransferencia.EOF

SqlTabela = "INSERT INTO [NomeTabela] (Campo1, Campo2... ) VALUES ('" & rstransferencia!NomeDoCampo1 & "','" & rstransferencia!NomeDoCampo2 & "')"
Grava
'vai adicionando os seus campos..
Loop

'em um módulo você coloca:
Public cnn As ADODB.Connection
Public SqlTabela As String

Public Sub Grava()
Set cnn = New Connection
cnn.Open "PROVIDER=MSDataShape;Data PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source='" & App.Path & "\NomeDoBanco.mdb';Jet OLEDB:Database Password=241000;"
cnn.Execute SqlTabela
cnn.Close
End Sub


USUARIO.EXCLUIDOS 07/08/2007 11:24:48
#229786
Resposta escolhida

Muito simples

Se vc ja tem a sql que preenche o DBGRID...basta fazer o seguinte:

Dim sql As String
Set rstransferencia = New ADODB.Recordset
connectsql
sql = "select * from dbo_NFTransferencia where NUMNOTA like '" & txtpesquisa.Text & "%'"
rstransferencia.Open sql, con, adOpenDynamic, adLockOptimistic

Banco.Execute "Insert Into SuaTabela " & sql..

espero q funcione..

boa sorte e sucesso!

Tópico encerrado , respostas não são mais permitidas