miércoles, 13 de diciembre de 2017

Macro Exportar a txt


Sub proceso()
'por luismondelo
ruta = ActiveWorkbook.Path & "\"
Open ruta & "ejemplo.txt" For Output As #1
Range("a2").Select
Do While ActiveCell.Offset(0, 1).Value <> ""
ubica = ActiveCell.Address
Do While ActiveCell.Column < 75
If ActiveCell.Value <> "" Then
lista = lista & "|" & ActiveCell.Value
End If
ActiveCell.Offset(0, 1).Select
Loop
lista = Mid(lista, 2, Len(lista) - 1)
Print #1, lista
lista = ""
Range(ubica).Offset(1, 0).Select
Loop
Close #1
MsgBox "Se ha creado el txt en la ruta: " & ruta
End Sub

martes, 5 de diciembre de 2017

Generacion de Alfanumerico Aleatorio

sub aleatorio()

        Dim cod_ale As String
        Dim Letters As New List(Of Integer)

        'codigos ASCII numericos
        For i As Integer = 48 To 57
            Letters.Add(i)
        Next

        'codigos ASCII letras minusculas
     
        For i As Integer = 97 To 122
        Letters.Add(i)
        Next
       
       'codigos ASCII letras mayusculas
       
        For i As Integer = 65 To 90
        Letters.Add(i)
        Next
       
      'colocamos la cantidad de carracteres para nuestro autogenerado (6)
       
        Dim Rnd As New Random
        Dim SB As New System.Text.StringBuilder
        Dim Temp As Integer

        For count As Integer = 1 To 6
            Temp = Rnd.Next(0, Letters.Count)
            SB.Append(Chr(Letters(Temp)))
        Next

        cod_ale = SB.ToString

end sub

jueves, 17 de agosto de 2017

Cargar Archivos a SQL

BULK

INSERT TIENDA
FROM 'D:\BASES DE DATOS\DATOS.txt'--Ruta archivo
WITH

( FIELDTERMINATOR = ',', --separa campos
  ROWTERMINATOR = '\n' ) --separa filas

GO

viernes, 4 de agosto de 2017

Importar Excel a Visual Studio 2015

Sub importarExcel(ByVal tabla As DataGridView)
        Dim myFileDialog As New OpenFileDialog()
        Dim xSheet As String = ""


        With myFileDialog
            .Filter = "Excel Files |*.xlsx"
            .Title = "Open File"
            .ShowDialog()
        End With
        If myFileDialog.FileName.ToString <> "" Then
            Dim ExcelFile As String = myFileDialog.FileName.ToString



            Dim ds As New DataSet
            Dim da As OleDbDataAdapter
            Dim dt As DataTable
            Dim conn As OleDbConnection



            xSheet = InputBox("Digite el nombre de la Hoja que desea importar", "Complete")
            conn = New OleDbConnection( _
                              "Provider=Microsoft.ACE.OLEDB.12.0;" & _
                              "data source=" & ExcelFile & "; " & _
                             "Extended Properties='Excel 12.0 Xml;HDR=Yes'")

            Try
                da = New OleDbDataAdapter("SELECT * FROM  [" & xSheet & "$]", conn)

                conn.Open()
                da.Fill(ds, "MyData")
                dt = ds.Tables("MyData")
                tabla.DataSource = ds
                tabla.DataMember = "MyData"
            Catch ex As Exception
                MsgBox("Inserte un nombre valido de la Hoja que desea importar", MsgBoxStyle.Information, "Informacion")
            Finally
                conn.Close()
            End Try
End If

        MsgBox("Tabla cargada exitosamente", MsgBoxStyle.Information, "Importado con exito")
    End Sub

miércoles, 2 de agosto de 2017

Recorrer una tabla sin Cursor en SQL

--Creamos una tabla temporal con un campo clave de tipo integer identity

DECLARE @Tmp_Cliente TABLE(
   Id int identity(1,1) not null primary key
  ,DNI varchar(100) not null
  ,Nombre varchar(100) null
)
--Insertamos en la tabla declarada la consulta que queremos obtener

INSERT INTO @Tmp_Cliente(Dni,nombre)
SELECT TOP 10  Dni,Nombre
FROM Cliente

DECLARE @nRegistros Int --Almacena la cantidad de registro que retorna la consulta.
SET @nRegistros=(SELECT COUNT(*) FROM @Tmp_Cliente)
DECLARE @nWhile Int --Almacenará la cantidad de veces que se esta recorriendo en el Bucle.
SET @nWhile=1

--Recorremos la tabla mediante un bucle While.
WHILE(@nRegistros>0 AND @nWhile<=@nRegistros)
BEGIN

DECLARE @Dni VARCHAR(8)
SET @Dni=(SELECT Dni FROM @Tmp_Cliente WHERE Id=@nWhile)
--usar los valores de la tabla para realizar cualquier accion (Insert, Update, Delete)
--En este caso solo se va a imprimir el Dni.

PRINT @Dni

SET @nWhile=@nWhile+1
END

martes, 4 de julio de 2017

Crear Cursor en un Pivot Dinamico



declare
@columns nvarchar(MAX),
@sql nvarchar(MAX)

SET @columns = STUFF((
SELECT ',' + QUOTENAME(campo)
FROM (SELECT DISTINCT campo FROM #temp3) AS T ORDER BY campo
FOR XML PATH('')), 1, 1, '');

SET @sql = N'
SELECT * into [tempdb].[dbo].[temptable] FROM
(select cid_vend,campo,avance from #temp3) as r
PIVOT
(
sum(avance)
FOR campo IN (' + @columns + N')
) AS producto';

EXEC sys.sp_executesql @sql;
SELECT * into #temp4 FROM [tempdb].[dbo].[temptable]

Macro Exportar a txt

Sub proceso () 'por luismondelo ruta = ActiveWorkbook.Path & "\" Open ruta & "ejemplo.txt" For Output As ...