Retroceder   Foros del Web > Temas generales de computación > Programación > Visual Basic

Respuesta
 
Herramientas Desplegado
Antiguo 31-may-2006, 20:35   #1 (permalink)
el mago de oz ha deshabilitado el karma
 
Avatar de el mago de oz
 
Fecha de Ingreso: octubre-2005
Mensajes: 181
Visual Basic Y Sql Server

hola amigos, mi pregunta es la siguiente y necesito opiniones:

tengo una bd en access que la importe desde sql server (todo perfecto),
cambie la conexion de mi programa y me permite conectarme a sql server y todo, el problema es que las tablas inician el nombre con numeros, es decir, por ejemplo:
00_clientes
01_servicios, etc.
y cuando intento abrir la tabla desde VB6 me sale un error de sintaxis cerca de 00_usuarios, por ejemplo, y al cambiare el nombre de la tabla (usuarios) me permite el paso... por lo tanto podriamos decir que al conectarnos a sql server no se puede tener tablas que el nombre empiece con numeros (no asi con access), ¿es cierto esto?, o a lo mejor hay que poner algun caracter antes...??? la verdad no se, como es una gran cantidad de tablas y consultas no quisiera tener que empezar a cambiar los nombres de las mismas y volver a desarrollar las consultas...en definitiva ¿que puedo hacer para que la conexion me permita abrir las tablas de sl server aunque los nombres de ésta empiecen con numeros?

ahhhh, y ademas cual seria el codigo o la forma para determinar primero si el servidor esta funcionando antes de conectar y no se pegue el programa??????

gracias...
__________________
"No a las dictaduras, no a la impunidad, no al comercio injusto que explota al menor de edad. Sí a las autocracias, sí a la libertad, el tercer mundo va a estallar."
Finisterra MAGO DE OZ
el mago de oz está desconectado   Responder Citando
Antiguo 07-jun-2006, 15:20   #2 (permalink)
el mago de oz ha deshabilitado el karma
 
Avatar de el mago de oz
 
Fecha de Ingreso: octubre-2005
Mensajes: 181
uuuuf, nadie tiene ni la mas minima opinion al respecto...?????
mmm...
__________________
"No a las dictaduras, no a la impunidad, no al comercio injusto que explota al menor de edad. Sí a las autocracias, sí a la libertad, el tercer mundo va a estallar."
Finisterra MAGO DE OZ
el mago de oz está desconectado   Responder Citando
Antiguo 07-jun-2006, 15:24   #3 (permalink)
(Desactivado)
Developer9 Developer9
 
Avatar de Developer9
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.202
Enviar un mensaje por MSN a Developer9
te puede servir algo como: SELECT * FROM [00_clientes] WHERE ...
Developer9 está desconectado   Responder Citando
Antiguo 07-jun-2006, 15:28   #4 (permalink)
(Desactivado)
Developer9 Developer9
 
Avatar de Developer9
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.202
Enviar un mensaje por MSN a Developer9
Para que no se "apague" el programa debes de poner un ON ERRO GO TO... esta es mi funcion para abrir la conexion a la base:

Public Sub abre_conexion()

On Error GoTo ERROR:
Set conexion = New ADODB.Connection
conexion.Open "dsn"
ERROR:
If Err.Number <> 0 Then
MsgBox Err.Description, vbCritical
End If

End Sub
Developer9 está desconectado   Responder Citando
Antiguo 07-jun-2006, 15:48   #5 (permalink)
el mago de oz ha deshabilitado el karma
 
Avatar de el mago de oz
 
Fecha de Ingreso: octubre-2005
Mensajes: 181
gracias....

se me habia ocurrido cualquier caracter menos ese, voy a probar y si resulta te lo agradezco....

