Estimados:
No sé si el motor SQL de VFP es tán inteligente como para darse que cuenta que 
cuando se pide el máximo del campo campo clave, puede encontrarlo leyendo la 
clave mas grande del índice correspondiente.

Se podría crear el índice principal descendente, lo activamos y con un GO TOP, 
obtenemos el mayor valor.

Otra que podríamos hacer es con un índice normal, hacer un seek( K_INFINITO, 
'LaTabla' ) [donde K_INFINITO es una constante numérica muy grande ] con la 
opción SET NEAR ON, nos posiciona en el último registro y allí tenemos el 
número mayor, y no se si teniendo el índice activado, obtenemos lo mismo con GO 
BOTTOM (en cuanto a velocidad, debería ser así).

En un entorno con muchos insert simultáneos, evidentemente lo del registro 
contador es el más seguro y posiblemente mas rápido que usar autoincremento, 
además el contador podría contar con cualquier sistema numérico (por ejemplo, 
base 36, LETRAS + números).

Si los números pueden ser cualquier tipo de número , puede que te convenga 
generar algo que incluya el id del pc de origen más un ttoc( datetime(), 1 ) o 
sys(3)

Saludos: Miguel

----- Mensaje original ----
De: Pablo Pioli <[EMAIL PROTECTED]>
Para: GUFA List Member <[email protected]>
Enviado: viernes 23 de noviembre de 2007, 10:09:27
Asunto: [GUFA] Re: [GUFA] RE: [GUFA] Programación Multiusuario



 
 

<!--
 _filtered {font-family:Calibri;panose-1:2 15 5 2 2 2 4 3 2 4;}
 _filtered {font-family:Tahoma;panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;margin-bottom:.0001pt;font-size:12.0pt;font-family:"Times 
New Roman", "serif";}
a:link, span.MsoHyperlink
        {color:blue;text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;text-decoration:underline;}
p
        {margin-right:0cm;margin-left:0cm;font-size:12.0pt;font-family:"Times 
New Roman", "serif";}
span.ec411225413-21112007
        {}
span.ec116485021-21112007
        {}
span.EstiloCorreo20
        {font-family:"Calibri", "sans-serif";color:#1F497D;}
span.EstiloCorreo21
        {font-family:"Calibri", "sans-serif";color:#1F497D;}
MsoChpDefault
        {font-size:10.0pt;}
 _filtered {margin:70.85pt 3.0cm 70.85pt 3.0cm;}
div.Section1
        {}
-->


La forma mas segura es bloquear el registro del 
contador, actualizarlo y desbloquearlo. Hacerlo dentro de una transaccion es 
mejor, aunque te puede dar problemas de contencion en entornos donde haya 
muchas 
actualizaciones simultaneas. Pero, en ese caso ya estarias usando SQL Server y 
el tema es otro.

 

Pablo Pioli


  ----- Original Message ----- 

  From: 
  Roberto Tactac 

  To: GUFA List Member 

  Sent: Friday, November 23, 2007 12:51 
  AM

  Subject: [GUFA] RE: [GUFA] Programación 
  Multiusuario

  


  
  Hola 
  carlos
 
    
 
                  
  En esos casos tengo una tabla que cada fila la uso como contador para 
  distintos fines, recibos, ord pagos, presupuestos etc, en esste caso podes 
  hacer lo mismo pero el nro recién tomarlo en el momentos antes de guardar 
  (supongo que tenes un botón en donde se guarda y se valida la info no?), 
bueno 
  aquí iria el tomado del nro, incrementas en 1 y posteriormente grabas la info 
  con el nro tomado al comienzo.Creo que no deberías tener 
  problemas…
 
    
 
    
 
  Un 
  abrazo
 
    
 
  
  
  De: [email protected] 
  [mailto:[EMAIL PROTECTED] En nombre de Carlos A. Cuevas
Enviado 
  el: jueves, 22 de noviembre de 2007 15:08
Para: GUFA List 
  Member
Asunto: [GUFA] Programación 
  Multiusuario


 
    
 
  Hola
 
    
  Tengo un formulario que genera presupuestos.
 
    
  Cada vez que viene un cliente asigna un numero temporal en el puesto que se 
  atiende.
 
    
  Si tengo tres puestos, el numero temporal puede llegar a ser igual, pero 
  cuando grabo tomo la precaución de que no exista ese numero grabado en la 
base 
  (uno de los operadores ya grabo antes).
 
    
 
    
  Existe algún documento o ejemplo a seguir para manejar adecuadamente esto. 
  Porque “mi método” no me convence.
 
    
 
  Atte. 
  Carlos






      Los referentes más importantes en compra/ venta de autos se juntaron:
Demotores y Yahoo!
Ahora comprar o vender tu auto es más fácil. Vistá ar.autos.yahoo.com/

Responder a