
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

Si alguien me puede decir que falla.
Si necesitáis alguna aclaración preguntarme.
Gracias de antemano.
Saludos.
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

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


0