🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.bazy-danych.msaccess
Article #125043

Re: własne typy danych

#125043
From: siwy5
Date: Tue, 19 Aug 2008 12:25
77 lines
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-mail
References: <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