Hola!
Si pudieras ser un poquito mas explicito (por el asunto de las familias, como cargas o presentas los datos, que controles usas, etc.) para poder darte algo mas concreto, de todas formas te muestro algo:
Primero: obtienes debes obtener el nombre de la 'familia' (varFAMIL)
Segundo: guardas en una variable los 3 primeros caracteres de esa 'familia' con este codigo:
Tercero: haces una consulta en la tabla de articulos basandote en esa 'familia', asi:
Código vb:
Ver originalDIM strSELECT AS STRING
DIM rstTOTAL AS ADODB.RECORSET
SET rstTOTAL = NEW ADODB.RECORDSET
strSELECT="SELECT COUNT(*) AS TOTAL_FAMIL FROM ARTICULOS WHERE FAMILIA='" & varFAMIL & "'"
rstTOTAL.OPEN strSELECT, conCONEXION
'ASIGNAS EL CODIGO CON LAS 3 LETRAS + LA SECUENCIA DE LA 'FAMILIA'
IF rstTOTAL.EOF=FALSE THEN
varCOD_PROD=varCOD_PROD & "-" & (rstTOTAL!TOTAL_FAMIL + 1)
END IF
Postea tu codigo o agarra la idea y nos cuentas!