** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Ayuda con la SQL
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoAyuda con la SQL

 Responder Responder
Autor
Mensaje
01loko Ver desplegable
Colaborador
Colaborador


Unido: 17/Agosto/2017
Localización: Santander
Estado: Sin conexión
Puntos: 745
Enlace directo a este mensaje Tema: Ayuda con la SQL
    Enviado: 21/Febrero/2018 a las 20:02
Estoy intentando utilizar este codigo del maestro BUHO para guardar en una tabla los datos del procesador, pero me da un error en la sql " el objeto no admite la propiedad o el metodo"
el msgbox lo hace bien

Dim oWMI As SWbemServices
Dim oProcs As SWbemObjectSet
Dim oProc As SWbemObject
Dim unico As String
Dim mysQl
   Set oWMI = GetObject("WINMGMTS:")
   Set oProcs = oWMI.instancesof("Win32_Processor")

   For Each oProc In oProcs
      MsgBox oProc.DeviceID & vbCrLf & vbCrLf & _
             "Fabricante: " & oProc.manufacturer & vbCrLf & _
             "Modelo: " & oProc.Name & vbCrLf & _
             "Descripcion: " & oProc.Description & vbCrLf & _
             "Velocidad: " & oProc.CurrentClockSpeed & vbCrLf & _
             "ID: " & oProc.ProcessorID & vbCrLf & _
             "ID Unico: " & oProc.UniqueID

  hasta aqui funciona         
 
            If IsNull(oProc.UniqueID) = True Then
            unico = "nulo"
             Else
             unico = oProc.UniqueID
             End If

el error se produce aqui
             mysQl = "UPDATE Tabla1 SET Tabla1.Fabricante = '" & oProc.manufacturer & ", Tabla1.Modelo = '" & oProc.Name & _
             "', Tabla1.descripcion = '" & oProc.Description & "', Tabla1.velocidad = '" & oProc.CurrentClockSpeed & "', Tabla1.idprocesador = '" _
             & oProc.ProcessorID5 & "', Tabla1.idunico = '" & unico & "', WHERE (((Tabla1.Id) = 2))"
  
DoCmd.RunSQL mysQl
    Next
End Sub
Recordar de que soy nuevo y estoy aprendiendo.
Arriba
pitxiku Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 27/Septiembre/2017
Localización: En mi casa
Estado: Sin conexión
Puntos: 1226
Enlace directo a este mensaje Enviado: 21/Febrero/2018 a las 20:20
Yo, como soy muy torpe escribiendo, suelo recortar la SQL e ir probando/verificando en la ventana Inmediato. Y si es preciso, la copio de allí, abre el diseñador de consultas en vista SQL, pego y pruebo:

1ª prueba:

mysQl = "UPDATE Tabla1 SET Tabla1.Fabricante = '" & oProc.manufacturer & ", Tabla1.Modelo = '" & oProc.Name & "'"
Debug.Print mysQl

2ª prueba cuando funciona la 1ª:

mysQl = "UPDATE Tabla1 SET Tabla1.Fabricante = '" & oProc.manufacturer & ", Tabla1.Modelo = '" & oProc.Name & _
             "', Tabla1.descripcion = '" & oProc.Description & "'"
Debug.Print mysQl

... Más pruebas ...

También se puede hacer al revés: la creas en el diseñador de consultas (sin variables, con textos fijos). Y cuando allí te funciona la copias y preparas en el editor de VBA.




Editado por pitxiku - 21/Febrero/2018 a las 20:21
Arriba
01loko Ver desplegable
Colaborador
Colaborador


Unido: 17/Agosto/2017
Localización: Santander
Estado: Sin conexión
Puntos: 745
Enlace directo a este mensaje Enviado: 22/Febrero/2018 a las 15:04
el error es la coma antes de where

solucionado....
 se puede cerrar el hilo

gracias

Recordar de que soy nuevo y estoy aprendiendo.
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable