Esto no tiene necesidad de código, solamente hay que acondicionar las relaciones de las tablas en el entorno de datos del formulario de modo que cuando se inserte el código de barras aparezca el nombre del producto en el grid.
Ahora en cuanto al campo autonumérico es preferible hacer una función que genere el autonumérico y es de la siguiente manera:
Crea en la base de datos una tabla que podría llamarse código con los sguientes campos:
NomTabla Carácter 20
Valorclave Numérico 8
En los campos de la tabla códigos ingresa el nombre de las tablas en las que se desea generar un código autonumérico y el valor 1 para iniciar la generación del mismo ejemplo
Campos
NomTabla ValorClave
Productos 1
Facturas 1
En los proedimientos almacenados de la base de datos pega el siguiente código:
Function NuevoCodigo(NombreTabla)
Local lcOldArea, lcOldReprocess, lcCodigo, lcAlias
lcAlias = Iif(Parameters() = 0, Alias(), Upper(NombreTabla))
lcOldArea = Select()
lcOldReprocess = Set("Reprocess")
Set Reprocess To Automatic
If !Used("Codigo")
Use Codigo In 0
Endif
Select Codigo
If Seek(lcAlias, "Codigo", "NomTabla")
If Rlock()
lcCodigo = Codigo.ValorClave
Replace Codigo.ValorClave with clCodigo + 1
Endif
Endif
Set Reprocess To lcOldReproces
Select(lcOldArea)
Return lcCodigo
Endfunc
Abres la tabla correspondiente en modo de diseño y en el cuadro Valor predeterminado escribe NuevoCodigo()
En cuando a lo primero podrías enviarme una copia del formulario con sus respetivas tablas para anlizarlo y darte la solución al problema, si lo vas a enviar mi correo electrónico es
[email protected].