phpbar.de logo

Mailinglisten-Archive

Datenbank Design =?ISO-8859-1?Q?=E4ndern?=

Datenbank Design ändern

Oliver Six mysql_(at)_lists.phpcenter.de
Thu, 26 Jul 2001 16:07:16 +0200


"Michel Thomas" <thomas.michel_(at)_triacom.ch> wrote on 26.07.01 15:42:28:

>
>Hallo zusammen
>>ID menge1 zutat1 einheit1 menge2 zutat2 einheit2 
>>1 10 gurken kg 100 Kartoffeln stück 
>>wie kriege ich das nun AUTOMATISCH in diese from 
>
>>ID menge zutat einheit 
>>1 10 gurken kg 
>>1 1000 kartoffeln stück 
>
>><----- cut here ----->
>>sub convert()
>>
>>  dim rs as recordset
>>  dim s as string
>
>>  set rs = currentdb.openrecordset ("select * from old")
>>  while not rs.eof
>>    s = "insert into new (id,menge,zutat,stueck) values ("
>>    s = s + str(rs!id) + ","
>>    s = s + str(rs!menge1) + ","
>>    s = s + "'" + rs!zutat1 + "',"
>>    s = s + "'" + rs!einheit1 + "')"
>>    currentdb.execute s
>>    s = "insert into new (id,menge,zutat,stueck) values ("
>>    s = s + str(rs!id) + ","
>>    s = s + str(rs!menge2) + ","
>>    s = s + "'" + rs!zutat2 + "',"
>>    s = s + "'" + rs!einheit2 + "')"
>>    currentdb.execute s
>>    rs.movenext
>>  wend
>>  rs.close
>>end sub
>erstmals Danke !!
>Ich kann leider kein VBA bzw. zuwenig :) das ganze soll bis 20 gehen 
>das kann man sicher auch irgendwie mit einer Schlaufe lösen oder?
>
>mfG
>
>Thomas

Hi Thomas,

ja, das geht auch mit einer Schleife. Wahrscheinlich sind dann aber 
einige Felder auch NULL? Gehen wir einfach 'mal davon aus und erweitern 
das Ganze: 

<----- cut here ----->
sub convert()
 
  dim rs as recordset
  dim s as string
  dim t as string
  dim i as long
 
  set rs = currentdb.openrecordset("select * from old")
  while not rs.eof
    for i=1 to 20
      t = trim(str(i))
      if not isnull(rs.fields("menge" + t)) and _
        not isnull(rs.fields("zutat" + t)) and _
        not isnull(rs.fields("einheit" + t)) then
        s = "insert into new (id,menge,zutat,stueck) values ("
        s = s + str(rs!id) + ","
        s = s + str(rs.fields("menge" + t)) + ","
        s = s + "'" + rs.fields("zutat"+ t) + "',"
        s = s + "'" + rs.fields("einheit" + t) + "')"
        currentdb.execute s
      endif
    next
    rs.movenext
  wend
  rs.close
 
end sub
<----- cut here ----->

Ciao Oliver
--
Good programming is 40% experience, 30% skill, 20% RTFM, 10% caffeine, 
and 5% attention to detail. 

Oliver Six, CAHOS GmbH, Cimbernstr. 51, Germany 81377 Muenchen, Phone 
+49 89 71 01 93 40,  Fax +49 89 71 01 93 41 

---
!!NEU!!
Fragen und Antworten zu MySQL und dieser Liste unter
-->>  http://www.4t2.com/mysql 



php::bar PHP Wiki   -   Listenarchive