Forum Użytkownikow Subiekt GT
InsERT GT => Dodatki - zestawienia - sfera => Wątek zaczęty przez: TJozek w Luty 05, 2011, 12:05:43
-
Witam,
Przeszukałem już chyba wszystko i nic nie znalazłem.
Stworzyłem plik Excela do dodawania towarów do Subiekta w oparciu o mechanizmy Sfery.
Plik podaje praktycznie wszystko: grupy, cechy, ceny, nazwy, opisy, charakterystykę, producentów, SI, zdjęcia... etc.
Wszystko działa pięknie "ALE!", nie potrafię zmusić Excela aby wstawiane zdjęcie było głównym. Czyli konkretnie chodzi o TwZdjecie.Glowne.
Fragment kodu odpowiedzialnego za wstawianie zdjęć:
If Not LenB(Dir(nazwaPlikuZdjecia)) = 0 Or nazwaPlikuZdjecia = "" Or IsNull(nazwaPlikuZdjecia) Then
Dim fota As Insert.TwZdjecie
Set fota = oTw.Zdjecia.Dodaj(1)
fota.Zdjecie = nazwaPlikuZdjecia
End If
Proszę o pomoc co dopisać aby zdjęcie było wstawiane jako główne.
Z góry serdecznie dziękuję za pomoc.
-
fota.Glowne = True
-
fota.Glowne = True
Już to przerabiałem, niestety w przypadku takiego kodu:
If Not LenB(Dir(nazwaPlikuZdjecia)) = 0 Or nazwaPlikuZdjecia = "" Or IsNull(nazwaPlikuZdjecia) Then
Dim fota As Insert.TwZdjecie
Set fota = oTw.Zdjecia.Dodaj(1)
fota.Zdjecie = nazwaPlikuZdjecia
fota.Glowne = True
End If
Pokazuje się błąd:
"Run-time error '445': Object doesn't support this action"
-
Wieczorem będę przy kompie to Ci to sprawdze
-
zawsze moznaby to obejsc poprzez
update tw_ZdjecieTw set zd_Glowne = 1 where zd_Id = ID_WPISU_glownego_zdjecia
tyle, ze trzebaby sprawdzac zeby przypadkiem 2 zdjeciom nie ustawic znacznika "główne" , bo nigdy nie wiadomo czy jakieś więzy integralności się nie rozjadą
-
Trza napisać raczej:
oTw.Zdjecia.Element(1).Glowne = True
-
zawsze moznaby to obejsc poprzez
update tw_ZdjecieTw set zd_Glowne = 1 where zd_Id = ID_WPISU_glownego_zdjecia
tyle, ze trzebaby sprawdzac zeby przypadkiem 2 zdjeciom nie ustawic znacznika "główne" , bo nigdy nie wiadomo czy jakieś więzy integralności się nie rozjadą
Jest to jakieś rozwiązanie, tworząc podwójne zapytanie do MSSQL'a i dając LIMIT 1 problem ustawienia zdjęcia głównego dla wielu zdjęć jednego towaru znika :)
Trza napisać raczej:
oTw.Zdjecia.Element(1).Glowne = True
Nie da rady, "Glowne" jest atrybutem obiektu TwZdjecie a nie TwZdjecia.
-
Nie da rady, "Glowne" jest atrybutem obiektu TwZdjecie a nie TwZdjecia.
A twZdjecie jest elementem kolekcji twZdjecia i poprzez metodę Element wskazujemy właśnie obiekt TwZdjęcie.
Spróbowałeś chociaż ?
-
birds22, VBA ma mechanizm podpowiedzi możliwych do użycia w danym momencie metod, klas, objektów etc., i właśnie w tym momencie nie da się użyć tej metody. Sprawdź sam ;)
Spróbowałeś chociaż ?
Tak, zwraca ten sam błąd: "Run-time error '445': Object doesn't support this action"
Wydaje mi się że coś tu jest nie "halo" z tą metodą ze względu na fakt, że oscGT importując zdjęcia ze sklepu również nie ustawia ich jako główne... a robi to w końcu po przez Sferę...
Napiszę do Insertu, zobaczymy co oni na to...
-
Jakoś nie chciało mi się wierzyć i właśnie sam wykonałem to co napisałem. U mnie działa jak trzeba
Co do podpowiedzi - jeżeli będziesz tak pisał to po listowaniu elementów podpowiedzi brak.
Napisz sobie tak :
Dim fota_gl As Insert.TwZdjecie
Set fota_gl = oTw.Zdjecia.Element(1)
fota_gl.Glowne = True
Jest podpowiedź ?
-
birds22, rzeczywiście działa wyśmienicie, wielkie dzięki za pomoc!!! :)
Przyznaj tylko, że poprzedni zapis który proponowałeś: oTw.Zdjecia.Element(1).Glowne = True
nie jest prawidłowy i w ten sposób nie można się odwołać i podpowiedzi nie działają.
W ostatnim (działającym) kodzie wczytujesz element kolekcji do obiektu i wywołujesz już metodę związaną z tym obiektem - tak jest ok.
-
Na obu wersjach działa (sprawdzone u mnie na Ex2007). Nie wiem co Ty tam napisałeś, że nie działało.
Co do podpowiedzi po elementach kolekcji wystarczy wpisać kawałek kodu z arkuszami Excela np :
Worksheets(1). i podpowiedzi nie ma - to wcale nie znaczy, że metody dla arkusza roboczego nie działają.
BTW
Jak chcesz to prześlij mi na mail kawałek kodu gdzie się wykładało. Może dojdziemy gdzie jest błąd.
-
Moze mi ktoś wyjaśnić krok po kroku jak stworzyć samemu taki plik w exelu i jak to potem wrzucić do subiekta??
-
W katalogu gdzie jest Subiekt jest podkatalog Przyklady gdzie możesz zobaczyć jak to jest zrealizowane.
-
Dzień dobry!
Chciałem zapytać, jak w prosty sposób można zaktualizować wszystkie zdjęcia produktowe, jako główne (w każdym produkcie mam 1 zdjęcie)?
Czy można to zrobić poprzez zestawienie SQL czy w inny sposób?
Tworkin zaproponował:
update tw_ZdjecieTw set zd_Glowne = 1 where zd_Id = ID_WPISU_glownego_zdjecia
Czy to zadziała?
Z góry dzięki za pomoc!
-
A skąd się wzięły błędne dane w bazie danych ? Propozycja Tworkina zadziała tylko bez warunku.