Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Boton creador de codigo vb

Estas en el tema de Boton creador de codigo vb en el foro de Visual Basic clásico en Foros del Web. Hola, estoy haciendo un programa de ferreteria, en el formulario de articulos he creado varios botones de navegación, nuevo, guardar, eliminar, tambien e puesto imagenes ...
  #1 (permalink)  
Antiguo 03/11/2011, 05:59
 
Fecha de Ingreso: noviembre-2011
Mensajes: 10
Antigüedad: 13 años
Puntos: 0
Boton creador de codigo vb

Hola, estoy haciendo un programa de ferreteria, en el formulario de articulos he creado varios botones de navegación, nuevo, guardar, eliminar, tambien e puesto imagenes de los articulos. Ahora tengo que crear un boton, que cuando añada un nuevo articulo, me cree automaticamente el codigo del articulo a partir de de la primera letra del codigo de la familia y el ultimo numero que hay en la tabla articulos de esa familia. (Los articulos tambien estan clasificados por familias), no se como hacerlo.
Gracias
Programa en vb6.0
  #2 (permalink)  
Antiguo 03/11/2011, 10:02
Avatar de lokoman  
Fecha de Ingreso: septiembre-2009
Mensajes: 502
Antigüedad: 15 años, 1 mes
Puntos: 47
Respuesta: Boton creador de codigo vb

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:

Código vb:
Ver original
  1. varCOD_PROD=MID(varFAMIL,3)

Tercero: haces una consulta en la tabla de articulos basandote en esa 'familia', asi:

Código vb:
Ver original
  1. DIM strSELECT AS STRING
  2. DIM rstTOTAL AS ADODB.RECORSET
  3.  
  4. SET rstTOTAL = NEW ADODB.RECORDSET
  5.  
  6. strSELECT="SELECT COUNT(*) AS TOTAL_FAMIL FROM ARTICULOS WHERE FAMILIA='" & varFAMIL & "'"
  7. rstTOTAL.OPEN strSELECT, conCONEXION
  8.  
  9. 'ASIGNAS EL CODIGO CON LAS 3 LETRAS + LA SECUENCIA DE LA 'FAMILIA'
  10. IF rstTOTAL.EOF=FALSE THEN
  11. varCOD_PROD=varCOD_PROD & "-" & (rstTOTAL!TOTAL_FAMIL + 1)
  12. END IF

Postea tu codigo o agarra la idea y nos cuentas!
  #3 (permalink)  
Antiguo 03/11/2011, 14:19
 
Fecha de Ingreso: noviembre-2011
Mensajes: 10
Antigüedad: 13 años
Puntos: 0
Respuesta: Boton creador de codigo vb

La tabla articulos se presenta asi, te pongo el nombre de la fila y entre() el articulo.
ccodigo(E001), cfamilia(ELEC), carticulo(soldador jbc 100w).... formato de texto
si ahgora le añado un nuevo articulo, por ejemplo un soldaor jbc 50w de la misma familia, el boton me debe generar el codigo E002
Gracias
  #4 (permalink)  
Antiguo 04/11/2011, 07:42
Avatar de lokoman  
Fecha de Ingreso: septiembre-2009
Mensajes: 502
Antigüedad: 15 años, 1 mes
Puntos: 47
Respuesta: Boton creador de codigo vb

Pues bajate el proyect, ajustalo y nos cuentas!!

http://dl.dropbox.com/u/23151936/Foro/Ferret.rar

Codigo:
Código vb:
Ver original
  1. Public Conexion As ADODB.Connection
  2.  
  3. Private Sub cboFAMILIA_Click()
  4.     Dim rstData As ADODB.Recordset
  5.     Dim Secuencia As Integer
  6.    
  7.     Set rstData = New ADODB.Recordset
  8.     Secuencia = 0
  9.     txtARTICULO.Text = Empty
  10.    
  11. 'OBTENER EL CODIGO
  12.    rstData.Open "SELECT * FROM ARTICULOS WHERE CFAMILIA='" & cboFAMILIA.Text & "'", Conexion, adOpenDynamic, adLockBatchOptimistic
  13.    
  14.     If rstData.EOF = False Then
  15.         Secuencia = Val(Mid(rstData!CCODIGO, 2))
  16.        
  17.         Do While rstData.EOF = False
  18.             If Secuencia < Val(Mid(rstData!CCODIGO, 2)) Then Secuencia = Val(Mid(rstData!CCODIGO, 2))
  19.             rstData.MoveNext
  20.         Loop
  21.        
  22.         txtCODIGO.Text = Mid(cboFAMILIA.Text, 1, 1) & Format(Secuencia + 1, "000")
  23.     End If
  24.    
  25.     If rstData.State = 1 Then
  26.         rstData.Close
  27.         Set rstData = Nothing
  28.     End If
  29. End Sub
  30.  
  31. Private Sub cmdGUARDAR_Click()
  32.     Dim strINSERT As String
  33.     Dim Guardado As Integer
  34.    
  35.     Guardado = 0
  36.    
  37.     If Trim(txtARTICULO.Text) <> Empty Then
  38.         strINSERT = "INSERT INTO ARTICULOS (CCODIGO, CFAMILIA, CARTICULO) VALUES ('" _
  39.                 & txtCODIGO.Text & "','" & _
  40.                 cboFAMILIA.Text & "','" & _
  41.                 Trim(txtARTICULO.Text) & "')"
  42.         Conexion.Execute strINSERT, Guardado
  43.        
  44.         If Guardado = 1 Then
  45.             MsgBox "ARTICULO GUARDADO!!", vbInformation
  46.             cboFAMILIA_Click
  47.             txtARTICULO.SetFocus
  48.         Else
  49.             MsgBox "NO SE PUDO GUARDAR EL ARTICULO!!", vbInformation
  50.         End If
  51.     End If
  52. End Sub
  53.  
  54. Private Sub Form_Load()
  55.     Dim rstData As ADODB.Recordset
  56.    
  57.     Set Conexion = New ADODB.Connection
  58.     Set rstData = New ADODB.Recordset
  59.    
  60. 'CONEXION A LA BD
  61.    Conexion.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" _
  62.             & "Data Source=" & App.Path & "\FERRET.mdb;Persist Security Info=False"
  63.     Conexion.Open
  64.    
  65. 'CARGAR EL COMBO
  66.    rstData.Open "SELECT DISTINCT CFAMILIA FROM ARTICULOS", Conexion, adOpenDynamic, adLockBatchOptimistic
  67.    
  68.     If rstData.EOF = False Then
  69.         cboFAMILIA.Clear
  70.        
  71.         Do While rstData.EOF = False
  72.             cboFAMILIA.AddItem rstData!CFAMILIA
  73.             rstData.MoveNext
  74.         Loop
  75.        
  76.         If cboFAMILIA.ListCount > 0 Then cboFAMILIA.Text = cboFAMILIA.List(0)
  77.     End If
  78.    
  79.     If rstData.State = 1 Then
  80.         rstData.Close
  81.         Set rstData = Nothing
  82.     End If
  83. End Sub
  84.  
  85. Private Sub Form_Unload(Cancel As Integer)
  86. 'CERRAR LA CONEXION
  87.    If Conexion.State = 1 Then
  88.         Conexion.Close
  89.         Set Conexion = Nothing
  90.     End If
  91. End Sub

Última edición por lokoman; 04/11/2011 a las 07:50

Etiquetas: creador, tabla, vb, botones
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:42.