nois vemos....
__________________
"No a las dictaduras, no a la impunidad, no al comercio injusto que explota al menor de edad. Sí a las autocracias, sí a la libertad, el tercer mundo va a estallar."
Finisterra MAGO DE OZ
el mago de oz está desconectado   Responder Citando
Antiguo 07-jun-2006, 15:50   #6 (permalink)
(Desactivado)
Developer9 Developer9
 
Avatar de Developer9
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.202
Enviar un mensaje por MSN a Developer9
No conozco una manera de solo "preguntar" desde visual basic si el servicio de SQL Server está arriba
Developer9 está desconectado   Responder Citando
Antiguo 07-jun-2006, 16:05   #7 (permalink)
el mago de oz ha deshabilitado el karma
 
Avatar de el mago de oz
 
Fecha de Ingreso: octubre-2005
Mensajes: 181
en el fondo mi idea era esa justamente, explicar la forma de detectar si el servidor esta detenido o no... aunque el codigo que pusiste, creo, se quedara pegado ya que el problema que tengo es justamente al abrir la conexion donde se queda pegado y no da mensajes de error ni nada, pero de todos modos voy a probar ...
gracias.
__________________
"No a las dictaduras, no a la impunidad, no al comercio injusto que explota al menor de edad. Sí a las autocracias, sí a la libertad, el tercer mundo va a estallar."
Finisterra MAGO DE OZ
el mago de oz está desconectado   Responder Citando
Antiguo 07-jun-2006, 17:59   #8 (permalink)
(Desactivado)
Developer9 Developer9
 
Avatar de Developer9
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.202
Enviar un mensaje por MSN a Developer9
Lo que el codigo hace es al haber un error (de cualquier tipo) se salta a la linea ERROR, y Err.Description va a contener el error, allí te va a salir algo como El Servidor SQL Server no existe o acceso denegado.

Esto no sirve solo para eso, lo deberías poner en todas tus funciones, ya que si en ejecucion tu .exe se cae se cierra el programa, en cambio lo que aqui hace es controlar cualquier error
Developer9 está desconectado   Responder Citando
Antiguo 11-jun-2006, 16:47   #9 (permalink)
el mago de oz ha deshabilitado el karma
 
Avatar de el mago de oz
 
Fecha de Ingreso: octubre-2005
Mensajes: 181
Pregunta perfecto...

mira, ahora tengo otra preguntita, la verdad es que estaba acostumbrado a trabajar solo en access y he tenido que hacer unas modificaciones (de codigo) para hacerlo en sql server y he tenido problemas y ademas corto de tiempo...
para buscar entre fechas en Sql server como debo hacerlo (sintaxis) ya que he modificado pero nada...
por ejemplo yo buscaba entre dos fechas en access de esta forma:

rst.open "Select * from servicios between fecha=#" & fecha1 &"# and =#" & fecha2 &"#"",oconn1 (mas o menos)

como traduzco esto para sql server???

p.d. mi campo es DATETIME

gracias...
__________________
"No a las dictaduras, no a la impunidad, no al comercio injusto que explota al menor de edad. Sí a las autocracias, sí a la libertad, el tercer mundo va a estallar."
Finisterra MAGO DE OZ
el mago de oz está desconectado   Responder Citando
Antiguo 12-jun-2006, 18:07   #10 (permalink)
(Desactivado)
Developer9 Developer9
 
Avatar de Developer9
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.202
Enviar un mensaje por MSN a Developer9
Debes de quitarle las '#'
Developer9 está desconectado   Responder Citando
Antiguo 13-jun-2006, 10:49   #11 (permalink)
Fabuazul ha deshabilitado el karma
 
Avatar de Fabuazul
 
