Hola Huesos52... Mil gracias por tu sugerencia... evidentemente tu codigo es excelente en comparacion con el mio... lo resolvistes solo con 1 linea de codigo... Y te cuento que cuando lo corro en MySQL lo hace excelente... mirelo
SELECT CONCAT('DPTO-',(MAX(CAST(SUBSTRING(`tabla_departamento`.`id_dep artamento`,6) AS UNSIGNED))+1)) AS proximo_codigo FROM `tabla_departamento` WHERE `tabla_departamento`.`id_departamento` LIKE 'DPTO-%';
ese like al final se debe a que hay departamentos que son direccion o sea llevan las siglas 'DIR-'
Pero cuando lo monto en VB me sale un error ... algo asi: "Error '3265' No se encontro el elemento en la coleccion que corresponda con el nombre o el ordinal pedido" segun lei se debe a que esta mal escrito un nombre de campo supongo que en este caso sea lo que tú le llamas "proximo_codigo" lo que no me explico que porque en MySQL si lo hace bien.... Podrias aclarar mi duda?
Asi lo monto en VB:
Código:
Sub IncrementarIdDepartamento(Rs As ADODB.Recordset, Txt1 As Object)
Set Rs = Conexion.Execute("SELECT CONCAT('DPTO-',(MAX(CAST(SUBSTRING(`tabla_departamento`.`id_departamento`,6) AS UNSIGNED))+1)) AS proximo_codigo FROM `tabla_departamento` WHERE `tabla_departamento`.`id_departamento` LIKE 'DPTO-%'")
Txt1.Text = Rs!id_departamento
End Sub
Perdòn por ser tan fastidiosita!!!