Wilke1 0 Denunciar post Postado Julho 2, 2007 ola pessoal e o seguinte eu tenho o campo horario_inicial e o horario_final , quando o usuario seleciona o segundo período , ele usa o mesmo campos, até aqui tá ok mas quando passa de três dias dias , ele ja não consegue salvar . eu fiz assim no botão do 2º período. varx,y:integer;i,j:integer;loja:integer;begin Dbedit44.SetFocus; If Qryhorariopromotorcd_promotor.value <> '' then begin Qryhorariopromotor.insert; Qryhorariopromotor.Append; Qryhorariopromotor.FieldByName('cd_promotor').Value:=Qrypromotores.FieldByName('cd_promotor').Value; end; if cbbloja.ItemIndex=0 then begin Qryhorariopromotor.FieldByName('cd_loja').Value:='001'; end; if cbbloja.ItemIndex=1 then begin Qryhorariopromotor.FieldByName('cd_loja').Value:='020'; end; if cbbloja.ItemIndex=2 then begin Qryhorariopromotor.FieldByName('cd_loja').Value:='022'; end; if cbbloja.ItemIndex=3 then begin Qryhorariopromotor.FieldByName('cd_loja').Value:='023'; end; if cbbloja.ItemIndex=4 then begin Qryhorariopromotor.FieldByName('cd_loja').Value:='026'; end; if cbbloja.ItemIndex=5 then begin Qryhorariopromotor.FieldByName('cd_loja').Value:='027'; end; if cbbloja.ItemIndex=6 then begin Qryhorariopromotor.FieldByName('cd_loja').Value:='034'; end; if cbbsemana.ItemIndex=0 then begin Qryhorariopromotor.FieldByName('dia_semana').Value:='segunda'; end; if cbbsemana.ItemIndex=1 then begin Qryhorariopromotor.FieldByName('dia_semana').Value:='Terca'; end; if cbbsemana.ItemIndex=2 then begin Qryhorariopromotor.FieldByName('dia_semana').Value:='Quarta'; end; if cbbsemana.ItemIndex=3 then begin Qryhorariopromotor.FieldByName('dia_semana').Value:='Quinta'; end; if cbbsemana.ItemIndex=4 then begin Qryhorariopromotor.FieldByName('dia_semana').Value:='Sexta'; end; if cbbsemana.ItemIndex=5 then begin Qryhorariopromotor.FieldByName('dia_semana').Value:='Sabado'; end; if cbbsemana.ItemIndex=6 then begin Qryhorariopromotor.FieldByName('dia_semana').Value:='Domingo'; end;desde ja agradeço pela ajuda de vocês Compartilhar este post Link para o post Compartilhar em outros sites
Rodrigo Miss 1 Denunciar post Postado Julho 2, 2007 Não consegue salvar porque?? Dá algum erro? qual o erro? Em que linha??? e essas variáveis x, y, i, estão declaradas mais naum estou vendo o uso das mesmas .... Compartilhar este post Link para o post Compartilhar em outros sites
Wilke1 0 Denunciar post Postado Julho 2, 2007 Não consegue salvar porque?? Dá algum erro? qual o erro? Em que linha??? e essas variáveis x, y, i, estão declaradas mais naum estou vendo o uso das mesmas .... Rodrigo não aparece nenhuma mensage de error , mas eu executei o break poit , no botão de confirmar e na linha de Qryhorariopromotor.ApplyUpdates e onde para. Compartilhar este post Link para o post Compartilhar em outros sites
Hugo Slepicka 0 Denunciar post Postado Julho 2, 2007 poste esse trecho do código... Compartilhar este post Link para o post Compartilhar em outros sites
Wilke1 0 Denunciar post Postado Julho 2, 2007 poste esse trecho do código...Hugo esse codigo e o do botão de confirmarfornecedor_:STRING;Divisao_:STRING;begin fornecpromotor:=Qrymostrafornecedores.FieldByName('cd_fornecedor').AsString; codpromotor:= Qrypromotores.FieldByName('cd_promotor').AsString; IF (QRYHORARIOPROMOTOR.STATE = DSINSERT)or (QRYHORARIOPROMOTOR.STATE = DSEDIT) THEN BEGIN Qryhorariopromotor.FieldByName('CD_PROMOTOR').AsInteger:=Qrypromotores.FieldByName('CD_PROMOTOR').AsInteger; end; IF (QRYPROMOTORFORNEC.STATE = DSINSERT) or (QRYPROMOTORFORNEC.STATE = DSEDIT) OR (QRYPROMOTORES.STATE = DSEDIT)or (QRYMOSTRAFORNECEDORES.STATE = DSBROWSE)or (QRYHORARIOPROMOTOR.STATE = DSINSERT)or (QRYHORARIOPROMOTOR.STATE = DSedit)THEN BEGIN QryPromotorFORNEC.FieldByName('CD_PROMOTOR').AsInteger:= Qrypromotores.FieldByName('CD_PROMOTOR').AsInteger; Qrypromotorfornec.FieldByName('cd_fornecedor').AsInteger:=Qrymostrafornecedores.FieldByName('CD_FORNECEDOR').AsInteger; Qrypromotorfornec.FieldByName('CD_DIVISAO').AsInteger:=Qrydivisao.FieldByName('CD_DIVISAO').AsInteger; END; QryDivisaoENTRE.Close; QryDivisaoENTRE.SQL.Clear; QryDivisaoENTRE.SQL.Add(' SELECT DS_DIVISAO,CD_DIVISAO '); QryDivisaoENTRE.SQL.Add(' FROM TB_DIVISAO_FORNECEDOR '); QryDivisaoENTRE.SQL.Add(' WHERE CD_FORNECEDOR = :CD_FORNECEDOR '); QryDivisaoENTRE.ParamByName('CD_FORNECEDOR').AsString:=QrymostraFornecedores.FieldByName('CD_FORNECEDOR').AsString; QryDivisaoENTRE.Open; fornecedor_ := Dbedit40.Text; if QryDivisaoENTRE.Locate('DS_divisao', CbbDivisao1.Text, [LoCaseInsensitive])=true then Divisao_:= QryDivisaoENTRE.fieldByName('CD_DIVISAO').AsString else Divisao_ := '%'; Qrydivisao.Close; Qrydivisao.SQL.Clear; Qrydivisao.SQL.Add(' SELECT TV.CD_DIVISAO,TV.CD_FORNECEDOR,TV.DS_DIVISAO '); Qrydivisao.SQL.Add('FROM TB_DIVISAO_FORNECEDOR TV,TB_FORNECEDOR TF'); Qrydivisao.SQL.Add('WHERE TV.CD_FORNECEDOR='+''''+fornecedor_ +''' AND '); Qrydivisao.SQL.Add('TV.CD_DIVISAO LIKE'+''''+Divisao_ +''' AND '); Qrydivisao.SQL.add('TV.CD_FORNECEDOR=TF.CD_FORNECEDOR '); Qrydivisao.SQL.SaveToFile('C:\DIVISAOTESTE.TXT'); Qrydivisao.Open; if QryDivisao.RecordCount <= 1 then begin IF (QRYPROMOTORFORNEC.STATE = DSINSERT)OR (QRYPROMOTORFORNEC.STATE = DSEDIT)or (QRYHORARIOPROMOTOR.STATE = DSINSERT)or (QRYHORARIOPROMOTOR.STATE = DSedit) THEN BEGIN QRYPROMOTORFORNEC.FieldByName('CD_PROMOTOR').Value :=Qrypromotores.FieldByName('CD_PROMOTOR').Value; QRYPROMOTORFORNEC.FIELDBYNAME('CD_FORNECEDOR').Value := QrymostraFornecedores.FieldByName('CD_FORNECEDOR').Value; QRYPROMOTORFORNEC.FIELDBYNAME('CD_DIVISAO').Value := Qrydivisaoentre.FieldByName('CD_DIVISAO').Value; Qrypromotorfornec.ApplyUpdates; Qrypromotorfornec.CommitUpdates; END; END; if QryDivisao.RecordCount > 1 then begin IF (QRYPROMOTORFORNEC.STATE = DSINSERT) THEN BEGIN While not QryDivisao.eof do begin QRYPROMOTORFORNEC.FieldByName('CD_PROMOTOR').ASINTEGER := Qrypromotores.FieldByName('CD_PROMOTOR').AsInteger; QRYPROMOTORFORNEC.FIELDBYNAME('CD_FORNECEDOR').ASSTRING := QrymostraFornecedores.FieldByName('CD_FORNECEDOR').AsString; QRYPROMOTORFORNEC.FIELDBYNAME('CD_DIVISAO').ASSTRING := Qrydivisao.FieldByName('CD_DIVISAO').AsString; QRYPROMOTORFORNEC.Post; QRYPROMOTORFORNEC.Edit; QRYPROMOTORFORNEC.ApplyUpdates; QRYPROMOTORFORNEC.CommitUpdates; QRYPROMOTORFORNEC.Append; Qrydivisao.Next; end; end;end; fmprincipal.database1.startTransaction; try Qrypromotores.ApplyUpdates; Qrypromotores.CommitUpdates; Qryhorariopromotor.ApplyUpdates;-------------break poit para aqui. Qryhorariopromotor.CommitUpdates; Fmprincipal.Database1.commit; except FMPrincipal.Database1.Rollback; RAISE; end; Compartilhar este post Link para o post Compartilhar em outros sites
Hugo Slepicka 0 Denunciar post Postado Julho 2, 2007 você está usando BDE??? Qual o BD??? e outra coisa... porque não usa por exemplo: Qrypromotores.ApplyUpdates;Qryhorariopromotor.ApplyUpdates;ao invés de: Qrypromotores.ApplyUpdates; Qrypromotores.CommitUpdates; Qryhorariopromotor.ApplyUpdates;-------------break poit para aqui. Qryhorariopromotor.CommitUpdates; Fmprincipal.Database1.commit; ?????? Compartilhar este post Link para o post Compartilhar em outros sites
Wilke1 0 Denunciar post Postado Julho 3, 2007 você está usando BDE???Qual o BD???e outra coisa...porque não usa por exemplo: Qrypromotores.ApplyUpdates;Qryhorariopromotor.ApplyUpdates;ao invés de:Qrypromotores.ApplyUpdates; Qrypromotores.CommitUpdates; Qryhorariopromotor.ApplyUpdates;-------------break poit para aqui. Qryhorariopromotor.CommitUpdates; Fmprincipal.Database1.commit;??????Hugo o banco e oracle. Compartilhar este post Link para o post Compartilhar em outros sites
Hugo Slepicka 0 Denunciar post Postado Julho 3, 2007 mas ta usando BDE? Compartilhar este post Link para o post Compartilhar em outros sites
Wilke1 0 Denunciar post Postado Julho 3, 2007 mas ta usando BDE?sim Hugo ,o BDE QUE VOCE FALA NÃO E O BANCO DE DADOS? EAS TABELAS !EU UTILIZO TRÊS TABELAS PRA FAZER UM CADASTRO DE PROMOTOR DE VENDAS1 TB_PROMOTORES2 TB_HORARIO_PROMOTORES3 TB_PROMOTORES_FORNEC Compartilhar este post Link para o post Compartilhar em outros sites
Hugo Slepicka 0 Denunciar post Postado Julho 3, 2007 não fi...o BDE que eu falo são os componentes de acesso a banco...quais componentes você ta usando??TQuery, TTable,TDatabase??? Compartilhar este post Link para o post Compartilhar em outros sites
Wilke1 0 Denunciar post Postado Julho 3, 2007 não fi...o BDE que eu falo são os componentes de acesso a banco...quais componentes você ta usando??TQuery, TTable,TDatabase???assim me perdoe a ingnorancia Hugo.eu utilizo query,datasource, updatesql Compartilhar este post Link para o post Compartilhar em outros sites
Hugo Slepicka 0 Denunciar post Postado Julho 3, 2007 que isso cara...bom, vamos lá...Seu Database ta configurado certo e conectando corretamente?A Query ta retornando resultados???A Query ta com CachedUpdates como TRUE???A Query está ponteirando sua propriedade UpdateObject para o UPDATESQL que você colocou???O Update SQL está com os SQL Statments gerados corretamente para a Tabela em questão que será atualizada???Você da o Post quando grava e ai depois para confirmar tudo da o .ApplyUpdates, correto? Compartilhar este post Link para o post Compartilhar em outros sites
Wilke1 0 Denunciar post Postado Julho 3, 2007 que isso cara...bom, vamos lá...Seu Database ta configurado certo e conectando corretamente?A Query ta retornando resultados???A Query ta com CachedUpdates como TRUE???A Query está ponteirando sua propriedade UpdateObject para o UPDATESQL que você colocou???O Update SQL está com os SQL Statments gerados corretamente para a Tabela em questão que será atualizada???Você da o Post quando grava e ai depois para confirmar tudo da o .ApplyUpdates, correto?Hugo verifiquei o que voce me disse, mas quando eu insiro dois horario horario como entrada e saida de dois dias , ele grava perfeitamente. mas quando passa de três dias ja não grava mas nada. Compartilhar este post Link para o post Compartilhar em outros sites
Hugo Slepicka 0 Denunciar post Postado Julho 3, 2007 Qual a mensagem de erro??? Compartilhar este post Link para o post Compartilhar em outros sites
Wilke1 0 Denunciar post Postado Julho 3, 2007 Qual a mensagem de erro???Hugo o Interessante e que não há erro, o break poit para no Qrypromotorfornec.ApplyUpdates; Compartilhar este post Link para o post Compartilhar em outros sites
Hugo Slepicka 0 Denunciar post Postado Julho 3, 2007 Para como???Se parou é porque tem algum exception...você ta usando TRY/Except/Finally ou alguma rotina de tratamento de erros?se estiver desative-a momentaneamente e tente rodar.... pq algo está ocorrendo... Compartilhar este post Link para o post Compartilhar em outros sites
Wilke1 0 Denunciar post Postado Julho 3, 2007 Para como???Se parou é porque tem algum exception...você ta usando TRY/Except/Finally ou alguma rotina de tratamento de erros?se estiver desative-a momentaneamente e tente rodar.... pq algo está ocorrendo... realmente tem try /except/finally, mas eu desativei, e continuou com com o mesmo problema.Hugo só lembrando e que eu só tenho dois campos hora_inicial e hora_final.quando eu utilizo somente um horario como 08:00 as 12:00, fica perveito,ele grava normal.idependente dos dias incluidos. Compartilhar este post Link para o post Compartilhar em outros sites
Wilke1 0 Denunciar post Postado Julho 5, 2007 Resolvido pessoal. eu fiz assim e deu Certo. if (Qryhorariopromotor.State=dsinsert)or (Qryhorariopromotor.State=dsedit) then begin Qryhorariopromotor.Insert; Qryhorariopromotor.FieldByName('cd_promotor').Value:=Qrypromotores.FieldByName('cd_promotor').Value; Dbedit44.SetFocus; if cbbloja.ItemIndex=0 then begin Qryhorariopromotor.FieldByName('cd_loja').Value:='001'; end; if cbbsemana.ItemIndex=0 then begin Qryhorariopromotor.FieldByName('dia_semana').Value:='Segunda.'; end; if cbbloja.ItemIndex=1 then begin Qryhorariopromotor.FieldByName('cd_loja').Value:='020'; end; if cbbsemana.ItemIndex=1 then begin Qryhorariopromotor.FieldByName('dia_semana').Value:='Terça.'; end; if cbbloja.ItemIndex=2 then begin Qryhorariopromotor.FieldByName('cd_loja').Value:='022'; end; if cbbsemana.ItemIndex=2 then begin Qryhorariopromotor.FieldByName('dia_semana').Value:='Quarta.'; end; if cbbloja.ItemIndex=3 then begin Qryhorariopromotor.FieldByName('cd_loja').Value:='023'; end; if cbbsemana.ItemIndex=3 then begin Qryhorariopromotor.FieldByName('dia_semana').Value:='Quinta.'; end; if cbbloja.ItemIndex=4 then begin Qryhorariopromotor.FieldByName('cd_loja').Value:='026'; end; if cbbsemana.ItemIndex=4 then begin Qryhorariopromotor.FieldByName('dia_semana').Value:='Sexta.'; end; if cbbloja.ItemIndex=5 then begin Qryhorariopromotor.FieldByName('cd_loja').Value:='027'; end; if cbbsemana.ItemIndex=5 then begin Qryhorariopromotor.FieldByName('dia_semana').Value:='Sabado.'; end; if cbbloja.ItemIndex=6 then begin Qryhorariopromotor.FieldByName('cd_loja').Value:='034'; end; if cbbsemana.ItemIndex=6 then begin Qryhorariopromotor.FieldByName('dia_semana').Value:='Domingo.'; end; Qryhorariopromotor.Post; end; if Qryhorariopromotor.RecordCount >=0 then begin For I:=0 to Cbbloja.Items.Count - 1 do cbbloja.Checked[I]:=False; end; if Qryhorariopromotor.RecordCount >=0 then begin For y:=0 to Cbbsemana.Items.Count - 1 do cbbsemana.Checked[y]:=False; end; Compartilhar este post Link para o post Compartilhar em outros sites
Hugo Slepicka 0 Denunciar post Postado Julho 5, 2007 Opa, legal... boa noticia essa... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif que que tava errado no Code Wilke??? Compartilhar este post Link para o post Compartilhar em outros sites
Wilke1 0 Denunciar post Postado Julho 5, 2007 Opa, legal... boa noticia essa... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif que que tava errado no Code Wilke???Hugo , eu fiz com que ele pegasse o proximo dia já com o dia ja alterado. ex:segunda 08:00 as 12:00segunda. 14:00 as 18:00 assim deu certo,colocando esse ponto no final.ai ele gravação. ficou meio sem tecnica pra te responder melhor, mas funcionou .valeu Hugo pela força Compartilhar este post Link para o post Compartilhar em outros sites