rento 0 Denunciar post Postado Abril 26, 2007 Iaew eu denovo.... agora fiz isso:///Resulta no proximo numero. Function NextIdNumber() : string; begin lvPesq := 'SELECT * FROM ' + cntTBForCon; dmTC.rOpenRSQuery(lvPesq, dmTC.qTemp); dmTC.qTemp.Last; result := Copy(dmTC.fStrRS('id_con', dmTC.qTemp), 6, 2); dmTC.qTemp.Close; end;Algumas obs:1 esta funcionando...2 nao tenho acesso a dmTC pois estou fazendo uma parte do programa do meu padrasto, ou seja, ele não libera todos os font para eu.3 openRsQuery abre uma conexao4 fStrTs reculpera um valor de uma tabela..O problema Quando não existem contatos ... ou seja, não existe valores na table....Como faço?Como sou bonzinhoOlha o code... consegui..: Function NextIdNumber() : string; var I : integer; begin lvPesq := 'SELECT COUNT(MID(id_con,5,2)) AS QTD FROM ' + cntTBForCon + ' WHERE MID(id_con,1,5)="' + idCotToCon + '"'; dmTC.rOpenRSQuery(lvPesq, dmTC.qTemp); I := StrToInt(dmTC.fStrRS('QTD',dmTC.qTemp)) + 1; result := fLPad(IntToStr(I),'0',2); dmTC.qTemp.Close; end; Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Abril 26, 2007 Pode fazer assim: Function NextIdNumber() : string;var prox: integer;beginlvPesq:='select max(campo) as Proximo from tabela';dmTC.rOpenRSQuery(lvPesq, dmTC.qTemp);prox:=dmTC.qTemp.FieldByName('CAMPO').AsInteger;Inc(prox); //Próximo número incrementadoresult:=IntToStr(prox);dmTC.qTemp.Close;end; Não sei se vai funcionar com os seus fontes, pode-se que tenha de mudar algo. Compartilhar este post Link para o post Compartilhar em outros sites
rento 0 Denunciar post Postado Abril 26, 2007 Sim, iria... mas quando tivesse 100000milhao de contatos. demoraria muitoPor isso o COUNT com o WHERE MID(id_con,1,5) fica melhorJa que os 5 primeiros são o numero do fornecedor e os dois últimos são a ID do contato Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Abril 26, 2007 Ok. você quem sabe. Compartilhar este post Link para o post Compartilhar em outros sites