PREGUNTAS CONTESTADAS - Visual Basic

 Hay un total de 3030 Preguntas.<<  >> 

    Pregunta:  41942 - CÓMO HACER UN BACKUP DE MI DB SQL 7 DESDE VB 6.0
Autor:  Luis Muro
Deseo poder hacer un Backup de mi base de datos de SQL 7.0 desde Visual Basic, enviarlo a otro servidor y, desde allí restaurarlo (el otro servidor tiene también el SQL 7.0 con la base de datos ya creada, incluída las mismas tablas).

Ambos servidores están bajo la misma plataforma y tienen instalado el mismo sistema en VB 6.0, con la diferencia que el primero sólo puede enviar información y el segundo recibirla.

Espero puedan ayudarme con esto. Muchas gracias.
  Respuesta:  Luis Muro
Ya lo conseguí. Gracias de todas maneras.

Aquí la sección del código para hacerlo:
Dim strBackup as String

' Create a Backup object and set action and source database properties.
Dim oBackup As New SQLDMO.Backup
oBackup.Action = SQLDMOBackup_Files
oBackup.Database = "Northwind"

' Example illustrates backup of multiple file groups.
oBackup.DatabaseFileGroups = "[PRIMARY],[NorthwindTextImg]"

' Example illustrates a striped backup using two target devices. Note:
' Device creation is not illustrated in this example.
oBackup.Devices = "[NorthDev1],[NorthDev2]"

' Optional. Backup set name and description properties provide
' descriptive text when backup header is displayed for the device(s).
oBackup.BackupSetName = "Northwind_FileGroups_" & Date & "_" & Time
oBackup.BackupSetDescription = _
"Backup of PRIMARY and NorthwindTextImg filegroups."

' Call GenerateSQL method to generate the Transact-SQL command batch.
' The command batch returned can provide a value for the Command
' property of a JobStep object.

' Note: A connected SQLServer object is not necessary for routine
' execution.

strBackup = oBackup.GenerateSQL

Para esto se debe agregar a nuestro proyecto, la Referencia a:
Microsoft SQLDMO Object Library (SQLDMO.RLL)

Espero que a alguien le sirva.

Adios.

    Pregunta:  42027 - MAIL EN VISUAL BASIC
Autor:  Roger Torres CArrion
Hola, quiere enviar un mail desde visual basic, pero no quiere mandarlo por outlook y otras aplicacion , quiero que sea independiente, con MAPI, o algo asi, y no quiero que utilize SMHTP o algo asi, dentro de ese mail, quiero enviar un archivo adjunto por favor ayudenme ok ?, gracias de antemano, saludos a todos.
  Respuesta:  SuNcO
En esta misma web en la seccion de Codigos esta un Codigo (algo viejo pero funcional) de lo que tu buscas

http://www.lawebdelprogramador.com/codigo/enlace.php?idp=60&id=93&texto=Visual+Basic

Ojo, es imposible enviar mails sin servidor SMTP, utiliza el de tu ISP o alguno que permita relay

    Pregunta:  42071 - BASES CON CONTRASEÑA
Autor:  Mariano Cócora
Quisiera saber como abrir una base de Access 97 con contraseña mediante codigo desde Visual Basic 6.0 sin usar objeto data, mediante variables recordset y demas. Desde ya muchas gracias!
  Respuesta:  Oswaldo Monagas
Abrir con ADO estableciendo usuarios

'Agregar en las referencias
'Microsoft ActiveX Data Objects 2.0 Library
'o alguna version mas reciente
'declarar esto en un módulo .bas

Private DBConnection As New ADODB.Connection
'Abre una base de datos access
'Regresa :
'True = Exito al conectar
'False = Error al conectar
'

Public Function AbrirBaseDatosAccess(ByVal BaseAccess As String, _
Optional ByVal Access2000 As Boolean = False, _
Optional ByVal Usuario As String = "", _
Optional ByVal Password As String = "") As Boolean
On Error GoTo ErrorAbrirBaseDatosAccess

Dim ret As Boolean
Dim Conexion As String
ret = True
If Not Access2000 Then 'access 97
Conexion = "Provider=Microsoft.Jet.OLEDB.3.51;" _
& "Persist Security Info=False;Data Source=" & BaseAccess
Else 'access 2000
Conexion = "Provider=Microsoft.Jet.OLEDB.4.0;" _
& "Persist Security Info=False;Data Source=" & BaseAccess
End If

DBConnection.ConnectionTimeout = 0 'no hay limite de espera de tiempo
If Usuario <> "" Then
DBConnection.Open Conexion, Usuario, Password
Else
DBConnection.Open Conexion
End If

