Jogar dados do StringGrid para uma Tabela
Ola pessoal tudo bem?
Pesquisei muito no histórico dos fóruns mas não obtive muito sucesso no assunto acima.
Tenho uma stringgrid com os seguintes campos:
Vencimento, Num. Cheque, Valor
Ao selecionar determinado prazo os valores se alternam efetuando as divisões do mesmo e aí vai tudo bem. Só que ao confirmar os valores o usuário vai clicar no botão confirma e vai para a tela de Cheques Emitidos.
Só que não estou conseguindo jogar os valores do StringGrid para a tabela do mesmo.
Alguém tem algum exemplo básico por favor para que eu possa proceder nessa varredura dos campos?
Agradeço Antecipadamente
D7 + FB 1.5
Pesquisei muito no histórico dos fóruns mas não obtive muito sucesso no assunto acima.
Tenho uma stringgrid com os seguintes campos:
Vencimento, Num. Cheque, Valor
Ao selecionar determinado prazo os valores se alternam efetuando as divisões do mesmo e aí vai tudo bem. Só que ao confirmar os valores o usuário vai clicar no botão confirma e vai para a tela de Cheques Emitidos.
Só que não estou conseguindo jogar os valores do StringGrid para a tabela do mesmo.
Alguém tem algum exemplo básico por favor para que eu possa proceder nessa varredura dos campos?
Agradeço Antecipadamente
D7 + FB 1.5
Edibertoalves
Curtidas 0
Respostas
Augustolima
01/02/2006
Opa,
for i:=0 to StringGrid1.RowCount - 1 do begin
//os parametros para Cells são coluna e linha, como vc vai percorrer
//as linhas entao utilize a variavel i
tabela.Append;
tabelaVencimento.AsDateTime := StrToDate(StringGrid1.Cells[0,i]);
tabelaNumCheque.AsString := StringGrid1.Cells[1,i];
tabelaValor.AsFloat := StrToFloat(StringGrid1.Cells[2,i];
tabela.Post;
end;
Detalhe, se a primeira linha do StringGrid são os titulos entao faça:
StringGrid1.Cells[1,i+1]
Ve se esse codigo te ajuda.
for i:=0 to StringGrid1.RowCount - 1 do begin
//os parametros para Cells são coluna e linha, como vc vai percorrer
//as linhas entao utilize a variavel i
tabela.Append;
tabelaVencimento.AsDateTime := StrToDate(StringGrid1.Cells[0,i]);
tabelaNumCheque.AsString := StringGrid1.Cells[1,i];
tabelaValor.AsFloat := StrToFloat(StringGrid1.Cells[2,i];
tabela.Post;
end;
Detalhe, se a primeira linha do StringGrid são os titulos entao faça:
StringGrid1.Cells[1,i+1]
Ve se esse codigo te ajuda.
GOSTEI 0
Edibertoalves
01/02/2006
Valew Augusto era isso mesmo que eu queria
Abaixo ficou assim:
for I := 1 to StringGrid.RowCount - 1 do
begin
frmCheque_Emitido.btnNovoClick(self);
frmCheque_Emitido.dsChequesEmitidos.DataSet[´CHP_DATAVENCIMENTO´] := StrToDate(StringGrid.Cells[0,i]);
frmCheque_Emitido.dsChequesEmitidos.DataSet[´CHP_NUMERO´] := StringGrid.Cells[1,i];
frmCheque_Emitido.dsChequesEmitidos.DataSet[´CHP_VALOR´] := StrToFloat(StringGrid.Cells[2,i]);
//
frmCheque_Emitido.dsChequesEmitidos.DataSet.Next;
end;
frmCheque_Emitido.ShowModal;
Respeitando os campos títulos das colunas Vencimento, Num. Cheque, Valor iniciei a variável com 1.
Obrigado
Abaixo ficou assim:
for I := 1 to StringGrid.RowCount - 1 do
begin
frmCheque_Emitido.btnNovoClick(self);
frmCheque_Emitido.dsChequesEmitidos.DataSet[´CHP_DATAVENCIMENTO´] := StrToDate(StringGrid.Cells[0,i]);
frmCheque_Emitido.dsChequesEmitidos.DataSet[´CHP_NUMERO´] := StringGrid.Cells[1,i];
frmCheque_Emitido.dsChequesEmitidos.DataSet[´CHP_VALOR´] := StrToFloat(StringGrid.Cells[2,i]);
//
frmCheque_Emitido.dsChequesEmitidos.DataSet.Next;
end;
frmCheque_Emitido.ShowModal;
Respeitando os campos títulos das colunas Vencimento, Num. Cheque, Valor iniciei a variável com 1.
Obrigado
GOSTEI 0