Article View: pl.comp.bazy-danych.msaccess
Article #125043Re: własne typy danych
From: siwy5
Date: Tue, 19 Aug 2008 12:25
Date: Tue, 19 Aug 2008 12:25
77 lines
3477 bytes
3477 bytes
On 19 Sie, 13:27, "Krzysztof Naworyta" <k.nawor...@datacomp.com.pl>
wrote:
> siwy5 wrote:
>
> | Mam zadeklarowany swój typ danych dla uproszczenia
> | firma.ulica
> |
> | Teraz potrzebuje odwołać się do firma.ulica gdzie ta nazwa ulica
> | zaszyta jest w polu bazy
> | Mogoby to wyglądać np. tak
> | firma(rst.NazwaZmiennej) = "Rynek 40"
> | gdzie w rst.nazwaZmiennej zaszyte jest słowo ulica
> | Oczywiście to nie działa
>
> nie działa i raczej nie zadziała.
>
> Można własny typ danych zastapić własną klasą (choćby trywialną) z dodatkową
> właściwością Properties:
>
> ******* Class1 ****************
>
> Option Compare Database
> Option Explicit
>
> Public a As Integer 'Twoje zmienne
> Public b As Date
> Public c As String
>
> 'właściwość zwracająca wartość właściwości wg jej nazwy:
>
> Public Property Get Properties(sProperty As String) As Variant
> On Error Resume Next
> Set Properties = CallByName(Me, sProperty, VbGet)
> If Err = 13 Then
> Properties = CallByName(Me, sProperty, VbGet)
> Err.cler
> End If
> End Property
>
> 'właściwość ustawiająca wartość właściwości wg jej nazwy:
>
> Public Property Let Properties(sProperty As String, NewVal As Variant)
> If IsObject(NewVal) Then
> CallByName Me, sProperty, VbSet, NewVal
> Else
> CallByName Me, sProperty, VbLet, NewVal
> End If
> End Property
>
> ********************************
>
> i teraz gdzieś w innym module:
>
> Sub test()
> Dim x As Class1
> Set x = New Class1
>
> With x
> .Properties("a") = 4
> .Properties("b") = #1/1/2008#
> .Properties("c") = "Ala ma kota"
>
> Debug.Print x.a, x.b, x.c
>
> End With
>
> End Sub
>
> --
> KN
I to jest to o co mi chodziła ale ja robiłem to na zmiennej rekordowej
Jest jeszcze mały problem. Klasy nie widzi mi między plikami mdb
Mam trzy pliki, funkcje i zmienne są widoczne i działają a klasy nie
widzi w innym pliku niż jest zadeklarowana. Można to zmianić? obejść?
Pozdr
Daniel
Technical Details
Message-ID:
<62300dcf-45c1-4f28-b844-c1ea57e2d26e@f36g2000hsa.googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!feed.news.interia.pl!news.nask.pl!news.nask.org.pl!newsfeed00.sul.t-online.de!t-online.de!border2.nntp.dca.giganews.com!nntp.giganews.com!postnews.google.com!f36g2000hsa.googlegroups.com!not-for-mailReferences:
<aa40914b-1bdb-48bd-a013-a4e439a87ccc@8g2000hse.googlegroups.com> <g8eanc$ejh$1@news.onet.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!feed.news.interia.pl!news.nask.pl!news.nask.org.pl!newsfeed00.sul.t-online.de!t-online.de!border2.nntp.dca.giganews.com!nntp.giganews.com!postnews.google.com!f36g2000hsa.googlegroups.com!not-for-mail From: siwy5 <banasdaniel@poczta.onet.pl> Newsgroups: pl.comp.bazy-danych.msaccess Subject: Re: własne typy danych Date: Tue, 19 Aug 2008 05:25:05 -0700 (PDT) Organization: http://groups.google.com Lines: 81 Message-ID: <62300dcf-45c1-4f28-b844-c1ea57e2d26e@f36g2000hsa.googlegroups.com> References: <aa40914b-1bdb-48bd-a013-a4e439a87ccc@8g2000hse.googlegroups.com> <g8eanc$ejh$1@news.onet.pl> NNTP-Posting-Host: 87.105.53.73 Mime-Version: 1.0 X-Trace: posting.google.com 1219148706 28811 127.0.0.1 (19 Aug 2008 12:25:06 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Tue, 19 Aug 2008 12:25:06 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: f36g2000hsa.googlegroups.com; posting-host=87.105.53.73; posting-account=2H1BSAoAAADt5XeMBdV47foqa1rmVY0f User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; InfoPath.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648),gzip(gfe),gzip(gfe) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit