Autor Tema: PONER MI PROYECTO EN VISUAL BASIC CON BASE DE DATOS EN RED - COMO LO HAGO?  (Leído 12670 veces)

0 Usuarios y 1 Visitante están viendo este tema.

omarinho23

  • Megabyte
  • ***
  • Mensajes: 105
  • Reputación: +0/-1
    • Ver Perfil
Buenos dias! ante todo quisiera pedirles como una guia o como me puedan aconsejar... tngo mi base de datos trabajada en visual basic y access y esta en ADO... quisiera saber como puedo hacerlo en red trabajarlo en red.... ya que puse las conecciones como si fuera para red

\\Pctec\BASE DATOS FINAL\NWINDFINAL.MDB

asi en todas las conecciones , carga toda la aplicacion... pero no carga mi base de datos y encima se pone demasiado lenta para cargar las aplicaciones... que puedo hacer una explicacion porfavor, no se como conectarla de otra manera es necesario tener un servidor? y si fuera asi como lo conectaria... muchas gracias de ante mano...

seba123neo

  • Terabyte
  • *****
  • Mensajes: 763
  • Reputación: +88/-5
    • Ver Perfil
Re:PONER MI PROYECTO EN VISUAL BASIC CON BASE DE DATOS EN RED - COMO LO HAGO?
« Respuesta #1 en: Enero 10, 2010, 02:08:22 pm »
Hola, ¿esa carpeta esta compartida? porque debe estarlo sino no te anda. no entiendo porque decis "asi en todas las conecciones" , ya que la conexion se realiza una sola vez.

y obvio es necesario tener una carepeta compartida en alguna PC. ¿cuantas pc van a usar la aplicación? porque access en red para muhcas conexiones es la papa mas grande que hay, sino pasate a MySQL.

saludos.

ssccaann43

  • Moderador
  • Terabyte
  • *****
  • Mensajes: 970
  • Reputación: +97/-58
    • Ver Perfil
    • Sistemas Nuñez, Consultores y Soporte, C.A.
Re:PONER MI PROYECTO EN VISUAL BASIC CON BASE DE DATOS EN RED - COMO LO HAGO?
« Respuesta #2 en: Enero 11, 2010, 09:41:55 am »
Fijate, si puedes usar access en RED. Pero siempre recomiendo el uso de SQL Server. Ahora bien, te explico que hacía yo en mis tiempos cuando usaba Access.

En el servidor donde colocaba la BD, el directorio lo colocaba compartido y seguido de esto, en las máquinas clientes accesaba a Mi PC, y en Herramientas seleccionaba: Conectar a una Unidad de RED. Eso lo hacía en todos los clientes que se conectarían a la BD. Y ya desde el aplicativo podía accesar sin problemas. Obviamente debes tener el servidor encendido para que esto sea posible.  ::)
Miguel Núñez.

omarinho23

  • Megabyte
  • ***
  • Mensajes: 105
  • Reputación: +0/-1
    • Ver Perfil
Re:PONER MI PROYECTO EN VISUAL BASIC CON BASE DE DATOS EN RED - COMO LO HAGO?
« Respuesta #3 en: Enero 12, 2010, 12:00:10 pm »
hola, seba123neo : bueno la carpeta si esta compartida, y a lo que me refiero a conecciones osea como trabajo con ADO me pide enrutar la base de datos y cuando la ponia en red no me reconocia el disco d en lacual estaba guardada la base de datos por eso la puse como RED " \\Pctec\BASE DATOS FINAL\NWINDFINAL.MDB " no se si me entiendes, bueno y luego de eso conectaba el programa pero no me andaba la base de datos no aparecia salia un error, y se ponia demasiado lenta.! xD...


y ssccaann43, yo pensaba usar sql server pero me demoraria , bueno conecte a la red pero igual no me reconoce toda la informacion de la base de datos! :S no se porq? T.T
muchas gracias!


pdst . : la tabla msflexgrid si conecta a la base ya q esta en ado pero lo demas q esta en ADODC no conecta! :S xq? saben q es lo q tngo q agregar a mi coneccion?
« última modificación: Enero 12, 2010, 01:09:41 pm por omarinho23 »

