Tillbaka till svenska Fidonet
English   Information   Debug  
OS2BBS   0/787
OS2DOSBBS   0/580
OS2HW   0/42
OS2INET   0/37
OS2LAN   0/134
OS2PROG   0/36
OS2REXX   0/113
OS2USER-L   207
OS2   0/4784
OSDEBATE   0/18996
PASCAL   0/490
PERL   0/457
PHP   0/45
POINTS   0/405
POLITICS   0/29554
POL_INC   0/14731
PSION   103
R20_ADMIN   1117
R20_AMATORRADIO   0/2
R20_BEST_OF_FIDONET   13
R20_CHAT   0/893
R20_DEPP   0/3
R20_DEV   399
R20_ECHO2   1379
R20_ECHOPRES   0/35
R20_ESTAT   0/719
R20_FIDONETPROG...
...RAM.MYPOINT
  0/2
R20_FIDONETPROGRAM   0/22
R20_FIDONET   0/248
R20_FILEFIND   0/24
R20_FILEFOUND   0/22
R20_HIFI   0/3
R20_INFO2   2752
R20_INTERNET   0/12940
R20_INTRESSE   0/60
R20_INTR_KOM   0/99
R20_KANDIDAT.CHAT   42
R20_KANDIDAT   28
R20_KOM_DEV   112
R20_KONTROLL   0/13054
R20_KORSET   0/18
R20_LOKALTRAFIK   0/24
R20_MODERATOR   0/1852
R20_NC   76
R20_NET200   245
R20_NETWORK.OTH...
...ERNETS
  0/13
R20_OPERATIVSYS...
...TEM.LINUX
  0/44
R20_PROGRAMVAROR   0/1
R20_REC2NEC   534
R20_SFOSM   0/340
R20_SF   0/108
R20_SPRAK.ENGLISH   0/1
R20_SQUISH   107
R20_TEST   2
R20_WORST_OF_FIDONET   12
RAR   0/9
RA_MULTI   106
RA_UTIL   0/162
REGCON.EUR   0/2055
REGCON   0/13
SCIENCE   0/1206
SF   0/239
SHAREWARE_SUPPORT   0/5146
SHAREWRE   0/14
SIMPSONS   0/169
STATS_OLD1   0/2539.065
STATS_OLD2   0/2530
STATS_OLD3   0/2395.095
STATS_OLD4   0/1692.25
SURVIVOR   0/495
SYSOPS_CORNER   0/3
SYSOP   0/84
TAGLINES   0/112
TEAMOS2   0/4530
TECH   0/2617
TEST.444   0/105
TRAPDOOR   0/19
TREK   0/755
TUB   0/290
UFO   0/40
UNIX   0/1316
USA_EURLINK   0/102
USR_MODEMS   0/1
VATICAN   0/2740
VIETNAM_VETS   0/14
VIRUS   0/378
VIRUS_INFO   0/201
VISUAL_BASIC   0/473
WHITEHOUSE   0/5187
WIN2000   0/101
WIN32   0/30
WIN95   0/4276
WIN95_OLD1   0/70272
WINDOWS   0/1517
WWB_SYSOP   0/419
WWB_TECH   0/810
ZCC-PUBLIC   0/1
ZEC   4

 
4DOS   0/134
ABORTION   0/7
ALASKA_CHAT   0/506
ALLFIX_FILE   0/1313
ALLFIX_FILE_OLD1   0/7997
ALT_DOS   0/152
AMATEUR_RADIO   0/1039
AMIGASALE   0/14
AMIGA   0/331
AMIGA_INT   0/1
AMIGA_PROG   0/20
AMIGA_SYSOP   0/26
ANIME   0/15
ARGUS   0/924
ASCII_ART   0/340
ASIAN_LINK   0/651
ASTRONOMY   0/417
AUDIO   0/92
AUTOMOBILE_RACING   0/105
BABYLON5   0/17862
BAG   135
BATPOWER   0/361
BBBS.ENGLISH   0/382
BBSLAW   0/109
BBS_ADS   0/5290
BBS_INTERNET   0/507
BIBLE   0/3563
BINKD   0/1119
BINKLEY   0/215
BLUEWAVE   0/2173
CABLE_MODEMS   0/25
CBM   0/46
CDRECORD   0/66
CDROM   0/20
CLASSIC_COMPUTER   0/378
COMICS   0/15
CONSPRCY   0/899
COOKING   28257
COOKING_OLD1   0/24719
COOKING_OLD2   0/40862
COOKING_OLD3   0/37489
COOKING_OLD4   0/35496
COOKING_OLD5   9370
C_ECHO   0/189
C_PLUSPLUS   0/31
DIRTY_DOZEN   0/201
DOORGAMES   0/2007
DOS_INTERNET   0/196
duplikat   6000
ECHOLIST   0/18295
EC_SUPPORT   0/318
ELECTRONICS   0/359
ELEKTRONIK.GER   1534
ENET.LINGUISTIC   0/13
ENET.POLITICS   0/4
ENET.SOFT   0/11701
ENET.SYSOP   33802
ENET.TALKS   0/32
ENGLISH_TUTOR   0/2000
EVOLUTION   0/1335
FDECHO   0/217
FDN_ANNOUNCE   0/7068
FIDONEWS   23505
FIDONEWS_OLD1   0/49742
FIDONEWS_OLD2   0/35949
FIDONEWS_OLD3   0/30874
FIDONEWS_OLD4   0/37224
FIDO_SYSOP   12841
FIDO_UTIL   0/180
FILEFIND   0/209
FILEGATE   0/212
FILM   0/18
FNEWS_PUBLISH   4186
FN_SYSOP   41525
FN_SYSOP_OLD1   71952
FTP_FIDO   0/2
FTSC_PUBLIC   0/13569
FUNNY   0/4886
GENEALOGY.EUR   0/71
GET_INFO   105
GOLDED   0/408
HAM   0/16052
HOLYSMOKE   0/6791
HOT_SITES   0/1
HTMLEDIT   0/71
HUB203   466
HUB_100   264
HUB_400   39
HUMOR   0/29
IC   0/2851
INTERNET   0/424
INTERUSER   0/3
IP_CONNECT   719
JAMNNTPD   0/233
JAMTLAND   0/47
KATTY_KORNER   0/41
LAN   0/16
LINUX-USER   0/19
LINUXHELP   0/1155
LINUX   0/22010
LINUX_BBS   0/957
mail   18.68
mail_fore_ok   249
MENSA   0/341
MODERATOR   0/102
MONTE   0/992
MOSCOW_OKLAHOMA   0/1245
MUFFIN   0/783
MUSIC   0/321
N203_STAT   898
N203_SYSCHAT   313
NET203   321
NET204   69
NET_DEV   0/10
NORD.ADMIN   0/101
NORD.CHAT   0/2572
NORD.FIDONET   189
NORD.HARDWARE   0/28
NORD.KULTUR   0/114
NORD.PROG   0/32
NORD.SOFTWARE   0/88
NORD.TEKNIK   0/58
NORD   0/453
OCCULT_CHAT   0/93
Möte OSDEBATE, 18996 texter
 lista första sista föregående nästa
Text 2285, 169 rader
Skriven 2005-02-01 17:19:18 av Mike '/m' (1:379/45)
   Kommentar till text 2281 av Antti Kurenniemi (1:379/45)
Ärende: Re: Anyone handy with Access and ODBC?
==============================================
From: Mike '/m' <mike@barkto.com>

On Tue, 1 Feb 2005 13:34:50 +0200, "Antti Kurenniemi" <antti@anttik.com> wrote:

>"Mike '/m'" <mike@barkto.com> wrote in message
>news:05gtv0p13ad2jtsu63g4tadp4d5d0dla0m@4ax.com...
>> I'm confused.  You say you want: "I was thinking that it should probably
>> be
>> possible to connect directly from Access and just push the numbers to the
>> other database."
>>
>> Yet you also say: "but there were about 17 trillion hits, and most of them
>> seemed to be about how to open a MySQL database with Access which is not
>> what
>> I'm after."
>>
>> Those two seem to contradict each other, or am I just reading them wrong?
>
>No, I'm probably just explaining it badly. The latter means just using
>Access as a front-end for MySQL, but there's only one database (MySQL) open.
>What I need is a way to have data in Access and an open connection from that
>database (using VBA most likely) to MySQL. So two database connections from
>Access, one "native" and one through ODBC.
>
>
>> fwiw, I have used the MySQL ODBC connector to allow Access's VBA
>> to move data from an Access local database to a MySQL server on a
>> different machine.
>
>Yay, that's *exactly* what I mean. So it's possible, great. Easy? I can do
>ODBC stuff with other programming languages, but I haven't really done
>Access VBA programming, so that's the side I'm looking info for.


OK, here is my code and my comments on how to use it.  Big caveats - (1) I
learned Access VBA on this code, and (2) it was one-time only usage, so it just
had to work once while I watched it. In other words, it is ugly. References to
Bugzilla mean Bugzilla on MySQL.


==================================================================

I established a ODBC connection from Access to Bugzilla using MyODBC.
http://www.mysql.com/products/myodbc/

I linked the Bugzilla tables to Access using File|Get External Data| Link
Tables    (DO NOT use Get Data here).  Select all the tables.
Note that, for some reason, I have to unlink longDescs table, and relink it by
itself (i.e., not as part of a "select all").  If you don't do this, then, for
some reason, Access does not have write access to the table.  Whenever I was
prompted for an index field, I always accepts the default that Access
presented.

At this point, I have the single bug table in Access, an ODBC link to the
Bugzilla database, and a backup of the Bugzilla database.

I then run a VBA module in Access that copies the data from the Access table to
the Bugzilla tables.  That VBA module's source is at the end of this message.

Run a Sanity Check in Bugzilla, everything should look OK.  There may be some
Unsent mail.  If so, click the link to send it. (I could never figure out how
what value to set in Bugzilla to avoid the Unsent Mail warning in Sanity
Check).  Also, if you have a lot of unsent mail, it make take quite a while to
send it all.   Be patient.

I ran Sanity Check once or a twice a day for the first week, and it showed no
problems.

I realize the above has gapping holes in detail where I presumed you have prior
Access/ODBC/etc. knowledge.  This was not intended to be a detailed HOW-TO, but
more as a description of one approach to solving the problem.

And now, the conversion VBA code:

===================================================
Option Compare Database
Option Explicit


Public Function doConvert()


' leave the following commented out to trigger
' Access default error handling which puts up a nice dialog
' box and allows you to enter the VBA debugger
'On Error GoTo Error_Exit  ' what can possibly go wrong?

Dim localdb As Database   ' localdb is the Access bug database
                          '   with the ODBC links to Bugzilla
Dim rstOPEs As Recordset  ' Access table containing all the bugs Dim rstBZ As
Recordset    ' Bugzilla "bugs" table
Dim rstLD As Recordset    ' Bugzilla "longdescs" table



Set localdb = CurrentDb

' this is the Access denormalized bugs table
Set rstOPEs = localdb.OpenRecordset("OPEs")

' these are the Bugzilla tables on MySQL
Set rstBZ = localdb.OpenRecordset("bugs") Set rstLD =
localdb.OpenRecordset("longdescs")


rstOPEs.MoveFirst

 Do While Not rstOPEs.EOF

  ' only process open OPEs with priority > idle
  If IsNull(rstOPEs!CompletionDate) And rstOPEs!PriorityFKey > 1 Then

            rstBZ.AddNew
            rstLD.AddNew

            rstBZ!bug_id = rstOPEs!OPE_ID
            rstBZ!Short_Desc = rstOPEs!ShortDesc
            rstBZ!product_id = rstOPEs!bz_prod_id
            rstBZ!component_id = rstOPEs!bz_comp_id
            rstBZ!bug_severity = rstOPEs!bz_severity
            rstBZ!priority = rstOPEs!bz_priority
            rstBZ!creation_ts = rstOPEs!SubmitDate
            rstBZ!bug_status = "NEW"

            rstBZ!Version = "unspecified"
            rstBZ!everconfirmed = 1

            rstBZ!reporter = rstOPEs!bz_reporter
            rstBZ!qa_contact = 9
            rstBZ!assigned_to = 2

            rstLD!bug_id = rstOPEs!OPE_ID
            rstLD!who = rstOPEs!bz_reporter
            rstLD!bug_when = rstOPEs!SubmitDate
            rstLD!thetext = rstOPEs!VerboseDesc


            rstBZ.Update
            rstLD.Update




  End If

  rstOPEs.MoveNext
 Loop



Exit Function


Error_Exit:
    MsgBox ("An error occurred")

   Exit Function



End Function
===================================================

If you have any questions, don't expect me to know too much.  :-)

 /m

--- BBBS/NT v4.01 Flag-5
 * Origin: Barktopia BBS Site http://HarborWebs.com:8081 (1:379/45)