Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - ANALISI DATABASE
Forum - Visual Basic 6 - ANALISI DATABASE

Avatar
BOBSS1 (Normal User)
Newbie


Messaggi: 7
Iscritto: 08/09/2006

Segnala al moderatore
Postato alle 11:10
Venerdì, 08/09/2006
Buon giorno a tutti, ho iniziato da pochi gg a studiare vb 6, per cercare di risolvere questo tipo di problema inerente ad un foglio elettronico:
Su un foglio excel, ho questo tipo di schema:

NEGOZI----B----C------D-----E-----F-----G

NEG 1-----1----18----12----170----66----9
NEG 2-----11--200-----4-----67----33----2
NEG 3-----12---75---170-----86-----9--112
NEG 4----200---17----67----199-----2---11    
NEG 5----170---86-----9----112----75---12

Tenendo presente che i parametri B,C,D,E,F,G, sono tutti valori da 1 a 200, e che i negozi possono essere anche qualche migliaio, come faccio a sapere  quali sono le combinazioni presenti più frequenti, che presentano da un min. di 3 ad un max di 6 parametri uguali?

(vedi esempio qui di seguito inerente a schema riportato )

COMBINAZIONI  PRESENTI----FREQUENZE
9-12- 170---------------------3    
2-200-11-67-------------------2    
75-86-112---------------------2    

Vi ringrazio  per l’ospitalità, ed anche per un eventuale aiuto.
;):d:d:d;);););););)

Ultima modifica effettuata da BOBSS1 il 08/09/2006 alle 11:25
PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 12:10
Venerdì, 08/09/2006
edit: ho detto una cazzata lascia stare dammi qualche ora in +



adesso non mi sono mai cimentato di far interagire vb con excel ma se riesci atrasportare i valori in delle matrici e poi fai cosi
dim x as integer
dim y as integer
dim coordinate(1 To 1000, 1 To 1000) as integer
dim quantità(1 to 200) as integer
For x = 1 to 100
for y= 1 to 100
quantità(coordinate(x,y))=quantità(coordinate(x,y))+1
next y
next x


Ultima modifica effettuata da il 08/09/2006 alle 12:58
PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 15:00
Venerdì, 08/09/2006
ok c'ho messo un bel po ma alla fine ho risolto
pultroppo non ti calcola per piu di tre combinazioni
cioè se tu vuoi sapere quantre volte quattro numeri appaiono nei mille negozi è impossibile perchè vai fuori di memoria. io ti do il calcolo per tutti e sei però ho dovuto mettere l'apice perchè altrimenti non riesce a partire.


edit: devi trovare il modo di riempire la matrice coordinate con le tue


nella form serve una listbox e un pulsante

