if frmSAVendas.ASParam.Empresa.ProdAlfa = 'N' then
     begin
       if dbeCodigo.text <> ''  then   { se usuario colocar um codigo }
         begin
            s := dbeCodigo.text;
            while Length(s) < 6 do s := '0'+s;
            if not mdoQuery.Locate('PRODUTOID',s,[]) then
              begin
                mdoQueryPRODUTOID.Value := s;
              end;
         end
       else   {se usuario nao colocar um codigo}
         begin
           {pega proximo codigo do produto na tabela mestre de codigos}
           UltCodEmpStr(mdoQuery, 'PRODUTO', 'SUFIXO','incluir', frmSAVendas.ASParam.Empresa.Id);
           mdoQueryPRODUTOID.Value := mdoQuerySUFIXO.AsString;
           dbeCodigo.ApenasNumeros := true;
         end;
     end
   else
     begin
       if dbeCodigo.Text = '' then
         begin
           MessageDlg('Informe o Código alfanumérico!', mtWarning, [mbOk], 0);
           exit;
         end;

      if frmSAVendas.ASParam.Empresa.ProdAlfa = 'A' then
        begin
          if mdoQuery.Locate('PRODUTOID', dbeCodigo.Text, []) then
            begin
              MessageDlg('Código alfanumérico já cadastrado!', mtWarning, [mbOk], 0);
              dbeCodigo.SetFocus;
              exit;
            end;
         end
      else
       if  Pos('-', dbeCodigo.Text) > 0 then
         begin
           if Length(dbeCodigo.Text) > 6 then
             begin
               MessageDlg('Tamanho máximo da abreviatura do Código alfanumérico é 5!', mtWarning, [mbOk], 0);
               dbeCodigo.SetFocus;
               exit;
             end;


           if mdoQuery.Locate('PRODUTOID',dbeCodigo.Text, [loCaseInsensitive,loPartialKey]) then
             begin
               while not(mdoQuery.Eof) do
                 if copy(mdoQueryPRODUTOID.Value, 1, Pos('-', mdoQueryPRODUTOID.Value)) = dbeCodigo.Text then
                    mdoQuery.Next
                 else
                   break;

               if not mdoQuery.Eof then
                mdoQuery.Prior;

               sNum := copy(mdoQueryPRODUTOID.Value, Pos('-', mdoQueryPRODUTOID.Value) + 1, Length(mdoQueryPRODUTOID.Value));
               if sNum = '' then
                 sNum := '0';
               dbeCodigo.Text := dbeCodigo.Text + Format('%.*d', [4, StrToInt(sNum) + 1]);
             end
           else
             dbeCodigo.Text := dbeCodigo.Text + '0001';
         end;
     end;


da erro onde tá em vermelho
  ----- Original Message -----
  From: Walter Alves Chagas Junior
  To: 'delphi-br@yahoogrupos.com.br'
  Sent: Wednesday, April 26, 2006 11:13 AM
  Subject: RES: [delphi-br] Locate


  Alguma coisa errada voce tá fazendo aí. Com certeza. posta o código aqui pra
  gente dar uma olhada

  []s

  Walter Alves Chagas Junior
  Projeto e desenvolvimento de sistemas
  Telemont Engenharia de telecomunicações S/A
  Belo Horizonte - MG - Brasil
  [EMAIL PROTECTED]
  Fone: (31) 3389-8215 Fax: (31) 3389-8200


  -----Mensagem original-----
  De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED]
  nome de Fernando Derkoski
  Enviada em: quarta-feira, 26 de abril de 2006 11:03
  Para: Delphi Br
  Assunto: [delphi-br] Locate


    Pq q no locate da violação de Primary Key???

  [As partes desta mensagem que não continham texto foram removidas]



  --
  <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>



  Links do Yahoo! Grupos








  [As partes desta mensagem que não continham texto foram removidas]



  --
  <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>





        Yahoo! Grupos, um serviço oferecido por:
              PUBLICIDADE
               
      


------------------------------------------------------------------------------
  Links do Yahoo! Grupos

    a.. Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/
     
    b.. Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]
     
    c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!.



[As partes desta mensagem que não continham texto foram removidas]



--
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

<*> Para ver as mensagens antigas, acesse:
    http://br.groups.yahoo.com/group/delphi-br/messages

<*> Para falar com o moderador, envie um e-mail para:
    [EMAIL PROTECTED]




Links do Yahoo! Grupos

Responder a