|
Mostrar Temas
|
Páginas: 1 2 [3] 4 5
|
21
|
Programación / Programación Visual Basic / Grupos en datareport
|
en: 30 Octubre 2007, 05:16 am
|
Buenas amigos, yo nuevamente, antes que nada muchas gracias por su ayuda.
el asunto es que tengo un informe conectado con ado y funciona perfecto pero cuando inserto un Encabezado/pie de Grupo e inserto un txtbox enlazado al rs, me larga el mensaje de error, "Las secciones del informe no coinciden con los dato ede origen",ese es mi problema y mi consulta para con uds, me imagino que a muchos les abra sucedido esto pero yo por mas que buscon en la web no consigo la solucion, desde ya muchas gracias por su tiempo.
|
|
|
22
|
Programación / Programación Visual Basic / Mas de ScriptControl
|
en: 28 Octubre 2007, 05:29 am
|
Buenas amigos, yo nuevamente con otro inconveniente.
La cuestion es que estoy trabajando con el el control este y me presenta una dificulatad, primero les pego el procedimiento como lo uso:
Dim o_Script As MSScriptControl.ScriptControl
Private Sub Form_Load()
' Inicializa la variable para usar el ScriptControl Set o_Script = New MSScriptControl.ScriptControl ' Establece como lenguaje VBScript o_Script.Language = "VBScript" o_Script.AddObject "Form1", Form1 End Sub
Ahora tengo unas funciones pongo dos:
Public Function suma(a, b) suma = a + b End Function
Public Function resta(a, b) resta = a - b End Function
Private Sub Command2_Click()
cantidad = o_Script.Eval(me.text1.text)
msgbox(cantidad)
end sub
ahora para ue el eval me tire el resultado de Suma(10,10) o sea msgbox(20), tengo que escribir en el text1: Form1.suma(10,10), es ahi donde tengo el problema, por lo que mi consulta es: existe alguna forma de evitar tener que especificar el nombre de la clase seguido del el nombre de la funcion? y solo pasar el nombre de la funcion para que evalue?, no se si se entiende, es que solo puse dos funciones sencillas pero tengo muchas y que necesito que se puedan evaluar mas prolijamente desde varios formularios sin tener ue poner nombreform.funcion..., o al menos poder llamar a dichas funciones desde un solo formulario pero sin tener que pasar el nombre del form, de antemano gracias por su ayuda.
|
|
|
23
|
Programación / Programación Visual Basic / Mas de listview(suma)
|
en: 23 Octubre 2007, 00:48 am
|
Buenas amigos y sepan disculpar mi insistencia.
He encontrado una funcion ue suma items en el listview que es la siguiente:
Private Function SumarGrupo(Grupo As Integer)
Dim i As Integer 'Recorre todos los items y para sumar los SubItems For i = 1 To ListView1.ListItems.Count If IsNull(ListView1.ListItems(i).SubItems(Grupo)) Then SumarGrupo = 0 Else SumarGrupo = SumarGrupo + CDbl(ListView1.ListItems(i).SubItems(Grupo)) End If Next i
End Function
Yo modifique lo de grupo para poder especificar la columna que deseo sumar, ahora el problema lo tengo cuando sumo una columan tal como:
DESCRIP. COl1 COl2 Concepto1 20 Concepto2 30 Concepto 3 10
Ya que hay ciertos items en los que queda nulo y ahi me larga error, por una cuestion estetica yo necesito que esos espacios queden vacios pero es el problema por el cual me tira el error, ojala puedan ayudarme, desde ya muchas gracias.
|
|
|
24
|
Programación / Programación Visual Basic / Subitems en listview
|
en: 22 Octubre 2007, 20:44 pm
|
Hola amigos.
Tengo un listview con las columnas
legajo nombre apellido antiguedad 1 marcelo cardozo 2 dario diaz 3 ivan bazan etc...
Todas las columnas como veran estan completas menos la de antiguedad la cual necesito completar una ves que este la lista llena, lo que intente es lo siguiente:
Recorro todos los item del listview intentando completar esta ultima columna.
Dim i As Long Dim item As ListItem
For i = 1 To Me.ListView1.ListItems.Count
Set item = Me.ListView1.ListItems.item(i).ListSubItems.Add(3, , "lo que sea")
Next i
Esto me larga error "El indice esta fuera de los limites" y no encuentro solucion, desde ya muchas gracias de antemano por su tiempo y por su ayuda.
|
|
|
25
|
Programación / Programación Visual Basic / AddObject
|
en: 22 Octubre 2007, 06:00 am
|
Buenas amigos, ante todo muchas gracias por su ayuda.
La cuestion es que estuve investigando mucho acerca del Scriptcontrol y encontre la solucion con dicho contro a mis problemas, el problema es el siguiente:
A continuacion un trozo de codigo que descargue de la web y luego la consulta.
Dim o_Script As MSScriptControl.ScriptControl
Private Sub Form_Load() ' Inicializa la variable para usar el ScriptControl Set o_Script = New MSScriptControl.ScriptControl ' Establece como lenguaje VBScript o_Script.Language = "VBScript" o_Script.AddObject "form1", Form1 Command1.Caption = " Ejecutar código" Command2.Caption = " Limpiar textBox" End Sub
Private Sub Command1_Click() Dim Valor As Variant ' Le pasa a Eval el contendo de Text1 On Error GoTo ErrSub: Valor = o_Script.Eval("form1." & Me.Text1) 'visualiza el resultado MsgBox Valor, vbInformation
Exit Sub 'Error ErrSub: MsgBox Err.Description, vbCritical Err.Clear
End Sub
La cuestion es que este codigo me perimite ejecutar cualquier codigo que se encuentre en el modulo de form1 modulo y lo que yo necesito es poder ejecutar en este formulario los codigos de otro mudulo general, es esto posible?, supongo que la cuestion esta en AddObject "Form1",creo que ahi debo especificar el nombre del modulo pero no tengo idea de como hacerlo, alguien sabe como hacerlo, no se si me llego a explicar pero gracias nuevamente.
|
|
|
26
|
Programación / Programación Visual Basic / Criterios en Sql.
|
en: 18 Octubre 2007, 22:50 pm
|
Hola foreros, nuevamente apelo a su conocimiento, de antemano gracias por su tiempo y por su ayuda.
El asunto es que tengo un procedimiento que me filtra registros y los inserta en un listview, el problema lo tengo en las opciones del filtrado, en el formulario tengo un Chek, alhacer ckick en este se habilita o deshabilita un combo en el cual tengo los datos de la tabla categorias en formato 001 - Administracion, 002 - Trafico, Etc , lo que pretendo es que si el chek esta en False que me filtre todos los registros y si esta en true me filtre los registros para la categoria seleccionada del combo, he simplificado en este caso por que a demas de opcion por categoria tengo 7 opciones mas por lo que no se me hace facil hacer una sql por que tendria que realizar una combinacion terrible de datos por lo que se me ocurrio lo que les marco en rojo pero no me da error pero tampoco funciona, o sea no me devuelve todos los registros.
Sub Filtrar() On Error GoTo Hay_err_err
Dim Categoria As Variant
If Me.Check2.Enabled = True Then Categoria = "*" end If
If Me.Check2.Enabled = false Then Categoria = Mid(Me.Combo4,1,3) end If
Dbpath = App.Path & "\" & DirectorioBase & "\" & Db_A_Name StrSql = "SELECT * FROM tbl_Empleados WHERE categoria=" & Categoria Set Db = DBEngine.OpenDatabase(Dbpath, False, False, ";pwd=" & StrPass) Set Rst = Db.OpenRecordset(StrSql) While Not Rst.EOF Set Item = Me.ListView2.ListItems.Add(, , Rst!legajo) Item.SubItems(1) = Rst!nombres '& ", " & Rst!Apelldos Rst.MoveNext Wend Hay_err_exit: Rst.Close Db.Close Set Rst = Nothing Set Db = Nothing Hay_err_err: Select Case Err.Number Case 3024 MsgBox "Es imposible encontrar la base de datos. " & vbCrLf & vbCrLf & "Verifique que exista o que se encuentre en la ruta:" & App.Path & "\bases" & " e intente nuevamente", vbInformation + vbOKOnly, "Aviso!" ' Exit Function Case 3078 MsgBox "Es imposible encontrar la tabla: " & vbCrLf & vbCrLf & "Verifique que exista o que se encuentre en la base de datos" & "Base_Actual.mdb" & "e intente nuevamente", vbInformation + vbOKOnly, "Aviso!" 'Exit Function End Select End Sub
Bueno, nuevamente gracias y disculpen si olvido algo es que lo escribo comoforme se me cruzan las palabras.
|
|
|
27
|
Programación / Programación Visual Basic / DAO y DataReport.-
|
en: 17 Octubre 2007, 03:44 am
|
Buenas nuevamente compañeros, gracias por su constante ayuda.
Dado que desconozco como funciona ADO ,aunque he visto mas o menos su funcionamiento me resulta muy comodo traajar con DAO por lo que he realizado muchas busquedas en la web y no encuentro docuementacion acerca de como generar reportes con DAO en vb6, asi que mi consulta seria si es posible utilizar dao con datareport, si alguien sabe de algun enlace o documentacion se lo agradecere eternamente.
|
|
|
28
|
Programación / Programación Visual Basic / Chekbox en ListView
|
en: 16 Octubre 2007, 22:25 pm
|
Buenas colegas.
La cuestion es que tengo un procedimiento en el cual inserto registros en una tabla mediante un bucle que recorre elementos en dos controles listview, la cuestion es que quiero que los registros que solo me agregue solo los registros que este chekados, es esto posible, lo ue intente es lo siguiente: , de antemano gracias
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 For f = 1 To Me.ListView2.ListItems.Count If Me.ListView2.ListItems.Item(i).Checked = True Then Rst.AddNew Rst!codigo = Me.ListView1.ListItems.Item(i).Text Rst!legajo = Me.ListView2.ListItems.Item(i).Text Rst.Update End If Next f Next i End Sub
|
|
|
29
|
Programación / Programación Visual Basic / Bucles.
|
en: 26 Agosto 2007, 21:55 pm
|
Hola amigos!
Tengo en una misma rutina dos bucles, o almenos es lo que intento, uno para recorrer los rst de una tabla e insertar los registros en un listview y otro para hacer correr un progressbar pero no logro hacer que marche, aver si pueden echarme una mano y decirme donde tengo el error:
Dim cuantoshay As Integer Dim contadorfor As Integer Dim lrg As Double Dim intv As Double Dim ctat As Integer Dim prct As Integer Dim sql As String Dim rst As DAO.Recordset Dim lstitem As ListItem Dim indice As Long Dim empresa As Integer
indice = indice + 1 empresa = Mid(Val(MDIForm1.lblempresa.Caption), 1, 4) Me.ListView1.View = 3
DBpath = App.Path & "\Datos\tablas.mdb" strsql = "SELECT * FROM tbl_empleados where empresa=" & empresa Set db = DBEngine.OpenDatabase(DBpath, False, False, ";pwd=" & MiPass) Set rst = db.OpenRecordset(strsql) rst.MoveFirst rst.MoveLast
cuantoshay = rst.RecordCount
For contadorfor = 0 To cuantoshay - 1
'ACA RECORRO LOS RST Y LOS INSERTO EN EL LISTVIEW PERO SOLO ME INSERTA EL PRIMERO Y LUEGO NADA Do Until rst.EOF Set lstitem = Me.ListView1.ListItems.Add(indice, , rst("legajo")) ListView1.ListItems(indice).ListSubItems.Add , , Me.txtconcepto.Text ListView1.ListItems(indice).ListSubItems.Add , , Me.lblconcepto.Caption rst.MoveNext Loop
Me.lblporcentaje.Visible = True Me.progreso.Visible = True
lrg = Me.ancho.Width 'para el ancho total al que debe llegar la barra de progres intv = lrg / cuantoshay 'valor por cada archivo
ctat = ctat + 1 'valor 1 prct = (ctat / cuantoshay) * 100 'porcentaje 1 Me.progreso.Visible = True Me.progreso.Width = ctat * intv 'el progreso es desde 1 * intv Me.lblporcentaje.Caption = prct & " %" 'muestra el porcentaje transcurrido Next
La barra corre bien por que inserte un msgbox antes del next para constatar que no tuviera el problema ahi pero no, asi que no logro dar con la solucion, por otro lado tambien intente hacer los dos procesos por separado pero en caso de que se produsca un error o inconveniento uno de los procesos terminaria antes que el otro y no se veria profesional, desde ya muchas gracias por su ayuda y por su atencion.
|
|
|
30
|
Programación / Programación Visual Basic / Existe control.
|
en: 26 Agosto 2007, 20:52 pm
|
Holas!
He visto en algunos sistemas echos en visual basic que se utiliza o se simula no lo se, el control que aparece en el margen izquierdo en por ejemplo Panel de Control, Conexiones de Red, no se si entienden a cual me refiero, en panel de control por ejemplo aparece lo siguiente:
Panel de Contro >> Cambiar a vista por categorias.
Vea Tambien >> Windows Update. Ayuda y Soporte tecnico.
Las flechitas aparecen mirando para arriba o abajo no hacia la derecha o izquierda.
Existe algun control parecido o igual a este para Visual Basic?, gracias.
|
|
|
|
|
|
|