Mostrar Mensajes

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


Temas - Mary

Páginas: [1]
1
Hola, tengo un problema para visualizar archivos de texto dentro de un formulario.

Dentro de un formulario tengo instalado un botón, un listview y un control adobe reader axacropdf. De este modo, al pulsar el botón,  el listview se carga con los archivos pdf que tengo en una carpeta, y al ir seleccionando cada uno de esos archivos en el listview, puedo visualizar el contenido de cada pdf en el control axacropdf.

El problema que tengo es que me gustaría poder hacer lo mismo pero con archivos de texto con extensión .doc (Microsoft Office Word). En este caso ¿que control habría que instalar en el formulario para poder visualizar este tipo de archivos?

Trabajo con el Visual studio 2010 express y con Visual Basic.

Gracias y saludos.

2
Hola a tod@s,

Estoy haciendo una aplicación con Visual Basic 2010 Express. En dicha aplicación tengo un formulario con un datagridview, un textbox y un botón. A parte en un base de datos MySQL tengo varias tablas (TABLA1, TABLA2, TABLA3, TABLA4, TABLA5, etc.)
Con el evento botón_click enlazo el datagridview con la tabla de la base de datos MySQL que tiene el nombre que me aparece en el textbox (el cual puedo ir cambiando mediante otro evento). Es decir, según el nombre de la tabla que aparece en el textbox y accionando el botón consigo que el datagridview1 se enlace con los datos de la tabla que me interesa.

Para el caso de la TABLA1, esto lo consigo mediante el siguiente código.


Código: [Seleccionar]
Private mysqldataadapterTABLA1 As MySqlDataAdapter
Private WithEvents xsTABLA1 As New BindingSource

Dim ms As New MySqlConnection("server= localhost; user id = root; password =; database = PRIMERA")

Private Sub cargar_registrosTABLA1(ByVal sql As String, ByVal dv As DataGridView)

        Try
            MysqldataadapterTABLA1 = New MySqlDataAdapter(sql, ms)

            Dim mysqlcommandbuilder As New MySqlCommandBuilder(mysqldataadapterTABLA1)
            Dim tablaTABLA1 As New DataTable()

            MysqldataadapterTABLA1.Fill(tablaTABLA1)
            XsTABLA1.DataSource = tablaTABLA1

            bEdit = False
        Catch ex As Exception
            MsgBox(ex.Message.ToString)
        End Try

    End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

If Textbox1.text = “Tabla 1” Then
                cargar_registrosTABLA1("select * from TABLA1", datagridview1)
                datagridview1.DataSource = xsTABLA1
End if

End sub


Seguidamente, mediante otro botón, lo que hago es insertar una fila en el datagridview1 (a continuación de la fila que tengo seleccionada) y en la fila que he creado nueva introduzco datos de un tabla llamada TABLADATOS (con las mimas columnas que la TABLA1).

Esto lo hago con el siguiente código.

Código: [Seleccionar]
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Dim dt As DataTable = DirectCast(xs.TABLA1, DataTable)

Dim row As DataRow = dt.NewRow

Dim con As New MySqlConnection("server= localhost; user id = root; password =; database = PRIMERA")

Dim comando As New MySqlCommand("Select * from TABLADATOS where referencia = '" & DataGridView1.CurrentRow.Cells(1).Value & "'", con)

            Dim da As MySqlDataReader

            con.Open()

            da = comando.ExecuteReader()

            da.Read()

            With row
                .Item("COLUMNA1") = da.Item("1")
                .Item("COLUMNA2") = da.Item("2")
                .Item("COLUMNA5") = da.Item("3")
                .Item("COLUMNA6") = da.Item("4")

            End With

            Dim pos As Int32 = xs2.Position


                dt.Rows.InsertAt(row, pos + 1)
                con.Close()

End Sub



El problema que no consigo solucionar es el siguiente:

Según con que tabla tengo cargado el datagridview1, cuando necesito añadir la fila nueva, tengo que escribir el segundo código (PRIVATE SUB BUTTON2_CLICK) tantas veces como tablas tengo, cambiado el valor de la propiedad BINDINGSOURCE (XS.TABLA1) por el que corresponde a cada tabla.

Mi idea es que en un textbox2, aparezca el nombre del bindingsource correspondiente al nombre de la tabla que aparece en textbox1. Esto lo he conseguido,  pero a la hora de hacer la siguiente sustitución:

Dim dt As DataTable = DirectCast(textbox2.text, DataTable)
Dim pos As Int32 = textbox2.text.Position


me sale el error "Datasource no es miembro de string".


¿Alguien ha tenido el mismo problema alguna vez? ¿Podrían ayudarme a solucionarlo?
Gracias y saludos,

3
Hola a tod@s, estoy intentado hacer un informe en .pdf con un texto que introduzco  a través de un Richtextbox usando la biblioteca iTextSharp. El problema es que no consigo que el texto pase a la hoja .pdf con el mismo formato (fuente, tamaño, negrita etc.) con el que lo he escrito dentro del Richtextbox.

Por el momento el código que tengo es el siguiente:


Dim document As New Document(PageSize.A4, 65, 65, 200, 80)

Dim filename22 As String = Environment.GetFolderPath__(Environment.SpecialFolder.DesktopDirectory) + "\Report.pdf"

 Dim file As New FileStream(filename22, FileMode.Create, FileAccess.Write,_ _FileShare.ReadWrite)


Dim fuente As BaseFont = BaseFont.CreateFont(BaseFont.TIMES_ROMAN,_ _BaseFont.CP1252, False)

Dim writer As PdfWriter = PdfWriter.GetInstance(document, file)

document.Open()

document.NewPage()


 document.Add(New iTextSharp.text.Paragraph(RichTextBox1.Text))

document.Close()

Process.Start(filename22)

writer.Close()


¿Alguien sabría como conseguir que copie el texto con el mismo formato? Además también necesito que lo inserte en el documento .pdf con la alineación justificada, tal y como se hace en los documentos de Word. Esto lo he estado buscando en la web, pero hasta el momento no consigo que funcione nada de lo que he encontrado.

Gracias y saludos.

Lo siento pero he escribo el código de este modo, porque no consigo que me funcione la opción de Insertar código.



4
Hola de nuevo.  Estoy intentando hacer un bucle para pasar los datos de una columna en Excel a una columna de un datagridview en visual basic 2010 express.
 
El código que tengo es el siguiente:
Código: [Seleccionar]
Dim oExcel As Object
        Dim oBook As Object
         Dim oSheet1 As Object
       
        'Iniciar un nuevo libro en Excel
        oExcel = CreateObject("Excel.Application")
        oBook = oExcel.Workbooks.Open("C:\Users\Packard Bell\Desktop\Viscosidad.xlsx")
        oSheet1 = oBook.Worksheets("Hoja2")
 Dim stConexion1 As New MySqlConnection("server= localhost; user id = root; password =; database = basededatos2") 'este es el codigo que funciona para office 2007 y 2010

 Dim col  As New DataGridViewTextBoxColumn
 col.Name = "DATOS"
     

        DataGridView42.Columns.Add(col)
        DataGridView42.Rows.Add(60)



        Dim a As Integer

        For j = 0 To DataGridView42.RowCount - 1
            For j = 1 To 60
                DataGridView42.Rows(j).Cells(0).Value = CDbl(oSheet1.Range("a" & j).Value)
            Next
        Next

     
        stConexion1.Open()

El problema es que no funciona. Sólo consigo que todas las celdas de la columna del datagridview se complete con 0. Creo que el fallo esta en que faltan poner comillas en la expresión:
oSheet1.Range("a" & j).Value

pero todas las pruebas que he hecho no han salido, por lo que ya no se si es ahí donde está el error. Tampoco me sale ningún mensaje de error, únicamente se completa la columna con 0.
¿Alguien sabe donde podría encontrarse el error? Gracias.
Saludos,


5
Hola a tod@s.

Estoy intentando hacer un gráfico con los datos que tengo en una tabla en MySQL.
La tabla consta de dos columnas X e Y.

El problema es que no consigo hacer un gráfico de dispersión con los datos. Sí que he conseguido hacer gráficos lineales, de barras etc pero no el que necesito. He intentado descargarme el MSChart, pero la opción MSChart.chartType = vtchCharttype2dxy no la reconoce.

A alguien a tenido el mismo problema y ha conseguido encontrar una solución? Gracias.

6
Hola a tod@s, he terminado de realizar una aplicación con lenguaje visual basic que conecta con una base de datos MySQL. La aplicación la he realizado con Visual Studio Express 2010, que me descargué gratuitamente de la página de visual studio. Me gustaría poder ampliar y mejorar la aplicación y poder realizar otras, por lo que he pensado en adquirir algún paquete de pago de visual studio. ¿Alguien podría aconsejarme cuál adquirir? He entrado en la página de microsoft pero no consigo decidirme por ninguno.

Gracias y saludos.




7
Hola, estoy haciendo una nueva aplicación con visual studio. Comencé utilizando las herramientas gratuitas que ofrece Visual Studio 2010 Express, pero hace poco me descargue las herramientas de Devcomponents Dotnetbar. Lo que sucede es que si en el Form sólo utilizo las herramientas de Visual Studio 2010 Express no tengo problema, pero si utilizo en el Form herramientas de Visual Studio 2010 Express y herramientas de DevComponents Dotnetbar, entonces la aplicación no me funciona poruqe todas las instrucciones que he puesto en el Form1_load es como si no hiciera ni caso.
Mi pregunta es si ¿es posible en un mismo Formulario utilizar herramientas de distintos paquetes? o por el contrario ¿sólo se puede utilizar herramientas de DevComponents o herramientas de Visual Studio?

Espero que haberme podido explicar bien y  que alguien pueda aclararme mis dudas.

Saludos.

8
Hola, estoy intentando pasar los datos de un datagridview a otro datagridview, de forma que los HeaderText del primer datagridview se me copian en las filas de la primera columna del segundo datagridview (sería algo así como transponer filas por columnas en los datagridviews)

Como el primer datagridview tiene muchas columnas, me gustaría poder hacerlo mediante bucles: el datagridview25 es el que tiene los 79 Headertext que hay que poner en las filas de la primera columna del datagridview31


Código: [Seleccionar]
For i = 0 To DataGridView25.ColumnCount - 1

            Dim j As Integer

            For j = 0 To DataGridView31.RowCount - 1
                DataGridView31.Rows(j + 1).Cells(0).Value = DataGridView25.Columns(i).HeaderText
            Next


        Next

Pero cuando aplico el código me sale error:
El índice estaba fuera del intervalo. Debe ser un valor no negativo e inferior al tamaño de la colección.
Nombre del parámetro: index


Básicamente lo que necesito conseguir es lo siguiente

datagridview25

id    nombre      código       color
0      Luis             95           azul
1      José            102          verde
2      Eva             200          rojo



datagridview31

nombre     Luis
código       95
color          azul

¿Alguien sabría que hay incorrecto en el bucle? Gracias.

9
Hola,
Tengo que sumar una fila en un datagridview similar a la siguiente:

Columna 1  columna 2    Columna 3   Columna 4      Columna 5
      As.            Re.                1,2             0,15
      Po.            Fu.                0,12
      Po.            Re.                                  4,5
      As.            Lo.                1,56            3,56

Los valores de la columna 1 y 2 son letras pero los valores de las columnas 3 y 4 son numéricos. La idea es que cuando modificó o introduzco un dato en las columnas 3 o 4, automáticamente aparezca la suma en la columna 5.

El datagridview esta enlazado a una base de datos sql.

He estado buscando por los foros y aparte de que todo lo que encuentro es para sumar columnas, no se cómo aplicar la función SUM a mi caso particular.

Alguien sabe o tiene alguna idea de cómo podría hacerse esto?

Espero alguien pueda ayudarme...

10
Hola, tengo un problema a la hora de insertar datos de un datagridview a una base de datos mysql. El problema es el siguiente:

Tengo un datagridview con dos columnas. La columna 1 la he transformado en una Datagridviewcomboboxcolumn y la columna 2 son textbox.

La combobox de la columna 1 automáticamente se llenan con los datos que hay en una tabla de mysql. y los textbox de la columna 2 lo lleno manualmente con datos numéricos.
Mediante un botón inserto los datos del datagridview en una Tabla de mysql.

Los datos del la columna del datagridviewcomboboxcolumn son los encabezados de la tabla FORMULAS de Mysql donde inserto los datos de la columna 2 del datagridview.

Intentaré explicarme mejor:

datos que aparecen al desplegar el datagridviewcomboboxcolumn:

Azul oscuro
Blanco grisáceo
Amarillo plata

Encabezado de la tabla Mysql donde introduzco los datos de la columna 2:

id    Azul oscuro    Blanco grisáceo    Amarillo plata



