RESPUESTA A LA PREGUNTA 38 - VISUAL BASIC Abre un módulo en Visual Basic y Pon los Siguientes Procedimientos y Varibles. '**** inicio del módulo ****** Option Explicit 'Variables de conexion Public ADO_Cn As ADODB.Connection Public ADO_Rs As ADODB.Recordset Public ADO_Cmd As ADODB.Command Public ADO_Param As ADODB.Parameter ' Parámetros Public OpenBaseDatos As Boolean 'Login's Variables Public GcNombreServidor Public gcNombreUsuario As String Public gcPassword As String Public gcBaseDatos As String Public BoTipoConexion As Boolean 'false = conexion de confianza Trusted_Connection, true=conexion slq Public Function OpenDataBase() As Boolean On Error GoTo Err1 'Abre la base de datos sql server 7 especificada en el formulario. '**************************************************************** OpenDataBase = False Set ADO_Cn = New Connection ADO_Cn.Provider = "SQLOLEDB" If Not BoTipoConexion Then ADO_Cn.ConnectionString = "Server=" & GcNombreServidor & ";" & _ "Database=" & gcBaseDatos & ";Trusted_Connection=yes" Else ADO_Cn.ConnectionString = "Server=" & GcNombreServidor & ";" & _ "Database=" & gcBaseDatos & ";uid=" & gcNombreUsuario & ";pwd=" & gcPassword End If ADO_Cn.Open If Not ADO_Cn.State = 1 Then MsgBox "Problems with SQL Server Data Base " End If OpenDataBase = True OpenBaseDatos = True Exit Function Err1: MsgBox "Error, " & Err & " " & Error(Err) End Function Public Sub CloseDataBase() If Not ADO_Cn Is Nothing And OpenBaseDatos Then ADO_Cn.Close Else MsgBox "Data Base has not been opened" End If Set ADO_Cn = Nothing End Sub '*****Fin del Modulo OK Ahora Existe un formulario con los siguientes objetos: TxtNombreServidor, TxtBaseDatos, TxtNombreUsuario,TxtPassword Option1 (Para conexiones de confianza en SQL) Option2 (Para conexiones con usuarios SQL) Y aquí va el código fuente del formulario..... Private Sub CmdConectarSQL_Click() 'Llama el procedimiento de coneccion para sql server 7 On Error GoTo Error1 GcNombreServidor = TxtNombreServidor gcNombreUsuario = TxtNombreUsuario gcPassword = TxtPassword gcBaseDatos = TxtBaseDatos OpenDataBase 'Abre la base de datos en sql segun los parametros del formulario Set ADO_Cmd = New Command Set ADO_Cmd.ActiveConnection = ADO_Cn ADO_Cmd.CommandText = "Nombre_Tabla" ADO_Cmd.CommandType = adCmdTable ADO_Cmd.CommandTimeout = 15 Set ADO_Rs = ADO_Cmd.Execute Dim r As Byte Do While Not ADO_Rs.EOF r = MsgBox(ADO_Rs!Cedula & " " & ADO_Rs!Nombre & " , Continuar con el sig registro.", vbYesNo) If r = vbNo Then Exit Do ADO_Rs.MoveNext Loop Exit Sub Error1: MsgBox "Error #:" & Err & ", " & Error(Err) End Sub Private Sub Form_Load() Option1 = True End Sub Private Sub Form_Unload(Cancel As Integer) If OpenBaseDatos Then CloseDataBase End If End Sub Private Sub Option1_Click() If Option1 Then BoTipoConexion = False Else BoTipoConexion = True End If End Sub Private Sub Option2_Click() If Option2 Then BoTipoConexion = True Else BoTipoConexion = False End If End Sub '**** Con esto es seguro que podrás conectar con SQL Y por cierto para dejar vien completo el ejemplo se puede dar que quieras ejecutar algun stored procedure de SQL en siguiente procedimiento muestra como ejecutar un Stored Procedure que recibe 2 parametros... Private Sub CmdConsultaSP_Click() Dim Nombre As String Dim Apellido As String 'Llama el procedimiento de coneccion para sql server 7 y ejecuta 'una consulta con las variables "Nombre" y "Apellido". Nombre = "Marjorie" 'Este dato se puede capturar por un textbox Apellido = "Green" 'Este dato se puede capturar por un textbox OpenDataBase 'Abre la base de datos en sql segun los parametros del formulario Set ADO_Cmd = New Command Set ADO_Cmd.ActiveConnection = ADO_Cn ADO_Cmd.CommandText = "sp_CheckUsers" ADO_Cmd.CommandType = adCmdStoredProc ADO_Cmd.CommandTimeout = 15 Set ADO_Param = ADO_Cmd.CreateParameter("@Nombre", adVarChar, adParamInput, 30, Nombre) ADO_Cmd.Parameters.Append ADO_Param Set ADO_Param = ADO_Cmd.CreateParameter("@Apellido", adVarChar, adParamInput, 50, Apellido) ADO_Cmd.Parameters.Append ADO_Param Set ADO_Rs = ADO_Cmd.Execute Nombre = ADO_Cmd.Parameters.Item(0) Apellido = ADO_Cmd.Parameters.Item(1) MsgBox Nombre & " " & Apellido 'resultado de la consulta End SUB *** BUENO CREO QUE ESTO ES TODO *** Espero Te sirva .... Cesar Daniel Guillen Oreamuno cesardgo@hotmail.com