No ingresar registro a tabla si ya existe

Hola Experto, tengo una pregunta derivada de la siguiente situación: Tengo 2 tablas, una de nombre "proveedor" en la que registro los nombres de los proveedores de insumos, y otra tabla de nombre "comprasdetalle" donde registro el nombre del proveedor al que le hago la compra y el nombre del insumo comprado. Aparte de estas 2 tablas tengo un Formulario con dos textbox, uno (text1) donde ingreso en nombre del proveedor y otro (text2) donde ingreso en nombre del insumo que he comprado. En resumen tengo 2 tablas (Proveedor y Comprasdetalle) y un formulario. Bien, quiero que con mi formulario yo pueda llenar ambas tablas y si por ejemplo el nombre del proveedor que yo ingrese en el text1 del formulario ya esta registrado en la tabla "proveedor" entonces text1 no se agregue a la tabla "proveedor", si no que directamente los datos de text1 y text2 pasen a la tabla "comprasdetalle". Perdón si no me hago entender bien, estoy recién viendo Visual Fox. En Excel seria más o menos como decir: "Si el valor de Text1 ya se encuentra en la tabla proveedor agregar los valores de Text1 y Text2 a la tabla comprasdetalle, caso contrario agregar el valor de Text1 a la tabla proveedor y luego los valores de Text1 y Text2 a la tabla comprasdetalle". Experto espero me puedas ayudar. Agradezco por adelantado tu colaboración.

1 respuesta

Respuesta
1
Utiliza la cláusula Locate ejemplo:
Local lcProveedor
lcProveedor = Upper(Alltrim(Thisform.Text1.Value))
Select Proveedores
Locate For Upper(Alltrim(NomProveedor)) == lcProveedor
If Found() Then
  Insetar datos en detalles (Insert SQL o Append Blank)
  Else
     Insertar datos en proveedores y detalles (Insert SQL o Append Blank)
Endif
Esa es una posible solución al problema.
Experto, Realmente esa es la solución! Que puedo decirte, rápido, puntual, preciso, claro, simple, entendible (pues no se nada de Visual Fox, jajaja) etc... Nuevamente quedo muy agradecido contigo. Seguiré expresándote mis dudas en cuanto aparezcan. Gracias de nuevo! :)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas