Créer une collection à partir d'une autre base

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

Créer une collection à partir d'une autre base

Messagepar FredB » 22 Jan 2010 à 10:07

Bonjour,

figurez-vous que, depuis une base X, je souhaite créer une collection de doc à partir d'une vue d'une base Y.
Et que j'y arrive pas !

Ce que j'ai tenté avec un Getview

Dim db1 As New NotesDatabase("Server","MaJolieBaseY.nsf")

Dim view As NotesView
Dim docCol As NotesDocumentCollection
Set view = db1.GetView( "Belle vue" )
Set docCol = view.GetAllDocumentsByKey( "Fred" )


Et çà me renvoie le fameux Object variable not set.

Une idée, une suggestion ?
[/b]

réflex immédiait à ce genre de de message :
1/ mettre une procédure de gestion d'erreur dans laquelle on fera apparaitre le n° de ligne (varial réservée erl)
2/ et identifier le comportement des objets et leur contenu : ne pas oublier le debugger et voir l'onglet où il y a les variables

quand on a fait cela.... c'est plus simple pour la correctiion
FredB
Premier posts
Premier posts
 
Message(s) : 13
Inscrit(e) le : 13 Mai 2009 à 07:37
Localisation : IdF

Messagepar stloje » 22 Jan 2010 à 10:34

le fait d'instancier l'objet NotesDatabase n'est pas suffisant pour ouvrir la base. Utilise plutôt le méthode Open et fait une vérification par la suite pour savoir si la base est ouverte.

Ex.
Code : Tout sélectionner
dim db1 as NotesDatabase
call db1.Open ("Serveur", "NomBase")
if db1.IsOpen = false then
    msgbox "Impossible d'ouvrir la base"
    exit sub
end if
Et vive le cambouis! Si t'en as jusque sous les bras, c'est parce que tu as cherché longuement la solution ou tout simplement parce que tu t'es vautré!
Avatar de l’utilisateur
stloje
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 335
Inscrit(e) le : 09 Sep 2008 à 13:18
Localisation : Orléans

Messagepar FredB » 22 Jan 2010 à 10:59

Merci stloje

Hélas l'autre base ne s'ouvre pas avec le code que tu proposes..... 'Object variable not set' sur db1.Open
FredB
Premier posts
Premier posts
 
Message(s) : 13
Inscrit(e) le : 13 Mai 2009 à 07:37
Localisation : IdF

Messagepar Michael DELIQUE » 22 Jan 2010 à 11:00

salut

regarde ce tips, il devrait t'aider => http://forum.dominoarea.org/connexion-a ... 10712.html
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar stloje » 22 Jan 2010 à 11:03

j'ai pas de poste dev actuellement et je donne du code à l'aveugle. J'ai oublié d'instancier db1 au départ.

Le code devrait être comme ceci :
Code : Tout sélectionner
dim db1 as new NotesDatabase ("", "")
call db1.Open ("Serveur", "NomBase")
if db1.IsOpen = false then
    msgbox "Impossible d'ouvrir la base"
    exit sub
end if
Et vive le cambouis! Si t'en as jusque sous les bras, c'est parce que tu as cherché longuement la solution ou tout simplement parce que tu t'es vautré!
Avatar de l’utilisateur
stloje
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 335
Inscrit(e) le : 09 Sep 2008 à 13:18
Localisation : Orléans

Messagepar FredB » 22 Jan 2010 à 11:43

Ok merci à tous les 2 j'vais puiser dans vos propositions sise-dessous.
FredB
Premier posts
Premier posts
 
Message(s) : 13
Inscrit(e) le : 13 Mai 2009 à 07:37
Localisation : IdF

Messagepar billbock » 22 Jan 2010 à 12:09

Code : Tout sélectionner
Function verificationbaseWithoutDoc(serveur As String,chemin As String) As notesdatabase
   '   cle : permet de faire un look up ds une vue
   Dim dbconn As notesdatabase
   Set dbconn = New NotesDatabase(serveur,chemin)
   If Not dbconn.IsOpen Then
      Set verificationbaseWithoutDoc =  Nothing
      Exit Function
   End If
   Set verificationbaseWithoutDoc =  dbconn
End Function
Avatar de l’utilisateur
billbock
Modérateur
Modérateur
 
Message(s) : 310
Inscrit(e) le : 15 Fév 2007 à 13:58
Localisation : paris