Los datos los introduzco mediante la función:

    Dim UNO As String

       UNO = CDbl(DataGridView1.Rows(0).Cells(1).Value).ToString()
       
     
 Dim servidor As New MySqlCommand("INSERT INTO Formulas _
( "+DataGridView1.Rows(0).Cells(0).Value.ToString + ") values ('" & UNO & "')", stConexion)



El problema es que me sale un error porque los combobox del datagridview los cargo con palabras separadas, es decir:  Azul oscuro, Blanco grisáceo etc. Al igual que los encabezados de la Tabla FORMULAS, que son el mismo texto.
En cambio si tanto en los encabezados de la tabla como en los combobox , escribo:
Azuloscuro, Blancogrisaceo y Amarilloplata, me los inserta sin ningún problema.

Espero que se me haya entendido.

¿Alguien sabe a que es debido esto?

11
Hola,
estoy intentando que en un datagridview, las columnas que están completamente vacías (a excepción del nombre del campo) se mantengan ocultas. Tengo un datagridview que está asociado a algunas tablas de una base de datos Access.
Según la tabla que importo desde la base de datos, aunque los nombres y el número de columnas es siempre el mismo, hay veces que hay columnas que están vacías y otras que están llenas. Básicamente lo que se muestra en el datagridview es lo siguiente:

Columna 1   Columna 2   Columna 3   Columna 4
      1                                                      36
                        45                                  45
      2                 37                                105
      4                                                     205

según el ejemplo anterior, lo que estoy intentando sería que en el datagridview aparecieran solamente las Columnas 1, 2 y 4. Mientras que la Columna 3 debería permanecer oculta.
Bueno para ello, he hecho el siguiente código para cada una de las columnas:

   DataGridView11.Columns("Columna1").Visible = False

            Dim ira As Boolean
            Dim i As Integer
            For i = 0 To DataGridView11.Rows.Count - 1
            If IsDBNull(DataGridView11.Rows(i).Cells("Columna1").Value) Then
                    ira = False
                    DataGridView11.Columns("Columna1").Visible = False
                   
                Else
                    ira = True
                    Exit For
                End If
            Next i

            If ira Then

                DataGridView11.Columns("Columna1").Visible = True

            End If


Primero lo que digo es que todas las columnas estén ocultas (DataGridView11.Columns("Columna1").Visible = False)

Después le indico que recorra las filas de esa columna (For Next) y que cuando encuentre un valor, entonces  debe hacer que la columna sea visible (DataGridView11.Columns("Columna1").Visible = True) y que se detenga (Exit For).
Lo que sucede es que no consigo que me salga y no tengo ni idea de que estoy haciendo mal. ¿Alguien sabría que código se debe utilizar para conseguir esto? Gracias.
Saludos,
 





12
Hola,
sigo haciendo una aplicación con VB 2010 y tengo la siguiente duda que no se ni como empezar. Bueno, mi problema es el siguiente:
Tengo un datagridview con la fila de encabezado y tres filas más tal como muestro a continuación:

VALOR1   VALOR2    VALOR3    VALOR4    VALOR5
     2            4              5.5          0.6           7.8     
    1.2          2.3           8.6          1.2           5.3
    0.5          3.8            1.2          0.5          2.3


Las tres filas contienen números con decimales. Lo que intento es que a través de un button se puede conseguir los siguiente:
Si en la columna VALOR1, el número de la fila 2 (en este caso 1.2) sea mayor que el valor de la fila 1 (2) o menor que el valor de la fila 3 (0.5),  el número 1.2 aparezca de color rojo. y si está dentro del intervalo, se mantenga de color negro. Y hacer esto mismo con los valores de las cinco columnas.
Espero que alguien sepa como hacerlo o quizás darme alguna idea de como debería hacerse. Gracias y saludos.

13
Hola,
he estado buscando información de como filtrar en un datagridview mediante un combobox. Pero no consigo encontrar lo que busco. Mi problema es el siguiente:
los datos del datagridview los importo desde un hoja Excel.
en el Form tengo un datagridview con mis datos , un combobox y un BindingSource1.
Mi idea es que según lo que escriba dentro del combobox, se filtre por los datos que hay en la columna 2 del datagridview. He estado buscando que en las propiedades del dataviewgrid, en el datasource debo seleccionar BindigSource1. Pero cuando hago esto me aparece el error:

el índice estaba fuera del intervalo. Debe ser un valor no negativo e inferior al tamaño de la colección. Nombre del parámetro:index

y entonces no se carga el datagridview con los datos de la hoja Excel.

Adjunto mi base de datos por si alguien pudiera darme algún consejo. Gracias.

14
Hola de nuevo,
estoy intentando importar datos de un varias hojas Excel a un datagridview en visual basic 2010. Mi duda es la siguiente, ¿en el caso de que consiga hacerlo, después podré trabajar con los datos? es decir, ¿podré hacer cálculos con ellos, modificar, etc? ¿o el datagridview, sólo sirve para visualizarlos? Gracias.

15
Hola,
estoy siguiendo el Curso de Programación en Visual Basic Nivel I de vuestra web y me he descargado el Visual Basic 2010 Express desde el enlace que dais en el curso.
El problema que tengo es que a la hora de copiar los ejemplos que dais en el curso en la hoja del código de mi formulario, las expresiones de Dim y Private Sub me aparecen subrayadas de azul y además me aparece el error "La instrucción no es válida en un espacio de nombres". ¿Sabéis como podría solucionar este error? Acabo de empezar y no tengo ni idea de como solucionarlo. Gracias.

Páginas: [1]

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".