
Error en código en Access
Publicado por Miguel (29 intervenciones) el 30/09/2014 09:45:51
Hola, estoy haciendo un programa para usarlo en Access, pero al ejecutarlo (mediante un formulario) me da el siguiente error "El número de valores de consulta y el número de campos de destino son diferentes".
En el formulario de Access hay que escribir los datos:fuente(nombre del registro puede ser nº y/o letras), path1 (ruta de un archivo local, se usa para crear un hipervínculo al hacer click en fuente), sete(números y/o letras) y denom (nº y/o letras).
idcod se usa como una clave. Lo que hace el código es meter los datos en la tabla phs_desm, luego selecciona otra tabla (donde hay 4 modelos de coche, es decir 4 registros) entonces mete dato a la tabla Todosmodelos teoricamente 4 veces los mismos datos
solo variando el modelo en la celda correspondiente, copio el código por si alguien le puede echar un vistazo y ve dónde puede estar el fallo.
Saludos y gracias.
En el formulario de Access hay que escribir los datos:fuente(nombre del registro puede ser nº y/o letras), path1 (ruta de un archivo local, se usa para crear un hipervínculo al hacer click en fuente), sete(números y/o letras) y denom (nº y/o letras).
idcod se usa como una clave. Lo que hace el código es meter los datos en la tabla phs_desm, luego selecciona otra tabla (donde hay 4 modelos de coche, es decir 4 registros) entonces mete dato a la tabla Todosmodelos teoricamente 4 veces los mismos datos
solo variando el modelo en la celda correspondiente, copio el código por si alguien le puede echar un vistazo y ve dónde puede estar el fallo.
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
Private Sub InsertarPHS_desm_Click()
On Error GoTo Err_InsertarPHS_desm_Click
Dim sql As String
Dim stDocName As String
Dim pathe As String
Dim coche As String
Dim TBL As Recordset
Dim TBL1 As Recordset
Dim idcod As Integer
Set db = CurrentDb
sql = "SELECT * FROM PHS_desm"
Set TBL = db.OpenRecordset(sql)
idcod = 0
TBL.MoveFirst
pathe = Fuente.Value & "#" & path1.Value & "#"
Do Until TBL.EOF
idcod = idcod + 1
TBL.MoveNext
Loop
sql = "INSERT INTO PHS_desm VALUES (" & idcod & ",'" & pathe & "','" & sete.Value & "','" & denom.Value & "');"
db.Execute (sql)
sql = "SELECT * FROM Modelo"
Set TBL1 = db.OpenRecordset(sql)
TBL1.MoveFirst
Do Until TBL1.EOF
sql = "INSERT INTO Todosmodelos (Id_PHS_Desm,Id_Proces,PHS_DESM_Proc,Modelo,Fuente,Sete,Deno) VALUES (" & idcod + 1 & "," & 0 & "," & 1 & ",'" & TBL1("Modelo") & "','" & pathe & "','" & sete.Value & "','" & denom.Value & "');"
db.Execute (sql)
TBL1.MoveNext
Loop
TBL.Close
TBL1.Close
Fuente.Value = ""
sete.Value = ""
denom.Value = ""
MsgBox "Insercion Correcta "
Exit_InsertarPHS_desm_Click:
Exit Sub
Err_InsertarPHS_desm_Click:
MsgBox Err.Description
Resume Exit_InsertarPHS_desm_Click
End Sub
Saludos y gracias.
Valora esta pregunta


0