Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - CeLaYa

#21
LICHONGO ese código esta bien pero imaginate que  pasaría si la tabla contiene muchos registros... se tardaría un monton en recorrer cada registro, lo mejor es hacer uns consulta sql para checar ese dato:

Public db As Database 'esta variable es para la base de dato
Public rt As Recordset 'esta variable es para la tabla
Public Band as Boolean 'esta variable es para hacer la busqueda
Public resp As String  'esta vairable es para carateres

'para abrir la base de datos primero la buscamos en la raiz del programa
If Right(App.Path, 1) = "\" Then
    Set db = OpenDatabase(App.Path + "MI Base de Datos.mdb") 'con esto la abrimos
Else
    Set db = OpenDatabase(App.Path + "\MI Base de Datos.mdb") 'la diferecia esta en el (\) antes del nombre de la BD
End If

'supongamos que tengamos un botton para agregar
'emplados, para esto escogemos un campo unico
'que seria el codigo este campo no ser repiete
'en nuestra tabla, los campos nombre, apellido
'direccion, telefono, cargo y fecha de ingreso
'si se pueden repetir
'para buscar si exite en la tabla hacemos un
'repetitivo con do while
resp = InputBox("Introduzca el codigo del empleado", "Ingreso de Nuevo Empledo")
If Len(Trim(resp)) = 0 Then
    MsgBox "Debe introducir un codigo para Ingresar Empleados", vbInformation, "Error Falta de Dato"
Else
    'Aqui abrimos la tabla y checamos el dato.
    Set rt = db.OpenRecordset("SELECT * FROM MI Tabla" & _
                                            "WHERE rt!Nombre = '" & resp & "';")
    if rt.recordcount > 0 then ' Si recordCount es mayor a 0 entonces si hay un registro con ese nombre
           msgbox "Ese Codigo ya esta Registrado", vbInformation, "Fin de Busqueda"
     else
            rt.AddNew
            ......
      end if
end if       
' y no olviden cerrar la tabla y base de datos
rt.close
db.close
'Liberamos memoria
set rt = nothing
set db = nothing
#22
Cita de: nhaalclkiemr en 18 Octubre 2007, 00:19 AM
Eso es pork cerraste la aplicación sin ejecutar antes la función QuitarIcono


no, pero eso pasa teniendo la aplicación en ejecución, no se porque al poner el icono y pasarle el mouse, el icono desaparece, pero la aplicacion sique activa  :huh:
#23
Tengu ..::Fireb0y::.. tengo una duda, ya probe el código del módulo, pero cuando se agrega el icono a la bandeja y paso el mouse por encima, el icono desaparece... tendras algun ejemplo?, para ver si estoy haciendo algo mal...
#24
checa el post de arriba (http://foro.elhacker.net/index.php/topic,151013.0.html) aqui viene explicado lo del datareport
#25
la consulta la pondrias antes de guardar tu registro. si posteas el código que tienes para guardar ayudaría mucho para decirte como debes hacerlo, pero mientras te dejo algo:

para buscar si el registro existe más o menos deberás hacer lo siguiente:


...'Abres tu bd

'Abres tu tabla por medio de una consulta
Set tb = bd.OpenRecordSet("SELECT * FROM Tabla WHERE Nombre = '" & txtNombre.text & "';")

if tb.RecordCount > 0 then ' si encontro registros se supone debe mandarte un mensaje de error.
     msgbox "ERROR! El nombre " & txtnombre & " ta duplicado. "
             txtnombre.text=""
else
     .'aqui guardas
     tb.Addnew....
end if

...'Cierras tu bd





#26
a ver si esto te sirve

vas a necesitar poner en un form:

1 textbox que se llame txtPuerto
1 textbox que se llame txtNum
1 commandbutton que se llame cmdMarcar
1 commandbutton que se llame cmdColgar
2 optionButton (opTonos y opPulsos)
y el control MSComm
(parece receta de cocina jajajajajja)



Option Explicit
Dim objComunicar

Public Sub marcarNumeroTelefono(numero As String)
  Dim cadConexion As String
  Dim resultado As Integer
  Dim modem As String
   
  On Error GoTo cError
    MousePointer = 11
  Set objComunicar = CreateObject("MSCommLib.MSComm")
 
  'Enviamos la cadena ATDT que equivale a
  'descolgar el modem y marcar el número indicado por tonos
  'ATDP por pulsos
  If opTonos.Value = True Then
    cadConexion$ = "ATDT" + numero + ";" + Chr$(13)
  End If
  If opPulsos.Value = True Then
    cadConexion$ = "ATDP" + numero + ";" + Chr$(13)
  End If
 
  'Indicaremos el puerto COM a utilizar (donde esté conectado el módem)
  objComunicar.CommPort = CInt(txtPuerto.Text)
 
  'En la configuración le indicaremos
    '300 = 300 baudios (velocidad)
    'N = sin paridad
    '8 = 8 bits de datos
    '1 = bit de parada
  objComunicar.Settings = "300,N,8,1"
   
  If Not objComunicar.PortOpen Then objComunicar.PortOpen = True
   
  'Liberamos el búfer de salida
  objComunicar.InBufferCount = 0
   
  'Enviamos los comandos AT con el número al módem
  objComunicar.Output = cadConexion$
   
  'Esperamos a recibir "OK" desde el módem
  Do
    resultado = DoEvents()
    ' Si hay datos en el Buffer los leemos
    If objComunicar.InBufferCount Then
      modem$ = modem$ + objComunicar.Input
      'Comprobamos si los datos leídos son "OK"
      If InStr(modem$, "OK") Then
        'Podemos indicar al usuario que descuelgue el teléfono
        MsgBox "Descuelge su teléfono y pulse 'Aceptar' para cerrar" _
            + " el módem. Podrá continuar la llamada en su teléfono." _
            + Chr(13) + Chr(13) + "Recuerde que si pulsa 'Aceptar' " _
            + "sin descolgar su teléfono se cortará la llamada.", _
            vbInformation + vbOKOnly
        Exit Do
      End If
    End If
  Loop
   
  'Desconectamos el módem, para ello enviamos el comando "ATH"
  objComunicar.Output = "ATH" + Chr$(13)
  'Cerramos el puerto
  objComunicar.PortOpen = False
    MousePointer = 0
cSalir:
  Exit Sub
 
cError:
  MsgBox "Error en la marcación del número de teléfono: " & _
      Err.Number & " - " & Err.Description, vbExclamation
  GoTo cSalir
End Sub


Private Sub cmdColgar_Click()
  On Error GoTo cError
  'Desconectamos el módem, para ello enviamos el comando "ATH"
  objComunicar.Output = "ATH" + Chr$(13)
 
cSalir:
  Exit Sub
 
cError:
  MsgBox "Error en la marcación del número de teléfono: " & _
      Err.Number & " - " & Err.Description, vbExclamation
  GoTo cSalir
End Sub

Private Sub cmdMarcar_Click()
    marcarNumeroTelefono txtNum.Text
End Sub
#27
pues creo que la lógica esta bien, pero segun lo que veo en tu código me hace suponer que los items seleccionados del Listview2 dependen de que item este seleccionado en el Listview1, por lo que creo que tal vez deberías modificar un poco tu código.


Private Sub cmdliquidar_Click()
     Dim i As Long
     Dim f As Long

      Dbpath = App.Path & "\" & DirectorioBase & "\" & Db_A_Name
      StrSql = "SELECT * FROM tbl_liquidacion"
      Set Db = DBEngine.OpenDatabase(Dbpath, False, False, ";pwd=" & StrPass)
      Set Rst = Db.OpenRecordset(StrSql)
      For i = 1 To Me.ListView1.ListItems.Count
          ListView1_ItemClick ListView1.ListItems(i) ' aqui usas este evento para simular que das click en el item del listview1
   
          For f = 1 To Me.ListView2.ListItems.Count
     
                 If Me.ListView2.ListItems.Item(f).Checked = True Then
                      Rst.AddNew
                      Rst!codigo = Me.ListView1.ListItems.Item(f).Text ' Aqui debes usar la variable f, que es con la que recorres el listview2
                      Rst!legajo = Me.ListView2.ListItems.Item(i).Text
                      Rst.Update
                 End If
          Next f
         
         
        Next i       
End Sub
#28
el campo fecha de que tipo es???? no sera que en la BD lo tienes de tipo "fecha" y en vb haces referencia como si fuera cadena de texto.
#29
eso es facil, puedes hacer una consulta SQL para que busque registros si encuentra alguno que te mande el mensaje de error, en caso contrario que lo agrege..
#30
Buenas tardes, estoy tratando de hacer una aplicación para marcar números de teléfono, encontre algo de información al respecto:

Option Explicit
Dim objComunicar

Public Sub marcarNumeroTelefono(numero As String)
  Dim cadConexion As String
  Dim resultado As Integer
  Dim modem As String
   
  On Error GoTo cError
    MousePointer = 11
  Set objComunicar = CreateObject("MSCommLib.MSComm")
 
  'Enviamos la cadena ATDT que equivale a
  'descolgar el modem y marcar el número indicado por tonos
  'ATDP por pulsos
  If opTonos.Value = True Then
    cadConexion$ = "ATDT" + numero + ";" + Chr$(13)
  End If
  If opPulsos.Value = True Then
    cadConexion$ = "ATDP" + numero + ";" + Chr$(13)
  End If
 
  'Indicaremos el puerto COM a utilizar (donde esté conectado el módem)
  objComunicar.CommPort = CInt(txtPuerto.Text)
 
  'En la configuración le indicaremos
    '300 = 300 baudios (velocidad)
    'N = sin paridad
    '8 = 8 bits de datos
    '1 = bit de parada
  objComunicar.Settings = "300,N,8,1"
   
  If Not objComunicar.PortOpen Then objComunicar.PortOpen = True
   
  'Liberamos el búfer de salida
  objComunicar.InBufferCount = 0
   
  'Enviamos los comandos AT con el número al módem
  objComunicar.Output = cadConexion$
   
  'Esperamos a recibir "OK" desde el módem
  Do
    resultado = DoEvents()
    ' Si hay datos en el Buffer los leemos
    If objComunicar.InBufferCount Then
      modem$ = modem$ + objComunicar.Input
      'Comprobamos si los datos leídos son "OK"
      If InStr(modem$, "OK") Then
        'Podemos indicar al usuario que descuelgue el teléfono
        MsgBox "Descuelge su teléfono y pulse 'Aceptar' para cerrar" _
            + " el módem. Podrá continuar la llamada en su teléfono." _
            + Chr(13) + Chr(13) + "Recuerde que si pulsa 'Aceptar' " _
            + "sin descolgar su teléfono se cortará la llamada.", _
            vbInformation + vbOKOnly
        Exit Do
      End If
    End If
  Loop
   
  'Desconectamos el módem, para ello enviamos el comando "ATH"
  objComunicar.Output = "ATH" + Chr$(13)
  'Cerramos el puerto
  objComunicar.PortOpen = False
    MousePointer = 0
cSalir:
  Exit Sub
 
cError:
  MsgBox "Error en la marcación del número de teléfono: " & _
      Err.Number & " - " & Err.Description, vbExclamation
  GoTo cSalir
End Sub


Private Sub cmdColgar_Click()
  On Error GoTo cError
  'Desconectamos el módem, para ello enviamos el comando "ATH"
  objComunicar.Output = "ATH" + Chr$(13)
 
cSalir:
  Exit Sub
 
cError:
  MsgBox "Error en la marcación del número de teléfono: " & _
      Err.Number & " - " & Err.Description, vbExclamation
  GoTo cSalir
End Sub

Private Sub cmdMarcar_Click()
    marcarNumeroTelefono txtNum.Text
End Sub


el problema que tengo, es: ¿Como le hago para que al momento de marcar tome en cuenta las reglas de marcado que estan definidas en el panel de control de windows?  :huh: