Visual Basic - Problemas con inserción de datos en tabla Acces

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

Problemas con inserción de datos en tabla Acces

Publicado por Pablo (2 intervenciones) el 01/06/2017 16:03:48
Hola,

Tengo un problema a la hora de insertar los datos en la BBDD Acces, y no veo el error por ningún lado.

El error esta a la hora de recoger los datos de la consola(ReadConsola) o al meter los datos en la tabla todo lo demás funciona correctamente, solo que al terminar de ejecutar la macro la tabla excel sigue con los campos vacíos.

Pongo una imagen con la estructura de la tabla
Sin-titulo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
Public Function ReadConsola(TerminalCons As Object, Row As Integer, Col As Integer, Car As Integer) As String
 
Dim Resultado As String
 
With TerminalCons
Resultado = Trim(.GetText(Row, Col, Car))
End With
 
ReadConsola = Resultado
End Function
 
 
Sub qpercf()
 
'Conectamos con la Terminal
If ConexIBM(xConsola, xsession, xVentana) <> True Then Exit Sub
 
 
''Variables
Dim Terminar As String
Dim Proveedores As String
Dim Porcentaje As String
Dim TWait As Integer
TWait = 100
 
''Conexión tabla piezas
Tname = "PIEZAS"
Set Tpiezas = CurrentDb.OpenRecordset(Tname, dbOpenTable)
 
 
Dim ComandoConsolaBorrar As String: ComandoConsolaBorrar = "[EraseEOF]"
Dim ComandoConsolaIntro As String: ComandoConsolaIntro = "[enter]"
Dim ComandoConsolaNumero As String: ComandoConsolaNumero = "17"
 
Tpiezas.MoveFirst
 
Do
 ''Limpiamos consola
    WriteConsolaCommand xConsola, 4, 18, ComandoConsolaBorrar, TWait
    WriteConsolaCommand xConsola, 6, 18, ComandoConsolaBorrar, TWait
 
''Metemos datos en consola
    WriteConsola xConsola, 4, 18, Tpiezas.Fields("TIPO").Value, TWait
    WriteConsolaCommand xConsola, 6, 18, ComandoConsolaNumero, TWait
    WriteConsolaCommand xConsola, 6, 18, ComandoConsolaIntro, TWait * 3
 
    Terminar = "NO"
        Do
''AQUÍ ES DONDE CREO ESTA EL ERROR, A LA HORA DE RECOGERLOS O BIEN AL METERLOS EN LA TABLA
            ''Recogemos datos de la consola y los metemos en variable
             Proveedores = ReadConsola(xConsola, 12, 2, 8)
             Porcentaje = ReadConsola(xConsola, 12, 64, 3)
             Fecha = ReadConsola(xConsola, 12, 70, 6)
            '' si proveedor esta vació pasamos a la siguiente pieza
            If Proveedor = "" Then
                Terminar = "SI"
            '' sino esta vació comprobamos su porcentaje si es diferente a vació metemos los datos en acces
            Else
                If Porcentaje <> "" Then
 
                     Tpiezas.Edit
                     Tpiezas.Fields("FORN1").Value = Proveedores
                     Tpiezas.Fields("1%").Value = Porcentaje
                     Tpiezas.Fields("DATA1").Value = Fecha
 
                 End If
            End If
 
        Loop Until Terminar = "SI"
 
 
    Tpiezas.MoveNext
Loop Until Tpiezas.Fields("TIPO") = "s"
 
End Sub

Si alguien me puede decir que falla.

Si necesitáis alguna aclaración preguntarme.

Gracias de antemano.
Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder