SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Bases de Datos => Mensaje iniciado por: Karol Wojtyla en Miércoles 18 de Abril de 2007, 00:44

Título: Sintaxis Sql Acces Vs Sintaxis Sql Sql Server
Publicado por: Karol Wojtyla en Miércoles 18 de Abril de 2007, 00:44
Tengo un Programa enlazado a una base de datos Acces mediante Sentencias Sql, pero migre la base de datos a Sql Server el problema es que la sintaxis ha variado mucho, si pudiesen ayudarme al comentarme si existe alguna utileria que pueda migrar las sentencias sql para accesar a Acces a Sentencias Sql para accesar a Sql Server
Muchas Gracias de Antemano
Título: Re: Sintaxis Sql Acces Vs Sintaxis Sql Sql Server
Publicado por: Mollense en Miércoles 18 de Abril de 2007, 06:08
Hola Karol

Cual es tu problema :question:

Ya pudiste conectarte :question:

Echale un vistazo a ESTO (http://foros.solocodigo.com/index.php?showtopic=25789)

Por lo demás la sintaxis no puede cambiar demasiado, casi nada diría yo  :think:

Un saludo :beer:

Agrego---------------------------------------------------------------------

PD: A lo mejor algo de ESTO (http://www.google.com.ar/search?sourceid=navclient-ff&ie=UTF-8&rlz=1B2GGGL_esAR204AR204&q=access+to+sql+server) pueda ayudarte  :comp:
Título: Re: Sintaxis Sql Acces Vs Sintaxis Sql Sql Server
Publicado por: Mollense en Miércoles 18 de Abril de 2007, 18:42
QUOTE (http://foros.solocodigo.com/index.php?showtopic=25789&st=0&#entry104943)
Cita de: "Karol Wojtyla"
Gracias Hermano, pero el problema no es con la conexión, mas bien son las consultas ejemplo de ello es esta:

Sql = "SELECT PedCam.ClvCam, PedCamDet.Cant, IIf(PedCamDet.Unidad='0','Pieza',IIf(PedCamDet.Unidad='1','Caja',' ')) AS Unid, Productos.NomPro, Format(IIf([pedcamdet].[tippro]=2,[productos].[preven],IIf([pedcamdet].[unidad]='0',[Productos].[cosvenpie],[productos].[preven])),'Standard') AS precio, Format(IIf([Productos].[Iva],(([precio]/1.15) ),[precio]),'Standard') AS Psiva, Format(pedcamdet.cant*psiva,'Standard') AS Subtot, Productos.TipPro, PedCamDet.Surt, Format(IIf(Productos.Iva,(precio/1.15)*0.15,0)*pedcamdet.cant,'Standard') AS impuesto, Format(pedcamdet.cant*precio,'Standard') AS Total " & _
"FROM PedCam INNER JOIN (PedCamDet INNER JOIN Productos ON PedCamDet.ClvProd = Productos.ClvProd) ON PedCam.ClvPed = PedCamDet.ClvPed " & _
"Where (((PedCam.ClvCam) = " & Val(TbClvCam.Text) & ") And ((PedCamDet.Surt) = 1)) and pedcan =0 ORDER BY PedCam.FecSol, PedCam.HorSol, PedCamDet.NomProd;"

cosas como el Iif, Format, o conversion de datos no existen en Sql Server, y son cosas muy necesarias para el correcto funcionamiento de esta consulta

Entiendo...

El equivalente  de:
Código: Text
  1. Select iif(campo=2,"Igual a dos", "distinto a dos") as Campo1 from Tabla
  2.  
es:
Código: Text
  1. SELECT Campo1 =
  2. CASE
  3. WHEN campo=2 THEN "Igual a dos"
  4. ELSE "distinto a dos"
  5. END
  6. from Tabla
  7.  

Lamentablemente no conozco ninguna aplicación que te ayude a automatizar la migración.-
Deberías buscar equivalencias como la anterior y hacerlo en forma manual o esperar otras opiniones ;)

Algunas diferencias entre Access y SQL Server (http://sqlserver2000.databases.aspfaq.com/what-are-the-main-differences-between-access-and-sql-server.html)

Un salud :beer: o
Título: Re: Sintaxis Sql Acces Vs Sintaxis Sql Sql Server
Publicado por: Karol Wojtyla en Miércoles 18 de Abril de 2007, 18:48
Gracias Hermano! ya lo estoy intentando espere que funcione por que ya quiero terminar para irme de vacaciones a Acapulco
Título: Re: Sintaxis Sql Acces Vs Sintaxis Sql Sql Server
Publicado por: Mollense en Miércoles 18 de Abril de 2007, 18:53
No hay por que.  Suerte con eso...

 :comp:
Título: Re: Sintaxis Sql Acces Vs Sintaxis Sql Sql Server
Publicado por: Karol Wojtyla en Jueves 19 de Abril de 2007, 01:24
Un saludo para esas mentes pensantes y brillantes, espero puedan ayudarme una vez mas, estoy creando una consulta Sql en Sql server Ejemplo.

(CASE WHEN pedcamdet.tippro = 2 THEN productos.preven ELSE (CASE WHEN pedcamdet.unidad = '0' THEN Productos.cosvenpie ELSE productos.preven END) END) AS [precio], (case when productos.iva then [precio]*1.15 else precio end)

pero cuando quiero usar el valor de [precio] me dice que no existe el nombre del campo, ¿Alguien sabe como puedo utilizar ese nombre de campo que se creo con el AS PRECIO?, la consulta funciona si no reutilizo el precio como valor de campo
Gracias de Antemano
Título: Re: Sintaxis Sql Acces Vs Sintaxis Sql Sql Server
Publicado por: Mollense en Jueves 19 de Abril de 2007, 06:23
Bueno, solamente por metido te puedo decir que no se  :P .-

Bueno, en serio, realmente no se. Pero se me ocurre (No tengo SQL SERVER para probar) que podrías hacer una chanchada como la siguiente:

Código: Text
  1. (CASE WHEN pedcamdet.tippro = 2 THEN productos.preven ELSE (CASE WHEN pedcamdet.unidad = '0' THEN Productos.cosvenpie ELSE productos.preven END) END) AS [precio], (case when productos.iva then (CASE WHEN pedcamdet.tippro = 2 THEN productos.preven ELSE (CASE WHEN pedcamdet.unidad = '0' THEN Productos.cosvenpie ELSE productos.preven END) END) *1.15 else (CASE WHEN pedcamdet.tippro = 2 THEN productos.preven ELSE (CASE WHEN pedcamdet.unidad = '0' THEN Productos.cosvenpie ELSE productos.preven END) END)  end)
  2.  

Lo que hice fué cambiar precio por su equivalente "(CASE WHEN pedcamdet.tippro = 2 THEN productos.preven ELSE (CASE WHEN pedcamdet.unidad = '0' THEN Productos.cosvenpie ELSE productos.preven END) END)"

Una verdadera chanchada Jeje.-

Otra cosa mejor que se me ocurre es que hagas una consulta a una consulta, es decir, guardas la consulta (Por cierto, donde está el select?):
Código: Text
  1. (CASE WHEN pedcamdet.tippro = 2 THEN productos.preven ELSE (CASE WHEN pedcamdet.unidad = '0' THEN Productos.cosvenpie ELSE productos.preven END) END) AS [precio]
  2.  
por un lado y después la utilizas como una tabla mas.-

No se si se pueda hacer con un procedimiento almacenado porque no se mucho (Nada) del tema, los muchachos del foro seguramente te van a dar una mejor solución, yo solamente...opino Jeje :P
Título: Re: Sintaxis Sql Acces Vs Sintaxis Sql Sql Server
Publicado por: Karol Wojtyla en Jueves 19 de Abril de 2007, 17:54
Jajaja, el Select lo omiti en este mensaje por que la consulta es enorme y para no agobirlos con tanta letra solo puse la parte en cuestion,
La solucion que me ofreces ya la habia penzado pero te imaginas como quedaria la consulta de enorme?, yo creo que debe de haber una forma de hacerse y como siempre son tan explendidos ustedes, pues aqui estare esperando su respuesta:
Gracias Brothers