ssccaann43

  • Moderador
  • Terabyte
  • *****
  • Mensajes: 970
  • Reputación: +97/-58
    • Ver Perfil
    • Sistemas Nuñez, Consultores y Soporte, C.A.
Re:PONER MI PROYECTO EN VISUAL BASIC CON BASE DE DATOS EN RED - COMO LO HAGO?
« Respuesta #4 en: Enero 12, 2010, 06:02:02 pm »
pdst . : la tabla msflexgrid si conecta a la base ya q esta en ado pero lo demas q esta en ADODC no conecta! :S xq? saben q es lo q tngo q agregar a mi coneccion?

Ya va... Te conecta a la base lo que está en ado, pero lo que tienes en ADODC que es el objeto no lo acepta?

Si desde ado te conectas, pues pasale el string de conex al ADODC.connectionstring y luego refrescas.
Miguel Núñez.

omarinho23

  • Megabyte
  • ***
  • Mensajes: 105
  • Reputación: +0/-1
    • Ver Perfil
Re:PONER MI PROYECTO EN VISUAL BASIC CON BASE DE DATOS EN RED - COMO LO HAGO?
« Respuesta #5 en: Enero 12, 2010, 06:12:03 pm »
lo puse asi i igual no sale la base de datos! ;S algo esta mal?


Private Sub Form_Load()
    ' Indicar la base de datos a usar
    Adoclientes.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                              "Data Source=" & App.Path & "\\Pctec\BASE DATOS FINAL\NWINDFINAL.mdb;Persist Security Info=False"
   
    Adoclientes.RecordSource = "Clientes"

End Sub
« última modificación: Enero 12, 2010, 06:26:28 pm por omarinho23 »

ssccaann43

  • Moderador
  • Terabyte
  • *****
  • Mensajes: 970
  • Reputación: +97/-58
    • Ver Perfil
    • Sistemas Nuñez, Consultores y Soporte, C.A.
Re:PONER MI PROYECTO EN VISUAL BASIC CON BASE DE DATOS EN RED - COMO LO HAGO?
« Respuesta #6 en: Enero 12, 2010, 06:29:46 pm »
Fijate te dije que usaras una Unidad de Red ya que se facilita el trabajo.

Por otro lado.

Private Sub Form_Load()
    ' Indicar la base de datos a usar
    Adoclientes.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                              "Data Source=" & App.Path & "\\Pctec\BASE DATOS FINAL\NWINDFINAL.mdb;Persist Security Info=False"
    'Ejecuta un Query acá, por tal motivo quedaría
    Adoclientes.RecordSource = "Select * From Clientes;"
    'Faltaría
    Adoclientes.Refresh
End Sub

Verifica si con eso funciona.
Debería.
Miguel Núñez.

omarinho23

  • Megabyte
  • ***
  • Mensajes: 105
  • Reputación: +0/-1
    • Ver Perfil
Re:PONER MI PROYECTO EN VISUAL BASIC CON BASE DE DATOS EN RED - COMO LO HAGO?
« Respuesta #7 en: Enero 12, 2010, 06:33:05 pm »
cuando pongo el
    Adoclientes.Refresh

me sale el error q la ruta de acceso no es validad ya q lo q pongo yo esta en red y cuando se pone refresh lo jala como si fuera de mi mismo disco duro... osea del d:/

omarinho23

  • Megabyte
  • ***
  • Mensajes: 105
  • Reputación: +0/-1
    • Ver Perfil
Re:PONER MI PROYECTO EN VISUAL BASIC CON BASE DE DATOS EN RED - COMO LO HAGO?
« Respuesta #8 en: Enero 12, 2010, 06:47:32 pm »
mira lo que esta en msflexgrid .. mi conex para la tabla es

Private Sub AbreBD()
Set cnn = New ADODB.Connection

cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\Pctec\BASE DATOS FINAL\NWINDFINAL.mdb;Persist Security Info=False"
' sUbicacion = \\Pctec\BASE DATOS FINAL\nwindfinal.mdb
End Sub


y si conecta normal

ssccaann43

  • Moderador
  • Terabyte
  • *****
  • Mensajes: 970
  • Reputación: +97/-58
    • Ver Perfil
    • Sistemas Nuñez, Consultores y Soporte, C.A.
Re:PONER MI PROYECTO EN VISUAL BASIC CON BASE DE DATOS EN RED - COMO LO HAGO?
« Respuesta #9 en: Enero 12, 2010, 07:01:57 pm »
cuando pongo el
    Adoclientes.Refresh

me sale el error q la ruta de acceso no es validad ya q lo q pongo yo esta en red y cuando se pone refresh lo jala como si fuera de mi mismo disco duro... osea del d:/

Debería funcionar. Así lo he hecho yo y me ha funcionado. Cuentame para que usas el ADODC?
Miguel Núñez.

omarinho23

  • Megabyte
  • ***
  • Mensajes: 105
  • Reputación: +0/-1
    • Ver Perfil
Re:PONER MI PROYECTO EN VISUAL BASIC CON BASE DE DATOS EN RED - COMO LO HAGO?
« Respuesta #10 en: Enero 12, 2010, 07:14:29 pm »
el adodc lo uzo para q conecte mi base de datos osea los .textbox tengo en total 16 textbox los cuales cuando lo uso en forma remota desde mi misma pc, carga todos los datos! pero cuando lo uzo en red no carga ninguno y como te vuelvo a repetir cuando uzo solamente el form donde esta el msflexgrid si habre mi base de datos ;S me parece raro
este es lo q esta en el form donde no habre nada de la base de datos
Citar

Private Sub Form_Load()
Set cnn = New ADODB.Connection
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\Pctec\BASE DATOS FINAL\NWINDFINAL.mdb;Persist Security Info=False"
    Adoclientes.RecordSource = "Select * From Clientes;"
End Sub

Public Sub Habilitatext()
Text1.Enabled = True
Text2.Enabled = True
Text3.Enabled = True
Text4.Enabled = True
Text5.Enabled = True
Text6.Enabled = True
Text7.Enabled = True
Text8.Enabled = True
Text9.Enabled = True
Text10.Enabled = True
Text11.Enabled = True
Text12.Enabled = True
Text13.Enabled = True
Text14.Enabled = True
Text15.Enabled = True
Text16.Enabled = True
Text17.Enabled = True
lblFecha.Enabled = True
End Sub

Public Sub desabilitaText()
Text1.Enabled = False
Text2.Enabled = False
Text3.Enabled = False
Text4.Enabled = False
Text5.Enabled = False
Text6.Enabled = False
Text7.Enabled = False
Text8.Enabled = False
Text9.Enabled = False
Text10.Enabled = False
Text11.Enabled = False
Text12.Enabled = False
Text13.Enabled = False
Text14.Enabled = False
Text15.Enabled = False
Text16.Enabled = False
Text17.Enabled = False
lblFecha.Enabled = False
End Sub


Private Sub cmdCIT01_Click()
Label38 = Val(Label38) + 1
cmdCIT01.Enabled = False
cmdCIT02.Enabled = False
cmdCIT03.Enabled = False
cmdCIT04.Enabled = False
cmdCIT06.Enabled = False
cmdCIT07.Enabled = False
cmdCIT08.Enabled = False
cmdCIT09.Enabled = False
cmdCIT10.Enabled = False
cmdCIT11.Enabled = False
cmdCIT12.Enabled = False
cmdCIT15.Enabled = False
AdoCIT1.Recordset.Save
End Sub

Private Sub cmdCIT02_Click()
Label39 = Val(Label39) + 1
cmdCIT01.Enabled = False
cmdCIT02.Enabled = False
cmdCIT03.Enabled = False
cmdCIT04.Enabled = False
cmdCIT06.Enabled = False
cmdCIT07.Enabled = False
cmdCIT08.Enabled = False
cmdCIT09.Enabled = False
cmdCIT10.Enabled = False
cmdCIT11.Enabled = False
cmdCIT12.Enabled = False
cmdCIT15.Enabled = False
AdoCIT1.Recordset.Save
End Sub