GoTo SalirAbrirBaseDatosAccess

ErrorAbrirBaseDatosAccess:
ret = False
MsgBox "AbrirBaseDatosAccess : " & Err & " " & Error$, vbCritical
Resume SalirAbrirBaseDatosAccess
SalirAbrirBaseDatosAccess:
AbrirBaseDatosAccess = ret
Err = 0
End Function

Otra forma:
Abrir una base de datos con seguridad desde ADO
Permite abrir desde Visual Basic una base de datos cuando hay establecida seguridad a nivel de usuario

La seguridad utilizada convencionalmente por Microsoft Access es una seguridad a nivel de usuario, controlada desde los ficheros .MDB y .MDA o .MDW (según versión de Microsoft Access). NOTA: Aunque se disponga de Microsoft Access en idioma castellano y el usuario se llame Administrador, es necesario pasar "Admin" como UserID, y no "Administrador". Microsoft Access 7.0 y Microsoft Access 97 también incorporan otro tipo de seguridad, asociada a la base de datos (se protege la base de datos con una contraseña que forma parte del fichero .MDB, y que solamente es solicitada al abrir ésta). El código aquí incluido permite abrir desde Visual Basic una base de datos cuando hay establecida seguridad a nivel de usuario. Previamente, desde el entorno de Microsoft Access se ha asignado al usuario Administrador (que es por defecto el propietario de todas las bases de datos) una contraseña ("ejemplo"). Esto se hace en Access 97 en la opción de menú Herramientas, Seguridad, Cuentas de usuario y de grupo y, una vez ahí, accediendo a la pestaña Cambiar contraseña de conexión. A partir de entonces, al abrir Access será necesario proporcionar el usuario y la contraseña. También a partir de entonces, para abrir un MDB desde VB será necesario pasarle el usuario y la contraseña.

Dim Cn As New ADODB.Connection
Dim strCn As String
strCn = "Provider=Microsoft.Jet.OLEDB.3.51;" & _
"Data Source=nwind.MDB;" & _
"Jet OLEDB:System database=c:\winnt\system32\System.MDW"
Cn.Open ConnectionString:=strCn, _
UserID:="Admin", Password:="moises"

    Pregunta:  42129 - MARQUESINA PARA VISUAL VASIC 6.0
Autor:  Santiago Zuñiga Shaik
Existe un componente OCX, que me permita mostrar un texto movil en un formulario
  Respuesta:  Marito
Tenes que hacer lo siguiente:
Usando un PictureBox como contenedor, agrega dentro de el un label
suponiendo que el picture se llama picture1 y el label label1:
agrega en el formulario un timer con el la propiedad interval en un valor adecuado a la velocidad que le queres imprimir al label.
La propiedad autosize el label en true

en la seccion general del formulario declara una variable

dim posx as long

en el evento load del form

posx=picture1.width
label1.left=posx

en el evento timer del timer

posx=posx-100 'con el 100 tambien modificas la velocidad del label
if posx<-label1.width then
posx=picture1.width
en if
label1.left=posx

Espero te sirva.
Salu2. Mario
  Respuesta:  Rafael Salas
que tal primero tienes que dirigir el cursor al la barra de herramienta que se encuentra en el menu insertar del programa visual basic 6.0, insertas los toolsbarts y escribes la marquesinas o le insertas la imagen que desees que se despliegue por el programa.
PARA ACLARAR CUALQUIER DUDA ME PUDES ENVIAR UN CORREO Y YO TE RESPONDERE A LA BREVEDAD POSIBLE.

    Pregunta:  42134 - WINSOCK PARA MAS DE UNA CONE
Autor:  Daniel Irias
Tengo un servidor donde recibo el tiempode uso de una pc.
El servidor funciona bien con un cliente conectado PERO el problema
es cuando quiero conectar al servidor mas de un cliente.
Obtengo un error que supongo que porque el sevidor ya tiene el puerto de recepción abierto o algo por el estilo-
QUE PUEDO HACER PARA QUE EL SERVIDOR RECIBA MAS DE UNA CONECCION
  Respuesta:  Marito
Lo que tenes que hacer, si estas trabajando con un control winsock es lo siguiente:

Con el control crear una matriz de controles ejemplo:
la propiedad index del winsock, ponerla en 0 y cargar el resto de los controles en tiempo de ejecucion, asignándoles distintos puertos para la coneccion, sino lo que va a suceder que solo va a funcionar la última pc que se conecte, el resto va a permanecer "colgados".
Por supuesto para la coneccion tenes que tener en cuenta los distintos Ip.

Espero te sirva.
Salu2. Mario.

    Pregunta:  42139 - SCROLL BAR EN LISTBOX
Autor:  Jose Castellanos
Hola y gracias de antemano por la ayuda, mi problema es el siguiente:

Tengo un listBox que carga registros de una base de datos, pero algunos registros son demasiado largos y no se visualizan todos los caracteres en el listbox, y no encuentro una propiedad de Scroll bar para mostrar toda la longitud del Item, hay alguna forma de mostrar todo el contenido del Item ???

La revise en las pregustas contestadas y por contestar y no encontre nada paracido.

Nuevamente Gracias.
  Respuesta:  Héctor Shamir Pérez
Hola Jose, No existe un scroll horizontal para los ListBox a exepción de cuando trabajas con columnas.

Recomiendo que trabajes con un FlexGrid y actives la propiedad AllowUserResizing.

O en ultimo de los casos trabaja con un simple TextBox y la propiedad Multiline

Espero te sirva.

    Pregunta:  42140 - COMPROBAR USUARIO DE WINDOWS NT EN UNA APLICACION DE VB 6.0
Autor:  Leonel Sánchez
Hola Amigos!

Les planteo mi situación: yo actualmente estoy desarrollando un sistema para ser usado por varios usuarios pertenecientes a una red bajo windows NT. Entonces necesito que la aplicación comprube que el usuario que va entrar al sistema realmente exista en tanto como usuario de la red como en mi sistema. Y asi darle los permisos que él tiene al acceder al sistema. Ejemplo: mi login en la red es lsanchez, dentro del sistema yo tengo la maxima prioridad, entonces yo abro mi sesion en la red desde cualquier maquina y al entrar al sistema el debe pedirme el login y el password q yo use para abrir sesion en la red. y si el sistema comprueba satisfactoriamente q estoy registrado en el sistema y ademas soy usuario de la red, luego me de paso al sistema.

Bueno no se si me explique bien, pero es que este problema me tiene mortificado y quiero salir de él. Porque es urgente para mi trabajo.
Sin mas, les agradezco su pronta ayuda. Gracias
  Respuesta:  Noe Saenz
Tendrias que explicarte mejor para saber que es lo que quieres hacer, yo estoy desarrollando un sistema para la red de mi escuela que hace algo similar a lo que creo que necesitas, se trata de un sistema para agregar a los usuarios como cuentas de inicio de secion windows, y que les establece un password, pero necesitarias una base de datos (puede estar hecha en access, yo te ayudo despues a convertirla en el formato que necesitas) Ponte en contacto conmigo para desarrollar una solucion a tu problema

    Pregunta:  42222 - API PARA OBTENER EL APELLIDO DEL USUARIO DE WINDOWS
Autor:  David Sanchez Lopez
Hola, me gustaria saber como se obtienen los apellidos del usuario de windows con visual basic.
Con la api getUserName() solo obtengo el nombre

Gracias
  Respuesta:  SuNcO
Intenta con esto, a mi me funciona bien (son 3 lineas)

Private Sub Form_Load()

Set Registro = CreateObject("WScript.Shell")

MsgBox Registro.RegRead("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\RegisteredOwner")

Set Registro = Nothing

End Sub

En Proyecto / Referencias checa si hay uno llamado OLE Automation activado. Esto es en Windows XP. En Windows anteriores no recuerdo cual es la clave donde se guardan esos datos

    Pregunta:  42226 - ABRIR REPORT DESDE VB Y B.D.ORACLE
Autor:  maria sanchez
tengo este código que sirve para pasar a un informe que tiene un subinforme no vinculado con el informe principal, las selection formula de los dos desde el programa.
si el fichero .rpt hace referencia a b.d. en access y sin ninguna contaseña de acceso, funciona correctamente.
Pero lo que quiero es que me muestre los dato del informe y que sean de una base de datos en oracle y que me pida por código de v.b. el usuario,contraseña, nombre de la b.d.. Lo que no se es la sentencia de codigo para que haga la conexión a la base de datos oracle.

Option Explicit
Dim rep As CRPEAuto.Report

Private Sub CmdPrueba_Click()
Dim Crystalapp As New CRPEAuto.Application
Dim xx As CRPEAuto.Window
Dim ww As View

Dim rep2 As Object

With Crystalapp

Set rep = .OpenReport("C:\SUBREPORT\INFORME.rpt")
Set rep2 = rep.OpenSubreport("SUBINFORME")

End With

With rep
'FORMULA PARA EL INFORME GENERAL

.RecordSelectionFormula = " {ARTICULOS.NOMBRE} like '" & TxtNombre & "'"
End With

With rep2
'FORMULA PARA EL SUBINFORME
.RecordSelectionFormula = " {PEDIDOS.CODIGO} like '" & TxtCodigo & "'"
End With

rep.Preview "TITULO DEL INFORME"
End Sub

agradecería que alguien me lo pudiera resolver.muchas gracias

  Respuesta:  Rafael H. Yzarra M.
Existen dos vertientes dentro de la respuesta que te envío:

PRIMERO: Si dispones del Software Crystal Report 8.0 (o superior), la codificación no sería necesaria, debido a que sólo tendrías que enlazar la Base de Datos ubicada en Oracle con el editor de reportes, a través del item del menú NUEVA BASE DE DATOS. Posteriormente, en el editor de código de VB, en el evento del objeto con el cual solicitas al programa el envío de datos desde la B. de D, debes de colocar:
.
.
.
CR.'Item que permite insertar una sentencia SQL al reporte'= 'Sentencia SQL'
CR.ReportSource='Cadena que ubica al archivo .rpt que contiene el_ reporte'
CR.PrintReport
.
.
.
SEGUNDO: De no disponer del editor de reportes, entonces, recurre al uso de un objeto de conexión ADODB, a fin de enlazar la aplicación de VB con la Base de Datos en Oracle. Lo anterior, se puede realizar así:

Paso 1: Declara los objetos previamente, inmediatamente después de Option Explicit:

Dim Rs as ADODB.Recordset
Dim Cn as ADODB.Connection
Dim CmdStr as String

Paso 2: Haz válida la presencia de dichos objetos en Form_Load():

----------------------------------
Set Rs = New ADODB.Recordset
Set Cn = New ADODB.Connection

Cn.Open " 'Cadena de conexión con la base de datos' "

Rs.ActiveConnection = Cn
------------------------------------

¿Cómo obtener dicha cadena de conexión? simplemente:

* Abre un ADODC del cuadro de objetos
* Introdúcete en la lista de las propiedades, en el item PERSONALIZADO
* Al accederlo, selecciona el Option Button 'Cadena de conexión'
* Sigue las instrucciones que te indican los cuadros de diálogos que aparecerán.

Seguidamente de obtener la cadena de conexión, llévala directamente al editor de código, y la colocas en donde se sugirió. A partir de ese momento, te encuentras conectada con la Base de Datos.

Posteriormente, utilizando la codificación adecuada, enlaza la B. de D. con el objeto CR. creado; posiblemente pueda ser:

Set CR.DataSource = ' Ubicación del reporte'

ººººººººººººººººººººººººººººººººººººººººººººººººººº
Espero que lo indicado ayude a solventar tu problema

    Pregunta:  42236 - COMO MANEJAR UN LISTBOX EN UNA BUSQUEDA
Autor:  Carlos Muñoz
estoy haciendo una busqueda en una DB con un data y quiero que todos los elementos encontrados aparescan en un listbox.
gracias
  Respuesta:  Rafael H. Yzarra M.
Hagamos la siguiente supocición: deseas acceder a la tabla CLAVES DE NÓMINA (Clave_Nom), la cual tiene registrada los valores:

03, 07, 73, 74, 75

Te sugiero que procedas de la siguiente forma (funciona eficientemente, cuando la base de datos no registra una importante cantidad de datos):

1ero: Extrae un objeto ADODC del cuadro de herramientas.
2ndo: Al ubicarse sobre el formulario, en el listado PROPIEDADES, selecciona el Item ' Personalizado'.
3ero: Allí, conéctate a la base de datos ya sea, por cadena de conexión, o elige el objeto ODBC en donde depositaste la base de datos(*)
4rto: Acto seguido, en el item 'Registro' (o algo similar) del cuadro de diálogo mostrado al seleccionar 'Personalizado', elige la tabla de donde tomarás los datos (En nuestro caso, será Clave_Nom).

Así mismo, supondremos que:

En el ADODC -------> Name ADC
En el ListBox ---------> Name LstBx

A continuación, en el editor de código, se coloca en el procedimiento adecuado según nuestra aplicación (Supondremos que elijo Form_Load), se colocará el siguiente código:
------------------------------------
With ADC

.MoveFirst
For i = 0 to .Recordset.RecordCount - 1
LstBx.List( i + 1) = .Fields!Clave_Nom
Next i

End With

Si es por objeto de conexión ADODB, el proceso es más engorroso y requiere de realizar pasos que requieren de saber cómo se estructura la aplicación; de poder lograrlo a través de ellos, el método es altamente efectivo y rápido al obtener los datos.
A pesar de lo dicho, el método anterior es muy útil. Espero que te sea de utilidad.

|<  <<  241 242 243 244 245 246 247 248 249 250 251  >>  >|