Codice sorgente - presumibilmente VB.NET

  1. Option Explicit
  2. Dim x As Integer
  3. Dim y As Integer
  4. Dim z As Integer
  5. Dim w As Integer
  6. Dim k As Integer
  7. Dim coordinate(1 To 6, 1 To 1000) As Integer
  8. Dim combinazionida2(1 To 200, 1 To 200) As Integer
  9. Dim combinazionida3(1 To 200, 1 To 200, 1 To 200) As Integer
  10. 'Dim combinazionida4(1 To 200, 1 To 200, 1 To 200, 1 To 200) As Integer
  11. 'Dim combinazionida5(1 To 200, 1 To 200, 1 To 200, 1 To 200, 1 To 200) As Integer
  12. 'Dim combinazionida6(1 To 200, 1 To 200, 1 To 200, 1 To 200, 1 To 200, 1 To 200) As Integer
  13.  
  14.  
  15.  
  16.  
  17. Private Sub Command1_Click()
  18. For y = 1 To 1000
  19.  
  20.  
  21. combinazionida2(coordinate(1, y), coordinate(2, y)) = combinazionida2(coordinate(1, y), coordinate(2, y)) + 1
  22. combinazionida2(coordinate(1, y), coordinate(3, y)) = combinazionida2(coordinate(1, y), coordinate(3, y)) + 1
  23. combinazionida2(coordinate(1, y), coordinate(4, y)) = combinazionida2(coordinate(1, y), coordinate(4, y)) + 1
  24. combinazionida2(coordinate(1, y), coordinate(5, y)) = combinazionida2(coordinate(1, y), coordinate(5, y)) + 1
  25. combinazionida2(coordinate(1, y), coordinate(6, y)) = combinazionida2(coordinate(1, y), coordinate(6, y)) + 1
  26. combinazionida2(coordinate(2, y), coordinate(3, y)) = combinazionida2(coordinate(2, y), coordinate(3, y)) + 1
  27. combinazionida2(coordinate(2, y), coordinate(4, y)) = combinazionida2(coordinate(2, y), coordinate(4, y)) + 1
  28. combinazionida2(coordinate(2, y), coordinate(5, y)) = combinazionida2(coordinate(2, y), coordinate(5, y)) + 1
  29. combinazionida2(coordinate(2, y), coordinate(6, y)) = combinazionida2(coordinate(2, y), coordinate(6, y)) + 1
  30. combinazionida2(coordinate(3, y), coordinate(4, y)) = combinazionida2(coordinate(3, y), coordinate(4, y)) + 1
  31. combinazionida2(coordinate(3, y), coordinate(5, y)) = combinazionida2(coordinate(3, y), coordinate(5, y)) + 1
  32. combinazionida2(coordinate(3, y), coordinate(6, y)) = combinazionida2(coordinate(3, y), coordinate(6, y)) + 1
  33. combinazionida2(coordinate(4, y), coordinate(5, y)) = combinazionida2(coordinate(4, y), coordinate(5, y)) + 1
  34. combinazionida2(coordinate(4, y), coordinate(6, y)) = combinazionida2(coordinate(4, y), coordinate(6, y)) + 1
  35. combinazionida2(coordinate(5, y), coordinate(6, y)) = combinazionida2(coordinate(5, y), coordinate(6, y)) + 1
  36.  
  37. combinazionida3(coordinate(1, y), coordinate(2, y), coordinate(3, y)) = combinazionida3(coordinate(1, y), coordinate(2, y), coordinate(3, y)) + 1
  38. combinazionida3(coordinate(1, y), coordinate(2, y), coordinate(4, y)) = combinazionida3(coordinate(1, y), coordinate(2, y), coordinate(4, y)) + 1
  39. combinazionida3(coordinate(1, y), coordinate(2, y), coordinate(5, y)) = combinazionida3(coordinate(1, y), coordinate(2, y), coordinate(5, y)) + 1
  40. combinazionida3(coordinate(1, y), coordinate(2, y), coordinate(6, y)) = combinazionida3(coordinate(1, y), coordinate(2, y), coordinate(6, y)) + 1
  41. combinazionida3(coordinate(1, y), coordinate(3, y), coordinate(4, y)) = combinazionida3(coordinate(1, y), coordinate(3, y), coordinate(4, y)) + 1
  42. combinazionida3(coordinate(1, y), coordinate(3, y), coordinate(5, y)) = combinazionida3(coordinate(1, y), coordinate(3, y), coordinate(5, y)) + 1
  43. combinazionida3(coordinate(1, y), coordinate(3, y), coordinate(6, y)) = combinazionida3(coordinate(1, y), coordinate(3, y), coordinate(6, y)) + 1
  44. combinazionida3(coordinate(1, y), coordinate(4, y), coordinate(5, y)) = combinazionida3(coordinate(1, y), coordinate(4, y), coordinate(5, y)) + 1
  45. combinazionida3(coordinate(1, y), coordinate(4, y), coordinate(6, y)) = combinazionida3(coordinate(1, y), coordinate(4, y), coordinate(6, y)) + 1
  46. combinazionida3(coordinate(1, y), coordinate(5, y), coordinate(6, y)) = combinazionida3(coordinate(1, y), coordinate(5, y), coordinate(6, y)) + 1
  47. combinazionida3(coordinate(2, y), coordinate(3, y), coordinate(4, y)) = combinazionida3(coordinate(2, y), coordinate(3, y), coordinate(4, y)) + 1
  48. combinazionida3(coordinate(2, y), coordinate(3, y), coordinate(5, y)) = combinazionida3(coordinate(2, y), coordinate(3, y), coordinate(5, y)) + 1
  49. combinazionida3(coordinate(2, y), coordinate(3, y), coordinate(6, y)) = combinazionida3(coordinate(2, y), coordinate(3, y), coordinate(6, y)) + 1
  50. combinazionida3(coordinate(2, y), coordinate(4, y), coordinate(5, y)) = combinazionida3(coordinate(2, y), coordinate(4, y), coordinate(5, y)) + 1
  51. combinazionida3(coordinate(2, y), coordinate(4, y), coordinate(6, y)) = combinazionida3(coordinate(2, y), coordinate(4, y), coordinate(6, y)) + 1
  52. combinazionida3(coordinate(2, y), coordinate(5, y), coordinate(6, y)) = combinazionida3(coordinate(2, y), coordinate(5, y), coordinate(6, y)) + 1
  53. combinazionida3(coordinate(3, y), coordinate(4, y), coordinate(5, y)) = combinazionida3(coordinate(3, y), coordinate(4, y), coordinate(5, y)) + 1
  54. combinazionida3(coordinate(3, y), coordinate(4, y), coordinate(6, y)) = combinazionida3(coordinate(3, y), coordinate(4, y), coordinate(6, y)) + 1
  55. combinazionida3(coordinate(3, y), coordinate(5, y), coordinate(6, y)) = combinazionida3(coordinate(3, y), coordinate(5, y), coordinate(6, y)) + 1
  56. combinazionida3(coordinate(4, y), coordinate(5, y), coordinate(6, y)) = combinazionida3(coordinate(4, y), coordinate(5, y), coordinate(6, y)) + 1
  57.  
  58. 'combinazionida4(coordinate(1, y), coordinate(2, y), coordinate(3, y), coordinate(4, y)) = combinazionida4(coordinate(1, y), coordinate(2, y), coordinate(3, y), coordinate(4, y)) + 1
  59. 'combinazionida4(coordinate(1, y), coordinate(2, y), coordinate(3, y), coordinate(5, y)) = combinazionida4(coordinate(1, y), coordinate(2, y), coordinate(3, y), coordinate(5, y)) + 1
  60. 'combinazionida4(coordinate(1, y), coordinate(2, y), coordinate(3, y), coordinate(6, y)) = combinazionida4(coordinate(1, y), coordinate(2, y), coordinate(3, y), coordinate(6, y)) + 1
  61. 'combinazionida4(coordinate(1, y), coordinate(2, y), coordinate(4, y), coordinate(5, y)) = combinazionida4(coordinate(1, y), coordinate(2, y), coordinate(4, y), coordinate(5, y)) + 1
  62. 'combinazionida4(coordinate(1, y), coordinate(2, y), coordinate(4, y), coordinate(6, y)) = combinazionida4(coordinate(1, y), coordinate(2, y), coordinate(4, y), coordinate(6, y)) + 1
  63. 'combinazionida4(coordinate(1, y), coordinate(2, y), coordinate(5, y), coordinate(6, y)) = combinazionida4(coordinate(1, y), coordinate(2, y), coordinate(5, y), coordinate(6, y)) + 1
  64. 'combinazionida4(coordinate(1, y), coordinate(3, y), coordinate(4, y), coordinate(5, y)) = combinazionida4(coordinate(1, y), coordinate(3, y), coordinate(4, y), coordinate(5, y)) + 1
  65. 'combinazionida4(coordinate(1, y), coordinate(3, y), coordinate(5, y), coordinate(6, y)) = combinazionida4(coordinate(1, y), coordinate(3, y), coordinate(4, y), coordinate(6, y)) + 1
  66. 'combinazionida4(coordinate(1, y), coordinate(3, y), coordinate(4, y), coordinate(6, y)) = combinazionida4(coordinate(1, y), coordinate(3, y), coordinate(5, y), coordinate(6, y)) + 1
  67. 'combinazionida4(coordinate(1, y), coordinate(4, y), coordinate(5, y), coordinate(6, y)) = combinazionida4(coordinate(1, y), coordinate(4, y), coordinate(5, y), coordinate(6, y)) + 1
  68. 'combinazionida4(coordinate(2, y), coordinate(3, y), coordinate(4, y), coordinate(5, y)) = combinazionida4(coordinate(2, y), coordinate(3, y), coordinate(4, y), coordinate(5, y)) + 1
  69. 'combinazionida4(coordinate(2, y), coordinate(3, y), coordinate(4, y), coordinate(6, y)) = combinazionida4(coordinate(2, y), coordinate(3, y), coordinate(4, y), coordinate(6, y)) + 1
  70. 'combinazionida4(coordinate(2, y), coordinate(3, y), coordinate(5, y), coordinate(6, y)) = combinazionida4(coordinate(2, y), coordinate(3, y), coordinate(5, y), coordinate(6, y)) + 1
  71. 'combinazionida4(coordinate(2, y), coordinate(4, y), coordinate(5, y), coordinate(6, y)) = combinazionida4(coordinate(2, y), coordinate(4, y), coordinate(5, y), coordinate(6, y)) + 1
  72. 'combinazionida4(coordinate(3, y), coordinate(4, y), coordinate(5, y), coordinate(6, y)) = combinazionida4(coordinate(3, y), coordinate(4, y), coordinate(5, y), coordinate(6, y)) + 1
  73.  
  74. 'combinazionida5(coordinate(1, y), coordinate(2, y), coordinate(3, y), coordinate(4, y), coordinate(5, y)) = combinazionida5(coordinate(1, y), coordinate(2, y), coordinate(3, y), coordinate(4, y), coordinate(5, y)) + 1
  75. 'combinazionida5(coordinate(1, y), coordinate(2, y), coordinate(3, y), coordinate(4, y), coordinate(6, y)) = combinazionida5(coordinate(1, y), coordinate(2, y), coordinate(3, y), coordinate(4, y), coordinate(6, y)) + 1
  76. 'combinazionida5(coordinate(1, y), coordinate(2, y), coordinate(3, y), coordinate(5, y), coordinate(6, y)) = combinazionida5(coordinate(1, y), coordinate(2, y), coordinate(3, y), coordinate(5, y), coordinate(6, y)) + 1
  77. 'combinazionida5(coordinate(1, y), coordinate(2, y), coordinate(4, y), coordinate(5, y), coordinate(6, y)) = combinazionida5(coordinate(1, y), coordinate(2, y), coordinate(4, y), coordinate(5, y), coordinate(6, y)) + 1
  78. 'combinazionida5(coordinate(1, y), coordinate(3, y), coordinate(4, y), coordinate(5, y), coordinate(6, y)) = combinazionida5(coordinate(1, y), coordinate(2, y), coordinate(4, y), coordinate(5, y), coordinate(6, y)) + 1
  79. 'combinazionida5(coordinate(2, y), coordinate(3, y), coordinate(4, y), coordinate(5, y), coordinate(6, y)) = combinazionida5(coordinate(1, y), coordinate(2, y), coordinate(4, y), coordinate(5, y), coordinate(6, y)) + 1
  80.  
  81. 'combinazionida6(coordinate(1, y), coordinate(2, y), coordinate(3, y), coordinate(4, y), coordinate(5, y), coordinate(6, y)) = combinazionida6(coordinate(1, y), coordinate(2, y), coordinate(3, y), coordinate(4, y), coordinate(5, y), coordinate(6, y)) + 1
  82. Next y
  83. For z = 1 To 200
  84. For k = 1 To 200
  85. For w = 1 To 200
  86. If Not combinazionida3(z, k, w) = 0 Then
  87. List1.AddItem (z & "  " & k & "  " & w & "        " & combinazionida3(z, k, w))
  88. End If
  89. Next w
  90. Next k
  91. Next z
  92.  
  93. For k = 1 To 200
  94. For w = 1 To 200
  95. If Not combinazionida2(k, w) = 0 Then
  96. List1.AddItem (k & "  " & w & "        " & combinazionida2(k, w))
  97. End If
  98. Next w
  99. Next k
  100.  
  101.  
  102. End Sub


