Visual Basic - Problema con codigo sql en access

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

Problema con codigo sql en access

Publicado por Felipe (2 intervenciones) el 28/09/2015 17:41:15
Tengo un problema con el código sql pero no entiendo que es lo que sucede, tengo el access en la misma carpeta con el nombre de "datos" por lo que lo debería leer correctamente, cuando hago sql sin variable x me lo da sin problemas, pero cuando quiero determinar un equipo me lansa error "no se han especificado valores para algunos parámetros requeridos" ayuda :cc

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
Sub escribiraccess()
    Dim cs As String
    Dim sPath As String
    Dim sql As String
 
    Dim cn As ADODB.Connection
 
    sPath = ThisWorkbook.Path & "\datos.accdb"
    cs = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & sPath & ";Persist Security Info=False;"
 
    Set cn = New ADODB.Connection
    cn.Open cs
 
    sql = "insert into tabla1 (nombre, apellido) values('" & Cells(1, 1).Value & "', '" & Cells(1, 2).Value & "')"
 
    cn.Execute sql
 
    cn.Close
 
    Set cn = Nothing
 
End Sub
 
Sub Trapecio_Haga_clic_en()
    Dim X As String
 
    Dim cs As String
    Dim sPath As String
    Dim sql As String
    Dim cn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim n As Integer
    X = InputBox("codigo del equipo", "consulta")
    sPath = ThisWorkbook.Path & "\datos.accdb"
    cs = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & sPath & ";Persist Security Info=False;"
 
    Set cn = New ADODB.Connection
    cn.Open cs
 
    Set rs = New ADODB.Recordset
    With rs
        .CursorLocation = adUseClient
        .CursorType = adOpenStatic
        .LockType = adLockOptimistic
    End With
 
    'sql = "select * from tabla1"
    sql = "select Equipos.Codeq, Actividades.Desact, OrdenDeMantencion.CantidadDeMaterial, Materiales.Descmat,  Materiales.UnidadMaterial,  Materiales.ValorUnidad FROM Equipos, Materiales, Actividades, OrdenDeMantencion WHERE Equipos.Codeq = OrdenDeMantencion.Codeq AND    Materiales.Codmat=OrdenDeMatencion.Codmat  AND Actividades.Codact= OrdenDeMantencion.Codact AND Equipos.Codeq=" & X
 
 
 
   rs.Open sql, cn
   Range("c1:z10000").Clear
    ' Mostrar campos de select como encabezados de columnas
    Dim fld As Field
    'Set rst = Me.Recordset
    n = 67
    For Each fld In rs.Fields
        ' Print field names.
        'Debug.Print fld.Name
        Range(Chr(n) & "1").Select
        ActiveCell.FormulaR1C1 = fld.Name
        n = n + 1
    Next
 
    Range("C2").CopyFromRecordset rs
 
    rs.Close
    cn.Close
    Set rs = Nothing
    Set cn = Nothing
End Sub
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
Imágen de perfil de Andres Leonardo
Val: 3.117
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Problema con codigo sql en access

Publicado por Andres Leonardo (1798 intervenciones) el 28/09/2015 17:51:40
Pero si cuando defines la conexion indicas que esta en tu ruta... esto debera cambiar si lo haces en otro equipo o en todo caso. deberias crear la base local .. en la misma carpeta del excel.

Saludos



sPath = ThisWorkbook.Path & "\datos.accdb"
cs = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & sPath & ";Persist Security Info=False;"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Problema con codigo sql en access

Publicado por Felipe (2 intervenciones) el 28/09/2015 18:28:58
el acces esta en la misma carpeta y se llama datos, por lo que lo lee bien, creo que hay problemas con el sql que no lee el X pero no se como solucionarlo :CCC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar