Autor
|
Tema: [SOLUCIONADO] Agregar Registro (Leído 3,308 veces)
|
VanHan
Desconectado
Mensajes: 41
.:: [ vHn ] ::.
|
Bueno como ven en la imágen, mi idea es añadir un separador en esas posiciones, donde estan las lineas en rojo. - Pero q es lo q pasa... Bueno si intentamos añadir los separadores en medio del codigo 3 y 4, al añadirlo y ordenarlo, se pondra abajo de el ultimo dato que tenga la fecha 08/07/2010, ¿pq? bueno porque esta ordenado por fechas el ListView, ahora si consulto, ¿cómo ariamos para ordenarlo en medio del codeigo 3 y 4 y q quede ordenado por fecha?
Esto pasa cuando añado entre 3 y 4 un sepadador. - Aclaro q ordeno por la columna Fecha de Entrega
DB click aquí para descaragar el ejemploGracias a todos por sus ayudas!!! Salu2 [vHn]
|
|
« Última modificación: 23 Noviembre 2010, 12:59 pm por VanHan »
|
En línea
|
.:: I'm GeeK ::.
|
|
|
BlackZeroX
Wiki
Desconectado
Mensajes: 3.158
I'Love...!¡.
|
Agrega otro campo que relacione por categorias es decir Para que quede asi: Codigo | Producto | Fecha | Observacion 1 Prod.1 25/09/2010 Ninguna 2 Prod.2 25/09/2010 Ninguna 3 Prod.3 25/09/2010 Reservado 5 ======= 25/09/2010 ======== 4 Prod.4 26/09/2010 Ninguna Deberas agregar otro campo en tu BDD como es: Agrupacion Codigo | Producto | Fecha | Observacion | Agrupacion 1 Prod.1 25/09/2010 Ninguna 1 2 Prod.2 25/09/2010 Ninguna 1 3 Prod.3 25/09/2010 Reservado 1 5 ======= 25/09/2010 ======== 0 4 Prod.4 26/09/2010 Ninguna 2 Obviamente en agrupacion pones numeros para que te sea factible lo que pides, y en el ListView o DataGrid o sepa Chachito donde los imprimas, No imprimes hay dicho campo solo te ayudaria a ti en lo que deseas. Es una forma basica y simple, en mi caso no agregaria dicha linea separador por espacio en la BDD aun que hay otra obtativa y es esta: Creas una tabla de configuracion ID | Range 0 1-5,8 1 6,7,10-20 ... N {N,N2,Nx-Nn} * Es decir que los registro desde 1 hasta 5 y 8, son un grupo * El siguiente registro es decir 6,7,10 hasta el 20 es otro grupo Es decir: Cada registro es un grupo y estaria delimitado por tu linea que deberas programar por codigo mas no registrar en la BDD por que seria BASURA, en una BDD gorda de datos este metodo es mas factible que el 1ero, por su simplicidad y reduccion de datos en la misma. OJO PRECAUCIÓN: Este metodo de relacion de uno a muchos o muchos a muchos, asi que tu codigo de registro debera ser de precision de lo contrario crearas relaciones de muchos a muchos si es que no tienes delimitado tus bases, la ventaja que es Maniobrable /Dinamico la Desventaja que si usas PL/SQL seria mejor usar la 1ra optativa... * Donde el campo Range es un campo tipo string que dice de forma simplificada un rango dicho:Puedes usar esta funcion para generar dichos rangos; GetSimplificNumbers[SRC] Abbreviate_Numeric_Array [by *PsYkE1] <-- Trae la funcion para desabreviar = sirve para mi funcion ya que lo rete a hacer dicha funcion de simplificación. Ojo si usas este 2da alternativa entonces el campo Agrupacion de la 1ra solucion se desecharia... Cabe mencionar que esta segunda forma es mas liviana para la BDD y no ocuparia tanto espacio y eso es lo que se busca en una BDD la primera tiene patrones que se pueden omitir con este 2do metodo. P.D.: lo siento por las faltas de ortografia xP. Sangriento Infierno Lunar!¡.
|
|
« Última modificación: 20 Noviembre 2010, 09:20 am por BlackZeroX▓▓▒▒░░ »
|
En línea
|
The Dark Shadow is my passion.
|
|
|
Psyke1
Wiki
Desconectado
Mensajes: 1.089
|
. Vhn puedes utilizar mi clase cCollectionEx.cls; te puede ser útil para comprobar elementos repetidos y demás... (si es que lo necesitas) Black, creo que ahora te gano Añadir mi clase cCollectionEx.clsPego el codigo : '========================================================= ' º Function : Abbreviate_Numeric_Array ' º Author : Mr. Frog © ' º Mail : vbpsyke1@mixmail.com ' º Recommended Websites : ' http://blog.visual-coders.com.ar/ ' http://InfrAngeluX.Sytes.Net/ '========================================================= Option Explicit Option Base 0 Rem Añadir mi clase cCollectionEx.cls Public Function Abbreviate_Numeric_Array(ByRef vNumberList() As Variant) As cCollectionEx If (Not vNumberList) = -1 Then Exit Function Dim cExTemp As New cCollectionEx Dim lActualNumber As Variant Dim lToTalNumbers As Long Dim Q As Long Dim W As Long lToTalNumbers = UBound(vNumberList()) If lToTalNumbers > 2 Then Do While Q <= lToTalNumbers lActualNumber = vNumberList(Q) W = 0 If (Q < lToTalNumbers) Then Do While (vNumberList(Q) + 1 = vNumberList(Q + 1)) Or _ (vNumberList(Q) = vNumberList(Q + 1)) Q = Q + 1 W = W + 1 Loop End If With cExTemp If W > 1 Then .Add lActualNumber & "~" & vNumberList(Q) Else .Add lActualNumber End If End With If Not (W = 1) Then Q = Q + 1 Loop Set Abbreviate_Numeric_Array = cExTemp End If End Function
Ejemplo: Private Sub Form_Load() Dim Q As Long Dim dArray() As Variant Dim sResult As String dArray() = Array(1, 2, 3, 4, 4, 5, 6, 7, 7, 7, 65, 345, 4545, 4546, 4547, 9999999, 9999999999#) With Abbreviate_Numeric_Array(dArray) For Q = 1 To .Count sResult = sResult & .Item(Q) & "|" Next Q End With Debug.Print sResult End Sub
Obtengo esto: 1~7|65|345|4545~4547|9999999|9999999999| Vhn conectate al msn cuando puedas, tengo que hablar contigo... DoEvents! .
|
|
« Última modificación: 21 Noviembre 2010, 00:41 am por Mr. Frog © »
|
En línea
|
|
|
|
BlackZeroX
Wiki
Desconectado
Mensajes: 3.158
I'Love...!¡.
|
. Vhn puedes utilizar mi clase cCollectionEx.cls; te puede ser útil para comprobar elementos repetidos y demás... (si es que lo necesitas) Black, creo que ahora te gano Mi codigo verifica elementos repetidos sin tu clase... ¬¬" que no te has fijado en eso?... ademas tiene la optativa de ordenar el arreglo. ¬¬", lo bueno te tu funcion es que hace corrovoracion de muchos a muchos con este problema, lo malo de la mia es que no lo hace asi, es decir esta secuencia 2,2,2,3,2,2Corregido ahora si lo hacepta solo era agregar Or Lng_ResNumber& < 0 en: Public Function GetSimplificNumbers(ByRef ArrayOfNumbers() As Variant) As String() If (Not ArrayOfNumbers) = -1 Then Exit Function ' // Array entrante, inicializado?. Dim Lng_ArrayTmp$() ' // Colección de Números Simplificados!¡. Dim Lng_Ini&, Lng_End&, Lng_Index& ' // Variables para el Bucle. Dim Lng_AntPosNumber& ' // Indice del Numero anterior (Numero del Array entrante). Dim Lng_ResNumber& ' // residuo de Lng_Index& - Lng_AntPosNumber&. Dim Lng_ArrayCount& ' // Contador de las dimensiones de Lng_ArrayTmp$. Dim Bool_Swith As Boolean ' // swith para saber si se debe simplificar!¡. 'Call Start_QuickSort(ArrayOfNumbers(), AcendetOrder) ' // http://infrangelux.sytes.net/Blog/index.php?option=com_content&view=article&id=14:artquicksortybublesort&catid=2:catprocmanager&Itemid=8 Lng_Ini = LBound(ArrayOfNumbers): Lng_End = UBound(ArrayOfNumbers) If Not isnumber(ArrayOfNumbers(Lng_Ini)) Then Exit Function ReDim Lng_ArrayTmp$(Lng_ArrayCount&) Lng_ArrayTmp$(Lng_ArrayCount&) = ArrayOfNumbers(Lng_Index&) For Lng_Index& = Lng_Ini + 1 To Lng_End Lng_ResNumber& = ArrayOfNumbers(Lng_Index&) - ArrayOfNumbers(Lng_Index& - 1) If Lng_ResNumber& > 1 Then
Cita: GetSimplificNumbers Solo es un simple algoritmo para simplificación de números en un array!¡.
la idea es ingresar números y qué los Simplifique, es decir 1,2,3,4,5,9,10,15,16,17,18,555,342,423,422 los ordena de la siguiente manera: 1~5,9,10,15~18,555,342,423,422 Private Sub Form_Load() Dim arr() As Variant Dim Element As Variant arr() = Array(1, 2, 2, 2, 3, 3, 3, 5, 5, 3, 3, 9, 10, 10, 10, 10, 11, 12, 12, 13, 15, 16, 17, 18, 555, 342, 423, 422, 415, 416, 417) For Each Element In GetSimplificNumbers(arr()) Debug.Print Element Next End Sub
' ' ///////////////////////////////////////////////////////////// ' // Autor: BlackZeroX ( Ortega Avila Miguel Angel ) // ' // // ' // Web: http://InfrAngeluX.Sytes.Net/ // ' // // ' // |-> Pueden Distribuir Este Código siempre y cuando // ' // no se eliminen los créditos originales de este código // ' // No importando qué sea modificado/editado o engrandecido // ' // o achicado, si es en base a este código // ' ///////////////////////////////////////////////////////////// Option Explicit Public Function GetSimplificNumbers(ByRef ArrayOfNumbers() As Variant) As String() If (Not ArrayOfNumbers) = -1 Then Exit Function ' // Array entrante, inicializado?. Dim Lng_ArrayTmp$() ' // Colección de Números Simplificados!¡. Dim Lng_Ini&, Lng_End&, Lng_Index& ' // Variables para el Bucle. Dim Lng_AntPosNumber& ' // Indice del Numero anterior (Numero del Array entrante). Dim Lng_ResNumber& ' // residuo de Lng_Index& - Lng_AntPosNumber&. Dim Lng_ArrayCount& ' // Contador de las dimensiones de Lng_ArrayTmp$. Dim Bool_Swith As Boolean ' // swith para saber si se debe simplificar!¡. 'Call Start_QuickSort(ArrayOfNumbers(), AcendetOrder) ' // http://infrangelux.sytes.net/Blog/index.php?option=com_content&view=article&id=14:artquicksortybublesort&catid=2:catprocmanager&Itemid=8 Lng_Ini = LBound(ArrayOfNumbers): Lng_End = UBound(ArrayOfNumbers) If Not isnumber(ArrayOfNumbers(Lng_Ini)) Then Exit Function ReDim Lng_ArrayTmp$(Lng_ArrayCount&) Lng_ArrayTmp$(Lng_ArrayCount&) = ArrayOfNumbers(Lng_Index&) For Lng_Index& = Lng_Ini + 1 To Lng_End Lng_ResNumber& = ArrayOfNumbers(Lng_Index&) - ArrayOfNumbers(Lng_Index& - 1) If Lng_ResNumber& > 1 Or Lng_ResNumber& < 0 Then If Bool_Swith Then If Lng_AntPosNumber& > 2 Then Lng_ArrayTmp$(Lng_ArrayCount&) = Lng_ArrayTmp$(Lng_ArrayCount&) & "~" & ArrayOfNumbers(Lng_Index& - 1) Else Lng_ArrayCount& = Lng_ArrayCount& + 1 ReDim Preserve Lng_ArrayTmp$(Lng_ArrayCount&) Lng_ArrayTmp$(Lng_ArrayCount&) = ArrayOfNumbers(Lng_Index& - 1) End If End If Lng_ArrayCount& = Lng_ArrayCount& + 1 ReDim Preserve Lng_ArrayTmp$(Lng_ArrayCount&) Lng_ArrayTmp$(Lng_ArrayCount&) = ArrayOfNumbers(Lng_Index&) Bool_Swith = False ElseIf Lng_ResNumber& = 1 Then If Not Bool_Swith Then Lng_AntPosNumber& = 0 Bool_Swith = True If Lng_Index& = Lng_End Then If Conversion.CBool(InStr(1, Lng_ArrayTmp$(Lng_ArrayCount& - 1), "~")) Then Lng_ArrayCount& = Lng_ArrayCount& + 1 ReDim Preserve Lng_ArrayTmp$(Lng_ArrayCount&) Lng_ArrayTmp$(Lng_ArrayCount&) = ArrayOfNumbers(Lng_Index&) Else Lng_ArrayTmp$(Lng_ArrayCount&) = Lng_ArrayTmp$(Lng_ArrayCount&) & "~" & ArrayOfNumbers(Lng_Index&) End If Else Lng_AntPosNumber& = Lng_AntPosNumber& + 1 End If ElseIf Lng_ResNumber& = 0 Then If Lng_AntPosNumber& > 0 Then Lng_AntPosNumber& = Lng_AntPosNumber& + 1 Else Lng_AntPosNumber& = 0 End If End If Next GetSimplificNumbers = Lng_ArrayTmp$ End Function
Dulces Lunas!¡.
|
|
« Última modificación: 20 Noviembre 2010, 18:48 pm por BlackZeroX▓▓▒▒░░ »
|
En línea
|
The Dark Shadow is my passion.
|
|
|
VanHan
Desconectado
Mensajes: 41
.:: [ vHn ] ::.
|
Gracias BlackZeroX▓▓▒▒░░ y Mr. Frog actualice el Post asi ven lo que intento hacer.
Salu2 [vHn]
|
|
« Última modificación: 22 Noviembre 2010, 19:47 pm por VanHan »
|
En línea
|
.:: I'm GeeK ::.
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
[VBSCRIPT] Agregar programa al inicio del sistema por medio del registro?
Scripting
|
chequinho
|
3
|
4,914
|
1 Enero 2012, 00:06 am
por BlackZeroX
|
|
|
Ayuda con Bat para agregar un registro
Hacking
|
krizalidk
|
0
|
2,491
|
15 Agosto 2013, 16:53 pm
por krizalidk
|
|
|
Agregar Registro en BD con ADO
Programación Visual Basic
|
Brian1511
|
0
|
1,627
|
9 Febrero 2015, 18:36 pm
por Brian1511
|
|
|
"No se puede agregar o cambiar el registro porque se necesita un registro relaci
.NET (C#, VB.NET, ASP)
|
Guillito
|
1
|
3,287
|
16 Abril 2015, 21:03 pm
por fran800m
|
|
|
[Ayuda]Agregar registro SVR hostalia para server Minecraft
Bases de Datos
|
thecloudff7
|
0
|
2,972
|
19 Enero 2017, 09:38 am
por thecloudff7
|
|