Fórum Problema com campo Required #410489
13/12/2011
0
Estou fazendo uma tela que faz a transferência de dados, ela tanto importa com exporta de arquivos txt e xls de qualquer tabela que o sistema esteja conectado.
O meu problema é quando seleciono a tabelas em um combobox e no onchange eu faço uma verificação se o campo é “required” para deixá-lo em um Stringlist.
Na minha máquina e algumas outras o sistema roda normalmente, mas tem algumas máquinas que não funciona, ele passa como se o campo estivesse “required = False”.
Estou usando para conexão com o banco:
sqlDataSet
DataSetProvider
ClientDataSet
Passo a consulta para eles em tempo de execução.
Banco Firebird 2.1
procedure TfrmTransfereDados.cbxTabelasChange(Sender: TObject);
var
vlI, vlLinha: Integer;
begin
gbxVisualizacaoDados.Collapsed := True;
if cbxTabelas.ItemIndex <> -1 then
begin
lbxDisponiveis.Items.Clear;
for vlI := 0 to stgConfigCampos.ColCount -1 do
for vlLinha := 1 to stgConfigCampos.RowCount do
stgConfigCampos.Cells[vlI, vlLinha] := ;
for vlI := 0 to stgExemplo.ColCount -1 do
for vlLinha := 0 to stgExemplo.RowCount -1 do
stgExemplo.Cells[vlI, vlLinha] := ;
stgConfigCampos.RowCount := 2;
stgExemplo.ColCount := 2;
stgExemplo.RowCount := 2;
with TClientDataSetFre(dsativo.DataSet) do
begin
Close;
Active := False;
ReadOnly := False;
Fields.Clear;
//FieldDefs.Clear;
IndexDefs.Clear;
IndexName := EmptyStr;
Consulta.Tabelas := cbxTabelas.Text;
AtivaConsulta := True;
Active := True;
Open;
//FieldList.Update;
//FieldDefs.Update;
vlLinha := 0;
ProgressBar.Max := FieldCount -1;
pnlFundo.Enabled := False;
for vlI := 0 to FieldCount - 1 do
begin
if Fields[vlI].Required then
begin
if ((stgConfigCampos.RowCount = 2) and (vlLinha = 0)) then
begin
TransfereGrid(Fields[vlI], 1);
vlLinha := vlLinha + 1;
end
else
TransfereGrid(Fields[vlI], stgConfigCampos.RowCount);
end
else
begin
lbxDisponiveis.Items.Add(Fields[vlI].DisplayName);
end;
ProgressBar.Position := vlI;
Application.ProcessMessages;
end;
end;
end;
End;
Tiago Soares
Curtir tópico
+ 0Posts
13/12/2011
Nicassio
Gostei + 0
13/12/2011
Tiago Soares
Obrigado pela ajuda eu atualizei os driver do DBX e funcionou nas outras maquinas.
vlww
Gostei + 0
15/12/2011
Wilson Junior
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)