Messagepar Michael DELIQUE » 22 Jan 2010 à 12:45

salut billbock

le isopen n'est malheureusement pas fiable a 100%

pour ma part j'utilise cette fonction => http://forum.dominoarea.org/detecter-la ... 10711.html
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar stloje » 22 Jan 2010 à 13:57

Michael DELIQUE a écrit:salut billbock

le isopen n'est malheureusement pas fiable a 100%

pour ma part j'utilise cette fonction => http://forum.dominoarea.org/detecter-la ... 10711.html


A bien y penser, tu as raison Michael. Une base peut être ouverte sans qu'on puisse y accéder à cause de la LCA
Et vive le cambouis! Si t'en as jusque sous les bras, c'est parce que tu as cherché longuement la solution ou tout simplement parce que tu t'es vautré!
Avatar de l’utilisateur
stloje
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 335
Inscrit(e) le : 09 Sep 2008 à 13:18
Localisation : Orléans

Messagepar billbock » 22 Jan 2010 à 14:42

oui la fonction DBExists est tres bien
la mienne je l'utilise surtout dans des agents planifies avec un signataire qui à les droits qui vont bien
Avatar de l’utilisateur
billbock
Modérateur
Modérateur
 
Message(s) : 310
Inscrit(e) le : 15 Fév 2007 à 13:58
Localisation : paris

Messagepar oguruma » 25 Jan 2010 à 17:17

réflex immédiait à ce genre de de message :
1/ mettre une procédure de gestion d'erreur dans laquelle on fera apparaitre le n° de ligne (varial réservée erl)
2/ et identifier le comportement des objets et leur contenu : ne pas oublier le debugger et voir l'onglet où il y a les variables

quand on a fait cela.... c'est plus simple pour la correctiion
Bien à vous

http://www.dominoarea.org/oguruma/

Les téléphones PORTABLES dans les TGV y en a MARRRE de ces voyageurs qui ne respectent pas les autres ! ARRET DES PORTABLES SVP - Merci

Fumeurs ! respectez les non fumeurs !!!
Fumeurs ! respectez la loi de février 2007 et les lieux publics !!! (ie. hall de gares)
Avatar de l’utilisateur
oguruma
Super V.I.P.
Super V.I.P.
 
Message(s) : 4086
Inscrit(e) le : 16 Déc 2004 à 08:50
Localisation : LILLE

Messagepar FredB » 03 Fév 2010 à 14:46

oguruma
>> réflex immédiait à ce genre de de message :
1/ mettre une procédure de gestion d'erreur dans laquelle on fera apparaitre le n° de ligne (varial réservée erl)
2/ et identifier le comportement des objets et leur contenu : ne pas oublier le debugger et voir l'onglet où il y a les variables

Oui merci de ces conseils, en fait j'ai oublié de préciser que l'erreur est déclenchée sur la méthode GetAllDocumentsByKey
FredB
Premier posts
Premier posts
 
Message(s) : 13
Inscrit(e) le : 13 Mai 2009 à 07:37
Localisation : IdF

Messagepar stloje » 03 Fév 2010 à 15:25

Tu as remarqué si la vue est bien instanciée?
Et vive le cambouis! Si t'en as jusque sous les bras, c'est parce que tu as cherché longuement la solution ou tout simplement parce que tu t'es vautré!
Avatar de l’utilisateur
stloje
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 335
Inscrit(e) le : 09 Sep 2008 à 13:18
Localisation : Orléans

Messagepar FredB » 03 Fév 2010 à 15:37

Oui !! c'est bien çà stloje
Y a un pb de ce coté......
FredB
Premier posts
Premier posts
 
Message(s) : 13
Inscrit(e) le : 13 Mai 2009 à 07:37
Localisation : IdF

Messagepar stloje » 03 Fév 2010 à 15:40

Vérifie si le nom de la vue que tu veux accéder est bien orthographié.

Le plus simple est d'utiliser le synonyme plutôt que le nom de la vue.
Et vive le cambouis! Si t'en as jusque sous les bras, c'est parce que tu as cherché longuement la solution ou tout simplement parce que tu t'es vautré!
Avatar de l’utilisateur
stloje
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 335
Inscrit(e) le : 09 Sep 2008 à 13:18
Localisation : Orléans


Retour vers Développement

cron