Giba 0 Denunciar post Postado Julho 22, 2005 qual é o codigo pra jogar uma variavel em um determinado campo da DBGRID????eu fiz esse aqui mas não deu certo.Form2.DBGrid1.Fields[1].AsInteger:= acertos; Compartilhar este post Link para o post Compartilhar em outros sites
thalesoli 0 Denunciar post Postado Julho 22, 2005 Giba para entender o você quer fazer... você quer alterar o valor que existe na tabela... ou somente o que aparece no dbgrid.. se for para alterar o valor da tabela, você deve editá-la antes. falow http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites
Giba 0 Denunciar post Postado Julho 25, 2005 nâo, nao é na tabela nao. E so na DBGRID. Compartilhar este post Link para o post Compartilhar em outros sites
Prog 183 Denunciar post Postado Julho 25, 2005 Giba... você esta trabalhando com uma ferramenta orientada a eventos e objetos visuais. Para fazer a informação do campo aparecer numa uma determinada coluna do DBGrid, basta dizer que no DBGrid vai puxar os dados de um determinado DataSource que esta relacionado a uma Query ou um Table. É quase tudo automático, não é necessário escrever 1 linha de código sequer para que isto aconteça. Compartilhar este post Link para o post Compartilhar em outros sites
Giba 0 Denunciar post Postado Julho 25, 2005 ate ai eu sei, o meu sistema esta pegando os dados do uma tabela do excel, atraves de um ADOtable e jogando na DBGRID. so que o sistema tem que fazer um cauculo e o resultado tera que aparecer na ultima celula do DBGRID.entao eu fiz isso ; o resuldato do calculo é a variavel acerto.quero que apareça na ultima celula de cada linha, so que este codigo nao esta funcionando, e nao sei como faço.Form2.DBGrid1.Fields[1].AsInteger:= acertos; Compartilhar este post Link para o post Compartilhar em outros sites
Prog 183 Denunciar post Postado Julho 25, 2005 Você não tem como inserir um valor diretamente no DBGrid. Suas alternativas, neste caso, são: - Criar um campo do tipo calculado no ADOTable. - Criar um campo de dados manualmente no ADOTable e dar um valor, exemplo: Form2.ADOTableNomeDoCampo.AsInteger:= acertos; Compartilhar este post Link para o post Compartilhar em outros sites
Giba 0 Denunciar post Postado Julho 27, 2005 so me faltava essa, eu nai sei mais oq fasso.tentei fazer aquilo que você me indicoi e mesmo assim não funcional... a menssagem de erro que da é"ADOTable1: dataset not in edit or insert mode" eu sei la oq quer dizer isso.oq eu fiz... Na DBGRID inseri mais uma campo F51, e na ADOTable tambem. fui la em new fields preemchi os campo neme, tipo, e mais algumas coisas la, so que na hora que eu compilo da essa menssagem de erro.. Compartilhar este post Link para o post Compartilhar em outros sites
bastard2003 4 Denunciar post Postado Julho 27, 2005 "ADOTable1: dataset not in edit or insert mode" = não ta nem em estado de edição e nem de inserção! ta você foi na qry coloco new field deu nome e disse q ele era do tipo "CALCULATED" beleza... so q dai tu tem q i nessa qry mesmo nas propriedades dela tem uma la "OnCalcFields" nessa propriedade tu vai gerar teu calculo... qryMEUCAMPOCALCULADO.value := qryCampo1.value + qryCampo2.value; assim tu ta os valores pra esse teu novo campo calculado! tenta ai... se der erro volta ai! ps: se você fizer isso ai ñ vai da! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites
Giba 0 Denunciar post Postado Julho 27, 2005 nao vai dar, pq o meu calculo é ativado pelo evento onclick do botão. e so vai fazer o calculo se um campo do DBGRID for igual a do array. FOR VL:= 0 TO 19 DO begin FOR DB:= 0 TO Form2.AdoTable1.FieldCount - 1 DO begin if valores_array[VL] = Form2.DBGrid1.Fields[DB].AsInteger Then // compara se os valores sao iguais"valor do array[vl] com o campo da DBGRID[DB] " begin acertos:= acertos +1; // se o valor for igual teria que mudar de cor o testo da celular e jogar o valor de acerto na ultima celula da linha da DBGRID. Form2.DBGrid1.Columns[DB].Font.Color:= ClRed; end; end; Form2.ADOTable1.First; end; Form2.ADOTable1.Next; Compartilhar este post Link para o post Compartilhar em outros sites
Rafael Sanches 0 Denunciar post Postado Dezembro 28, 2005 Se está dando o erro: "dataset not in edit or insert mode" é porque o Dataset não está ativado. Procure a propriedade READONLY no componente TTable e selecione False. É importante que você selecione na coluna events do formulário em onShow a seguinte linha destacada abaixo:procedure TCalculos.FormShow(Sender: TObject);begin----> TabeladoExcel.Open;end;assim a tabela estará aberta para exibição e/ou alteração de dados.no evento onClose escreva a seguinte linha:TabeladoExcel.Close;isso irá fechar a tabela e não permitirá edição nem exibição dos dados.ValeuAbraços,Rafael Sanches Compartilhar este post Link para o post Compartilhar em outros sites