Ultima modifica effettuata da il 08/09/2006 alle 15:02
PM Quote
Avatar
BOBSS1 (Normal User)
Newbie


Messaggi: 7
Iscritto: 08/09/2006

Segnala al moderatore
Postato alle 1:37
Sabato, 09/09/2006
Scusa se non ti ho risposto prima ma sono rientrato dal lavoro molto tardi per cui solo ora posso postare.
Grazie di tutto, sei veramente gentilissmo.
Come dicevo nel msg, ho iniziato da pochi gg a studiarmi vb6, per cui matrici, listbox e quant'altro sono tutte cose a me sconosciute.
Ora voglio provare a vedere se ce la faccio a venirne a capo da solo, altrimenti proverò a mandarti un e-mail se me lo permetti, allegandoti il file excel. Grazie

                       Bobss1

Ultima modifica effettuata da BOBSS1 il 09/09/2006 alle 1:39
PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 18:17
Sabato, 09/09/2006
ok ci sono.
c'è un enorme bug.
i  valori vanno riordinati sennò ti conta 7-9 divgerso da 9-7
devi fare che li compari e li metta in oprdine crescente o decrescente. il resto è ok.

Codice sorgente - presumibilmente VB.NET

  1. For y = 1 To 1000
  2. For x = 2 To 6
  3. If coordinate(1, y) > coordinate(x, y) Then
  4. j = coordinate(1, y)
  5. coordinate(1, y) = coordinate(x, y)
  6. coordinate(x, y) = j
  7. End If
  8. Next x
  9. For x = 3 To 6
  10. If coordinate(2, y) > coordinate(x, y) Then
  11. j = coordinate(2, y)
  12. coordinate(2, y) = coordinate(x, y)
  13. coordinate(x, y) = j
  14. End If
  15. Next x
  16. For x = 4 To 6
  17. If coordinate(3, y) > coordinate(x, y) Then
  18. j = coordinate(3, y)
  19. coordinate(3, y) = coordinate(x, y)
  20. coordinate(x, y) = j
  21. End If
  22. Next x
  23. For x = 5 To 6
  24. If coordinate(4, y) > coordinate(x, y) Then
  25. j = coordinate(4, y)
  26. coordinate(4, y) = coordinate(x, y)
  27. coordinate(x, y) = j
  28. End If
  29. Next x
  30. If coordinate(5, y) > coordinate(6, y) Then
  31. j = coordinate(5, y)
  32. coordinate(5, y) = coordinate(6, y)
  33. coordinate(6, y) = j
  34. End If
  35. Next y










evita l'e-mail. se riesci posta qui.
se mandi un e-mail avvisa qui.
se non mi trovi qui manda pure un'e-mail

Ultima modifica effettuata da il 10/09/2006 alle 13:50
PM Quote
Avatar
BOBSS1 (Normal User)
Newbie


Messaggi: 7
Iscritto: 08/09/2006

Segnala al moderatore
Postato alle 1:20
Venerdì, 15/09/2006
Purtroppo non sono riuscito a mettere a frutto le tue indicazioni, e di questo me ne dispiaccio molto per il tempo che ti ho fatto perdere.
Per cui il problema è ancora irrisolto; ho trovato un modo diverso di approcciare il problema e l'ho ripostato su questo forum, intitolando il post "LOOP VB in Excel", per cui se puoi darmi una mano a risolvere il vecchio, devo mandarti il file xl, in qualche maniera o qui o via e-mail, grazie ancora e "AD MAIORA".

PM Quote