Problema com campo Required
Estou com um problema.
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
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
Curtidas 0
Respostas
Nicassio
13/12/2011
Tiago da uma olhada na versão da midas, compara a que esta na maquina que não funciona com a de uma maquina que funciona, lembro que tive muitos problemas por causa disso.
GOSTEI 0
Tiago Soares
13/12/2011
Tiago da uma olhada na versão da midas, compara a que esta na maquina que não funciona com a de uma maquina que funciona, lembro que tive muitos problemas por causa disso.
Obrigado pela ajuda eu atualizei os driver do DBX e funcionou nas outras maquinas.
vlww
GOSTEI 0
Wilson Junior
13/12/2011
Não esqueça de finalizar os tópicos.
GOSTEI 0