API do przechowywania atrybutów

Witam
Zaczynając od złożenia, chcę przechowywać atrybuty części i zespołów w tablicy, aby móc wykonywać na niej różne procesy kontroli jakości.

Znam maksymalną liczbę kolumn w mojej nomenklaturze (nb atrybutu ~12), ale nie znam liczby wierszy na początku. Mogę mieć zestawienia materiałów zawierające więcej niż 300 wierszy.

Wiedząc, że na początku musisz określić wymiary deski, jaka metoda byłaby dla Ciebie najlepsza (szybkość, stabilność itp.)?

Pomyślałem o zeskanowaniu całej nomenklatury, aby poznać liczbę wierszy, a następnie zdefiniować rozmiar tabeli (czy to możliwe?) ... Może są lepsze metody?

Dziękuję.

Klasa A+

Witam;

Jeśli dobrze rozumiem, chcesz zgromadzić wszystkie swoje BOM-y z zestawu w Excelu ... Zapisz pod szczegółowym BOM twojego głównego zespołu będzie musiał załatwić sprawę.
I dlaczego musisz znać liczbę linii... nie wydaje mi się to konieczne, jeśli masz kilka BOM-ów (nie rozumiem dlaczego), łatwo jest w Excelu "wkleić" ilość danych w "Następnym pustym wierszu":

Polecenia VBA (excel) służące do pobierania współrzędnych z następnego pustego wiersza to: (Na przykład):

'Retourne sur " derligne " le numéro de la prochaine ligne non vide (CTRL+ flèche bas)
derligne = Range("C1").End(xlDown).Row


derligne = Sheets("DATA").Range("E1048576").End(xlUp).Row
'Retourne sur " derligne " le numéro de DERNIERE ligne non vide


'Compte le nombre de lignes jusqu’à la dernière vide de la colonne
derligne = range("A" & rows.count).end(xlup).row


Pozdrowienia.

2 polubienia

Witam

Dziękuję za poświęcenie czasu na udzielenie mi odpowiedzi.

Nie, pracuję w zespole głównym z podzespołami i częściami, z pojedynczą nomenklaturą typu "lista z zakładkami" lub makrem, które krzyżuje się między zespołami.

Chcę więc przechowywać atrybuty w tabeli 2-wymiarowej, aby móc interweniować bezpośrednio w części w oprogramowaniu bez przechodzenia przez Excel.

Klasa A+

Witam

Tak więc poza programem Excel, w języku VBA, nie jest możliwa dynamiczna zmiana rozmiaru tabeli wielowymiarowej.

Musisz więc znać jego rozmiar od początku, skanując liczbę wierszy, a następnie stosując znalezioną wartość do zmiennej tablicowej.

W przeciwnym razie musisz pobawić się dwiema jednowymiarowymi zmiennymi tablicowymi i zsynchronizować ich wypełnianie .

1 polubienie

Witam;

Jeśli chcesz mieć liczbę kolumn i liczbę wierszy,

nNumCol = swTable.ColumnCount
nNumRow = swTable.RowCount

    Dim swView As SldWorks.View
    Dim swTable As SldWorks.TableAnnotation
    Dim swApp As SldWorks.SldWorks
    Dim swModel As SldWorks.ModelDoc2
    Dim swDraw As SldWorks.DrawingDoc

Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swDraw = swModel
Set swView = swDraw.GetFirstView

    Do While Not swView Is Nothing
        ' Show the name of the view
        '        Debug.Print "  " & swView.Name

        ' Get the first table annotation for this view
        Set swTable = swView.GetFirstTableAnnotation
        Do While Not swTable Is Nothing
            ProcessTable swApp, swModel, swTable
            ' Get next table annotation for this view
            Set swTable = swTable.GetNext
        Loop
        ' Get the next view
        Set swView = swView.GetNextView
    Loop

Set swAnn = swTable.GetAnnotation
    nNumCol = swTable.ColumnCount
    nNumRow = swTable.RowCount

Pozdrowienia.