[Tutor] help -Global name xxxxxxxx is not definied.
leon zaat
zaatlob at hotmail.com
Thu Aug 9 14:20:15 CEST 2012
Hello everyone,
Can anybody help me with this problem.
Ik have a program that i' am modifying.
Ik build a function to export data to a csv file. I tried the functions over different parts, that needed to be extracted.
The parts on it self worked fine. Now I put all parts in my function. Because there was a sections that was all alike for the parts, i thought to put it in a second function.
This is the code I written:
#------------------------------------------------------------------------------
# schrijven van de records
#------------------------------------------------------------------------------
def schrijfExportRecord():
sql1="";
sql1="Select huisnummer, huisletter, huisnummertoevoeging, postcode, gerelateerdeopenbareruimte from nummeraanduiding "
sql1a= "where aanduidingrecordinactief<> 'J' and"
hsql1=" einddatum > '" + dag + "' and identificatie = '" + hoofdadres + "'";
sql1= sql1 + sql1a + hsql1;
num= database.select(sql1);
for row in num:
huisnummer=row[0];
huisletter=row[1];
huisnummertoevoeging=row[2];
postcode=row[3];
gerelateerdeopenbareruimte=row[4];
sql2="Select openbareruimtenaam, gerelateerdewoonplaats from openbareruimte where aanduidingrecordinactief<> 'J'"
sql2= sql2 + "and einddatum > '" + dag + "' and identificatie = '" + gerelateerdeopenbareruimte + "'";
opn=database.select(sql2);
for row in database.select(sql2):
openbareruimtenaam=row[0];
gerelateerdewoonplaats=row[1];
sql3="Select woonplaatsnaam from woonplaats where aanduidingrecordinactief<> 'J'"
sql3= sql3 + "and einddatum > '" + dag + "' and identificatie = '" + gerelateerdewoonplaats + "'";
wpl=database.select(sql3);
for row in wpl:
woonplaatsnaam=row[0];
newrow=[identificatie, verblijfobjectgeometrie, huisnummer, huisletter, huisnummertoevoeging, postcode,openbareruimtenaam, woonplaatsnaam];
verblijfhoofd.writerow(newrow);
del wpl[:];
del opn[:];
del num[:];
#--------------------------------------------------------------------------------------
# Exporteer benodigde gegevens
#--------------------------------------------------------------------------------------
def ExportBestanden(self, event):
ofile=open(r'D:\bestanden\BAG\adrescoordinaten.csv', 'wb')
verblijfhoofd = csv.writer(ofile, delimiter=',',
quotechar='"', quoting=csv.QUOTE_NONNUMERIC)
dag=str(datetime.date.today());
sql4="Select adresseerbaarobjectnevenadres.identificatie, adresseerbaarobjectnevenadres.nevenadres from adresseerbaarobjectnevenadres where aanduidingrecordinactief<> 'J' order by adresseerbaarobjectnevenadres.identificatie"
neven= database.select(sql4);
for row in neven:
nidentificatie=row[0];
nevenadres=row[1];
sql="Select identificatie, hoofdadres, ligplaatsgeometrie from ligplaats where aanduidingrecordinactief<> 'J' and einddatum >'" + dag + "' and identificatie = '"+ nidentificatie + "'"
lig= database.select(sql);
for row in lig:
hoofdadres=nevenadres;
identificatie=row[0];
verblijfobjectgeometrie=row[2];
schrijfExportRecord(identificatie, hoofdadres, verblijfobjectgeometrie)
sql="Select identificatie, hoofdadres, verblijfsobjectgeometrie from verblijfsobject where aanduidingrecordinactief<> 'J' and einddatum >'" + dag + "' and identificatie = '"+ nidentificatie + "'"
vbo= database.select(sql);
for row in vbo:
hoofdadres=row[1];
identificatie=row[0];
verblijfobjectgeometrie=row[2];
schrijfExportRecord(identificatie, hoofdadres, verblijfobjectgeometrie)
sql="Select identificatie, hoofdadres, standplaatsgeometrie from standplaats where aanduidingrecordinactief<> 'J' and einddatum >'" + dag + "' and identificatie = '"+ nidentificatie + "'"
stand= database.select(sql);
for row in stand:
hoofdadres=nevenadres;
identificatie=row[0];
verblijfobjectgeometrie=row[2];
schrijfExportRecord(identificatie, hoofdadres, verblijfobjectgeometrie)
del stand[:];
del vbo[:];
del lig[:];
del neven[:];
sql="Select identificatie, hoofdadres, ligplaatsgeometrie from ligplaats where aanduidingrecordinactief<> 'J' and einddatum >'" + dag + "'"
lig= database.select(sql);
for row in lig:
hoofdadres=row[1];
identificatie=row[0];
verblijfobjectgeometrie=row[2];
schrijfExportRecord()
del lig[:];
sql="Select identificatie, hoofdadres, standplaatsgeometrie from standplaats where aanduidingrecordinactief<> 'J' and einddatum >'" + dag + "'"
stand= database.select(sql);
for row in stand:
hoofdadres=row[1];
identificatie=row[0];
verblijfobjectgeometrie=row[2];
schrijfExportRecord(identificatie, hoofdadres, verblijfobjectgeometrie)
del stand[:];
counterVBO=2;
identificatie='00000000';
while 1 < counterVBO:
hulpIdentificatie= identificatie;
sql="Select identificatie, hoofdadres, verblijfsobjectgeometrie from verblijfsobject where ";
sql= sql + "identificatie > '" + hulpIdentificatie ;
sql= sql + "' and aanduidingrecordinactief<> 'J' and einddatum >'" + dag + "' order by identificatie limit 100000";
vbo= database.select(sql);
if not vbo:
break;
else:
for row in vbo:
hoofdadres=row[1];
identificatie=row[0];
verblijfobjectgeometrie=row[2];
sql1="";
sql1="Select huisnummer, huisletter, huisnummertoevoeging, postcode, gerelateerdeopenbareruimte from nummeraanduiding "
sql1a= "where aanduidingrecordinactief<> 'J' and"
hsql1=" einddatum > '" + dag + "' and identificatie = '" + hoofdadres + "'";
sql1= sql1 + sql1a + hsql1;
num= database.select(sql1);
for row in num:
huisnummer=row[0];
huisletter=row[1];
huisnummertoevoeging=row[2];
postcode=row[3];
gerelateerdeopenbareruimte=row[4];
sql2="Select openbareruimtenaam, gerelateerdewoonplaats from openbareruimte where aanduidingrecordinactief<> 'J'"
sql2= sql2 + "and einddatum > '" + dag + "' and identificatie = '" + gerelateerdeopenbareruimte + "'";
opn=database.select(sql2);
for row in database.select(sql2):
openbareruimtenaam=row[0];
gerelateerdewoonplaats=row[1];
sql3="Select woonplaatsnaam from woonplaats where aanduidingrecordinactief<> 'J'"
sql3= sql3 + "and einddatum > '" + dag + "' and identificatie = '" + gerelateerdewoonplaats + "'";
wpl=database.select(sql3);
for row in wpl:
woonplaatsnaam=row[0];
newrow=[identificatie, verblijfobjectgeometrie, huisnummer, huisletter, huisnummertoevoeging, postcode,openbareruimtenaam, woonplaatsnaam];
verblijfhoofd.writerow(newrow);
del vbo[:];
ofile.close()
When i run the program i got the following message:
NameError: global name 'schrijfExportRecord' is not found
What I am doing wrong and how can i fix it?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20120809/45dfa97f/attachment-0001.html>
More information about the Tutor
mailing list