Private Sub cmdCIT03_Click()
Label36 = Val(Label36) + 1
cmdCIT03.Enabled = False
cmdCIT04.Enabled = False
cmdCIT06.Enabled = False
cmdCIT07.Enabled = False
cmdCIT08.Enabled = False
cmdCIT09.Enabled = False
cmdCIT10.Enabled = False
cmdCIT11.Enabled = False
cmdCIT12.Enabled = False
cmdCIT15.Enabled = False
AdoCIT1.Recordset.Save
End Sub

Private Sub cmdCIT04_Click()
Label35 = Val(Label35) + 1
cmdCIT03.Enabled = False
cmdCIT04.Enabled = False
cmdCIT06.Enabled = False
cmdCIT07.Enabled = False
cmdCIT08.Enabled = False
cmdCIT09.Enabled = False
cmdCIT10.Enabled = False
cmdCIT11.Enabled = False
cmdCIT12.Enabled = False
cmdCIT15.Enabled = False
AdoCIT1.Recordset.Save
End Sub

Private Sub cmdCIT06_Click()
Label34 = Val(Label34) + 1
cmdCIT03.Enabled = False
cmdCIT04.Enabled = False
cmdCIT06.Enabled = False
cmdCIT07.Enabled = False
cmdCIT08.Enabled = False
cmdCIT09.Enabled = False
cmdCIT10.Enabled = False
cmdCIT11.Enabled = False
cmdCIT12.Enabled = False
cmdCIT15.Enabled = False
AdoCIT1.Recordset.Save
End Sub

Private Sub cmdCIT07_Click()
Label33 = Val(Label33) + 1
cmdCIT03.Enabled = False
cmdCIT04.Enabled = False
cmdCIT06.Enabled = False
cmdCIT07.Enabled = False
cmdCIT08.Enabled = False
cmdCIT09.Enabled = False
cmdCIT10.Enabled = False
cmdCIT11.Enabled = False
cmdCIT12.Enabled = False
cmdCIT15.Enabled = False
AdoCIT1.Recordset.Save
End Sub

Private Sub cmdCIT08_Click()
Label32 = Val(Label32) + 1
cmdCIT03.Enabled = False
cmdCIT04.Enabled = False
cmdCIT06.Enabled = False
cmdCIT07.Enabled = False
cmdCIT08.Enabled = False
cmdCIT09.Enabled = False
cmdCIT10.Enabled = False
cmdCIT11.Enabled = False
cmdCIT12.Enabled = False
cmdCIT15.Enabled = False
AdoCIT1.Recordset.Save
End Sub

Private Sub cmdCIT09_Click()
Label31 = Val(Label31) + 1
cmdCIT03.Enabled = False
cmdCIT04.Enabled = False
cmdCIT06.Enabled = False
cmdCIT07.Enabled = False
cmdCIT08.Enabled = False
cmdCIT09.Enabled = False
cmdCIT10.Enabled = False
cmdCIT11.Enabled = False
cmdCIT12.Enabled = False
cmdCIT15.Enabled = False
AdoCIT1.Recordset.Save
End Sub

Private Sub cmdCIT10_Click()
Label30 = Val(Label30) + 1
cmdCIT03.Enabled = False
cmdCIT04.Enabled = False
cmdCIT06.Enabled = False
cmdCIT07.Enabled = False
cmdCIT08.Enabled = False
cmdCIT09.Enabled = False
cmdCIT10.Enabled = False
cmdCIT11.Enabled = False
cmdCIT12.Enabled = False
cmdCIT15.Enabled = False
AdoCIT1.Recordset.Save
End Sub

Private Sub cmdCIT11_Click()
Label27 = Val(Label27) + 1
cmdCIT03.Enabled = False
cmdCIT04.Enabled = False
cmdCIT06.Enabled = False
cmdCIT07.Enabled = False
cmdCIT08.Enabled = False
cmdCIT09.Enabled = False
cmdCIT10.Enabled = False
cmdCIT11.Enabled = False
cmdCIT12.Enabled = False
cmdCIT15.Enabled = False
AdoCIT1.Recordset.Save
End Sub

Private Sub cmdCIT12_Click()
Label28 = Val(Label28) + 1
cmdCIT03.Enabled = False
cmdCIT04.Enabled = False
cmdCIT06.Enabled = False
cmdCIT07.Enabled = False
cmdCIT08.Enabled = False
cmdCIT09.Enabled = False
cmdCIT10.Enabled = False
cmdCIT11.Enabled = False
cmdCIT12.Enabled = False
cmdCIT15.Enabled = False
AdoCIT1.Recordset.Save
End Sub

Private Sub cmdCIT15_Click()
Label29 = Val(Label29) + 1
cmdCIT03.Enabled = False
cmdCIT04.Enabled = False
cmdCIT06.Enabled = False
cmdCIT07.Enabled = False
cmdCIT08.Enabled = False
cmdCIT09.Enabled = False
cmdCIT10.Enabled = False
cmdCIT11.Enabled = False
cmdCIT12.Enabled = False
cmdCIT15.Enabled = False
AdoCIT1.Recordset.Save
End Sub

Private Sub command1_Click()
Adoclientes.Recordset.MoveFirst
Command1.Enabled = False
Command2.Enabled = False
Command3.Enabled = True
Command4.Enabled = True
Text1.Enabled = False
Text2.Enabled = False
Text3.Enabled = False
Text4.Enabled = False
Text5.Enabled = False
Text6.Enabled = False
Text7.Enabled = False
Text8.Enabled = False
Text9.Enabled = False
Text10.Enabled = False
Text11.Enabled = False
Text12.Enabled = False
Text13.Enabled = False
Text14.Enabled = False
Text15.Enabled = False
Text17.Enabled = False
cmbCIT.Enabled = False
cmbLista.Enabled = False
cmbINSPECTOR.Enabled = False
cmbCombo.Enabled = False
cmbBolefactu.Enabled = False
cmbMes.Enabled = False
lblFecha.Enabled = False
End Sub

Private Sub Command10_Click()
frmListaBase.Show
End Sub

Private Sub Command12_Click()
frmBusqueda.Show
End Sub

Private Sub command2_Click()
Adoclientes.Recordset.MovePrevious
If Adoclientes.Recordset.BOF Then
Command1.Enabled = False
Command2.Enabled = False
Command3.Enabled = True
Command4.Enabled = True
Text1.Enabled = False
Text2.Enabled = False
Text3.Enabled = False
Text4.Enabled = False
Text5.Enabled = False
Text6.Enabled = False
Text7.Enabled = False
Text8.Enabled = False
Text9.Enabled = False
Text10.Enabled = False
Text11.Enabled = False
Text12.Enabled = False
Text13.Enabled = False
Text14.Enabled = False
Text15.Enabled = False
Text17.Enabled = False
cmbCIT.Enabled = False
cmbLista.Enabled = False
cmbINSPECTOR.Enabled = False
cmbCombo.Enabled = False
cmbBolefactu.Enabled = False
cmbMes.Enabled = False
lblFecha.Enabled = False
Adoclientes.Recordset.MoveFirst
Else
Command1.Enabled = True
Command2.Enabled = True
Command3.Enabled = True
Command4.Enabled = True
End If
End Sub

Private Sub command3_Click()
Adoclientes.Recordset.MoveNext
If Adoclientes.Recordset.EOF Then
Command1.Enabled = True
Command2.Enabled = True
Command3.Enabled = False
Command4.Enabled = False
Text1.Enabled = False
Text2.Enabled = False
Text3.Enabled = False
Text4.Enabled = False
Text5.Enabled = False
Text6.Enabled = False
Text7.Enabled = False
Text8.Enabled = False
Text9.Enabled = False
Text10.Enabled = False
Text11.Enabled = False
Text12.Enabled = False
Text13.Enabled = False
Text14.Enabled = False
Text15.Enabled = False
Text17.Enabled = False
lblFecha.Enabled = False
cmbCIT.Enabled = False
cmbLista.Enabled = False
cmbINSPECTOR.Enabled = False
cmbCombo.Enabled = False
cmbBolefactu.Enabled = False
cmbMes.Enabled = False
Adoclientes.Recordset.MoveLast
Else
Command1.Enabled = True
Command2.Enabled = True
Command3.Enabled = True
Command4.Enabled = True
End If
End Sub

Private Sub Command4_Click()
Adoclientes.Recordset.MoveLast
Command1.Enabled = True
Command2.Enabled = True
Command3.Enabled = False
Command4.Enabled = False
Text1.Enabled = False
Text2.Enabled = False
Text3.Enabled = False
Text4.Enabled = False
Text5.Enabled = False
Text6.Enabled = False
Text7.Enabled = False
Text8.Enabled = False
Text9.Enabled = False
Text10.Enabled = False
Text11.Enabled = False
Text12.Enabled = False
Text13.Enabled = False
Text14.Enabled = False
Text15.Enabled = False
Text17.Enabled = False
lblFecha.Enabled = False
cmbCIT.Enabled = False
cmbLista.Enabled = False
cmbINSPECTOR.Enabled = False
cmbCombo.Enabled = False
cmbBolefactu.Enabled = False
cmbMes.Enabled = False
End Sub

Private Sub Command5_Click()
Unload Me
End Sub

Private Sub Text5_Change()
Text5 = Format(Text5, "#0.00")
End Sub

Private Sub Text6_Change()
Text6 = Format(Text6, "#0.00")
End Sub
Private Sub Command6_Click()
Habilitatext
Adoclientes.Recordset.AddNew
lblFecha = Format(Date, "dd/mm/yyyy")
Command8.Enabled = True
Command6.Enabled = False
Command7.Enabled = False
Command9.Enabled = False
Command10.Enabled = False
cmbLista.Enabled = True
cmbCIT.Enabled = True
cmbINSPECTOR.Enabled = True
cmbCombo.Enabled = True
cmbBolefactu.Enabled = True
cmbMes.Enabled = True
Text1.SetFocus
Text6.Enabled = False
Text9.Enabled = False
End Sub

Private Sub Command7_Click()
Habilitatext
Command8.Enabled = True
Command6.Enabled = False
Command7.Enabled = False
Command9.Enabled = False
Command10.Enabled = False
cmbCIT.Enabled = True
cmbLista.Enabled = True
cmbINSPECTOR.Enabled = True
cmbCombo.Enabled = True
cmbBolefactu.Enabled = True
cmbMes.Enabled = True
lblFecha.Enabled = True
Text9.Enabled = False
Text6.Enabled = False
Text1.SetFocus
End Sub

Private Sub Command8_Click()
Command8.Enabled = False
Text6.Text = ((Val(Text4.Text) * Val(Text5.Text)))
Text9.Text = ((Val(Text6.Text * 0.3) / 1.19))
Dim res As Integer
res = MsgBox("Desea Grabar los Cambios", vbQuestion + vbYesNo, "Clientes")
If res = 6 Then
Adoclientes.Recordset.UpdateBatch
Else
Adoclientes.Recordset.CancelUpdate
End If
Habilitatext
Command8.Enabled = False
Command6.Enabled = True
Command7.Enabled = True
Command9.Enabled = True
Command10.Enabled = True
Text1.Enabled = False
Text2.Enabled = False
Text3.Enabled = False
Text4.Enabled = False
Text5.Enabled = False
Text6.Enabled = False
Text7.Enabled = False
Text8.Enabled = False
Text9.Enabled = False
Text10.Enabled = False
Text11.Enabled = False
Text12.Enabled = False
Text13.Enabled = False
Text14.Enabled = False
Text15.Enabled = False
Text16.Enabled = False
Text17.Enabled = False
lblFecha.Enabled = False
cmbCIT.Enabled = False
cmbLista.Enabled = False
cmbINSPECTOR.Enabled = False
cmbCombo.Enabled = False
cmbBolefactu.Enabled = False
cmbMes.Enabled = False
End Sub

Private Sub Command9_Click()
Dim res As Integer
res = MsgBox("Desea Eliminar el Registro", vbQuestion + vbYesNo, "Clientes")
If res = 6 Then
Adoclientes.Recordset.Delete
Adoclientes.Recordset.MoveLast
Else
Exit Sub
End If
End Sub


Private Sub Timer2_Timer()
If frmCarmenIng.Caption = " [ Ingreso Datos ] [ INSTITUTO DE TRANSPORTES UNAC ]" Then
frmCarmenIng.Caption = "[ Sesión - Srta. Carmen Soberon ]"
Else: frmCarmenIng.Caption = " [ Ingreso Datos ] [ INSTITUTO DE TRANSPORTES UNAC ]"
End If
End Sub
   

y esta es donde si conecta la base
Citar
Public cnn As New Connection
Dim MTipo As String

Private Sub command1_Click()
   CargaGrid "TODOS"
End Sub

Private Sub command2_Click()
CargaGrid MTipo
End Sub

Private Sub command3_Click()
Unload Me
End Sub

Private Sub Command4_Click()
dsrBusqueda.Show
End Sub

Private Sub Form_Load()
   Configurar_Grilla
   AbreBD
   CargaGrid "TODOS"
   MTipo = "codigo de barra"
End Sub

Private Sub Configurar_Grilla()
With Grid1
    .Clear
    .Rows = 3
    .FixedRows = 2
    .FixedCols = 0
    .Cols = 7
    .FormatString = "^COD|^N COD BARRA|RAZON SOCIAL|CONTACTO|INSPECTOR|^FECHA|^PLACA|^MES"
    .ColWidth(0) = 600
    .ColWidth(1) = 2000
    .ColWidth(2) = 2000
    .ColWidth(3) = 2000
    .ColWidth(4) = 2000
    .ColWidth(5) = 2000
    .ColWidth(6) = 2000
    .ColWidth(7) = 2000
    .Rows = 2
End With
End Sub
Private Sub CargaGrid(XTipo As String)
Dim MStr As String
MStr = UCase(TxtBusqueda)
Configurar_Grilla

sql = ""
sql = sql & "Select * From Clientes Where "
Select Case XTipo
   Case Is = "Cod"
      sql = sql & "((InStr([Clientes].[Cod],'" & MStr & "')<>0)) "
   Case Is = "Codigo de Barra"
      sql = sql & "((InStr([Clientes].[Codigo de Barra],'" & MStr & "')<>0)) "
   Case Is = "Razon Social"
      sql = sql & "((InStr([Clientes].[Razon Social],'" & MStr & "')<>0)) "
   Case Is = "Contacto"
      sql = sql & "((InStr([Clientes].[Contacto],'" & MStr & "')<>0)) "
   Case Is = "Inspector"
      sql = sql & "((instr([Clientes].[Inspector],'" & MStr & "')<>0)) "
   Case Is = "Dia"
      sql = sql & "((InStr([Clientes].[Dia],'" & MStr & "')<>0)) "
   Case Is = "Nº de Placa"
      sql = sql & "((instr([Clientes].[Nº de Placa],'" & MStr & "')<>0)) "
   Case Is = "Mes"
      sql = sql & "((instr([Clientes].[Mes],'" & MStr & "')<>0)) "
   Case Is = "TODOS"
      sql = ""
      sql = sql & "Select * From Clientes ;"
End Select
Set Rec = cnn.Execute(sql)

If Rec.EOF = True Then
   Rec.Close
   Exit Sub
End If

Do While Rec.EOF = False
   DoEvents
   Grid1.AddItem Rec("Cod") & vbTab & Rec("codigo de barra") & vbTab & Rec("Razon Social") & vbTab & Rec("contacto") & vbTab & Rec("Inspector") & vbTab & Rec("dia") & vbTab & Rec("nº de placa") & vbTab & Rec("mes")
   Rec.MoveNext
Loop
Rec.Close
End Sub

Private Sub AbreBD()
Set cnn = New ADODB.Connection

cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\Pctec\BASE DATOS FINAL\NWINDFINAL.mdb;Persist Security Info=False"
' sUbicacion = \\Pctec\BASE DATOS FINAL\nwindfinal.mdb
End Sub


Private Sub Option1_Click(Index As Integer)
   Select Case (Index)
      Case Is = 0
         Frame2.Caption = "FILTRO POR Codigo de Barra"
         MTipo = "Codigo de Barra"
      Case Is = 1
         Frame2.Caption = "FILTRO POR Razon Social"
         MTipo = "Razon Social"
      Case Is = 2
         Frame2.Caption = "FILTRO POR Contacto"
         MTipo = "Contacto"
      Case Is = 3
         Frame2.Caption = "FILTRO POR Inspector"
         MTipo = "Inspector"
      Case Is = 4
         Frame2.Caption = "FILTRO POR Nº de Placa"
         MTipo = "Nº de Placa"
      Case Is = 5
         Frame2.Caption = "FILTRO POR Mes"
         MTipo = "Mes"
   End Select
End Sub

Private Sub TxtBusqueda_GotFocus()
   SeleccionarTodo ActiveControl
End Sub

Private Sub TxtBusqueda_KeyPress(KeyAscii As Integer)
   If MTipo = "Nº de Placa" Then
      KeyAscii = EsNumero(KeyAscii)
   End If
End Sub


seba123neo

  • Terabyte
  • *****
  • Mensajes: 763
  • Reputación: +88/-5
    • Ver Perfil
Re:PONER MI PROYECTO EN VISUAL BASIC CON BASE DE DATOS EN RED - COMO LO HAGO?
« Respuesta #11 en: Enero 12, 2010, 10:53:52 pm »
muchas cosas hay que corregir en ese codigo, para optimizarlo, te puede quedar menos de la mitad de lo que es ahora.

1 -  la conexion normalmente no se abre cada vez que abris el form, esta se habre una sola vez en toda la vida del programa, y se descarga al final.tambien se deberia usar como principio de la conexion , el Sub_Main de un modulo.

2 - estas haciendo duplicidad de codigo bastante seguido, cuando habilitas y deshabilitas controles, eso lo podes poner fijo en un Sub y llamarlo con el valor que vos le pases "True" o "False, y te ahorras todas esas lineas de codigo que es lo que hace el programa "feo".

3 - si ese es el programa, te diria que cambies YA por hacerlo sin ADODC...o sea seguis usando ADO, pero desde codigo , sin objetos, te va a ser mucho mejor mantenerlo despues si se agranda el sistema y aparte porque es lo mejor.

4 - olvidate de hacer eso de ir navegando con las flechitas por los registros, lo mejor es poner una grilla donde esten todos los registros, y si queres al lado unos filtros para que el usuario filtre la grilla por lo que quiera.y despues al hacer doble click sobre un registro de la grilla que se levante una ventana con los datos de ese cliente y que puedas editarlos desde ahi.

5 - tambien es mejor olvidarte de usar los metodos del recordset para insertar en la base .Delete, .AddNew..etc...usa el lenguaje SQL haciendo "DELETE FROM...", "INSERT INTO...", "UPDATE Tabla SET..." a la base directamente, para eso declaras un objeto Command y lo usas en todo el programa para hacer eso.

para aprender es mejor ver un programa ya hecho, por eso creo que con que le peges un vistaso a este ejemplo(que yo diria que es "basico" ), podes empezar a encarar las cosas de otras manera y hacer tu programa muchisimo mejor, mirate este ejemplo de ABM:

Formulario ABM con Access y Ado

saludos.
« última modificación: Enero 12, 2010, 11:05:00 pm por seba123neo »

ssccaann43

  • Moderador
  • Terabyte
  • *****
  • Mensajes: 970
  • Reputación: +97/-58
    • Ver Perfil
    • Sistemas Nuñez, Consultores y Soporte, C.A.
Re:PONER MI PROYECTO EN VISUAL BASIC CON BASE DE DATOS EN RED - COMO LO HAGO?
« Respuesta #12 en: Enero 13, 2010, 10:50:48 am »
Sin más que decir. Concuerdo perfectamente lo que indica seba.
Miguel Núñez.

omarinho23

  • Megabyte
  • ***
  • Mensajes: 105
  • Reputación: +0/-1
    • Ver Perfil
Re:PONER MI PROYECTO EN VISUAL BASIC CON BASE DE DATOS EN RED - COMO LO HAGO?
« Respuesta #13 en: Enero 13, 2010, 11:14:01 am »
ok. muchasgracias por la explicacion seba y gracias ssccaann por la ayuda tmb... gracias muchachos!