Fecha de Ingreso: febrero-2006
Ubicación: Entre cuatro paredes
Mensajes: 684
Y sustituirlas por apostrofe ( ' ).

Así está tu consulta:

=#" & fecha1 &"#

y deber ser de esta manera:

='" & fecha1 &"'
__________________
Sí tienes alguna duda.... puedo ayudar a ampliarla.:-D
Fabuazul está desconectado   Responder Citando
Antiguo 13-jun-2006, 13:55   #12 (permalink)
jericosoft no se puede cailificar en este momento
 
Fecha de Ingreso: febrero-2006
Mensajes: 37
Crea un DSN de sql que se conecte a tu base

luego en tu form pon un DATA Control

Conectalo con :

ControlData.DatabaseName="PROVIDER=MSDASQL;dsn=Nom breDSN;uid=;pwd=;"
ControlData.Refresh

con eso tienes acceso a todas tus tablas , tengan el nombre que sea

Ademas de que si el servidor sql no esta activo te manda un error que puedes manejar facilmente.


Accede a tus datos asi :

ControlData.RecordSource = "select dato1,dato2,dato3 from 01-clientes where dato1 = 1 and dato2 = " & Chr$(39) & Text1 & Chr$(39)
ControlData.Refresh


Para seleccionar fechas haz arreglos con dos DTPICKER que el usuario selecciona :

sfecha = ""
Dfecha = Mid$(DTP1.Value, 7, 4) & "-" & Mid$(DTP1.Value, 4, 2) & "-" & Mid$(DTP1.Value, 1, 2) & " 00:00:00.000"
afecha = Mid$(DTP2.Value, 7, 4) & "-" & Mid$(DTP2.Value, 4, 2) & "-" & Mid$(DTP2.Value, 1, 2) & " 00:00:00.000"
sfecha = "Between {ts '" & Dfecha & "'} and {ts '" & afecha & "'}"

ControlData.RecordSource = "select dato1,dato2,dato3 from 00-servicios where dato1 = 1.00 and fechaentrega " & sfecha & " order by dato2, fechaentrega asc"
ControlData.Refresh


Espero te sirva la idea
__________________
Jerico
jericosoft está desconectado   Responder Citando
Antiguo 13-jun-2006, 17:59   #13 (permalink)
(Desactivado)
Developer9 Developer9
 
Avatar de Developer9
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.202
Enviar un mensaje por MSN a Developer9
Cita:
Iniciado por Fabuazul
Y sustituirlas por apostrofe ( ' ).

Así está tu consulta:

=#" & fecha1 &"#

y deber ser de esta manera:

='" & fecha1 &"'
Orale! Gracias Fabulinda supuse que en su codigo si tenía la comilla simple

Eso es algo que no me gusta de Access, que si te cambias a SQL Server y trabajas con fechas tienes que cambiar el código. Por cierto, Access es muy malo para las fechas, me pasaba que hacía un select entre un rango de fechas que sabía que si arrojaba resultados y no arrojaba nada y hace tiempo pude ver algunos usuarios preguntando que le pasaba a sus selects similares en que se filtraba por fecha
Developer9 está desconectado   Responder Citando
Antiguo 13-jun-2006, 21:10   #14 (permalink)
el mago de oz ha deshabilitado el karma
 
Avatar de el mago de oz
 
Fecha de Ingreso: octubre-2005
Mensajes: 181
Pregunta excelente...pero

tenian razon, bastaba reemplazar ' por # y listo...
el pero que tengo ahora es detectar el estado del servidor de sql server ya que no puedo detectar cuando esta detenido...
yo me conecto asi:

dim connect as new adodb.connection

y luego

With oconn1
.ConnectionString = "uid=;pwd=;driver={SQL Server};server=USUARIO-407C33C;database=usuarios1;dsn=''"
.Open
End With

pero se pega aun con el codigo que me diste Developer... pero imagino que tendre que detectar antes del ".open" si la conexion se realizo...
cualquier sugerencia la agradezco...

gracias de todos modos....
__________________
"No a las dictaduras, no a la impunidad, no al comercio injusto que explota al menor de edad. Sí a las autocracias, sí a la libertad, el tercer mundo va a estallar."
Finisterra MAGO DE OZ
el mago de oz está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 06:32.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

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 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93